CentOS 7 에서 GlusterFS 설치 (단일 서버)
GlusterFS 를 RAID 와 같은 여러가지 형태로 구성 가능하지만 본 매뉴얼에서는 단일 서버로 서비스하는 방법에 대해 기술하였습니다.
[사전 작업]
서버에 추가 Disk 를 연결하고 /data 디렉토리로 마운트 했습니다.
그리고 마운트 디렉토리 안에 gv0 이라는 Brick 디렉토리를 생성해 두었습니다.
Brick 디렉터리는 GlusterFS 볼륨에서 데이터를 저장하는 디렉터리를 뜻합니다.
- /data/gv0
1. 설치
호스트 명을 변경합니다.
# hostnamectl set-hostname gnode
호스트를 등록 합니다.
# vi /etc/hosts
127.0.0.1 localhost gnode |
GlusterFS 설치를 위한 Repository 를 등록해줍니다.
등록은 yum 로 간단히 할 수 있습니다.
# yum -y install centos-release-gluster
GlusterFS 패키지를 설치합니다.
# yum -y install glusterfs glusterfs-libs glusterfs-server
서버 부팅시 glusterd 데몬이 자동 구동 되도록 하고, 현재 세션에서도 구동시켜줍니다.
# systemctl enable --now glusterd
설치된 버전을 확인합니다.
# glusterd --version
glusterfs 9.6
Repository revision: git://git.gluster.org/glusterfs.git
Copyright (c) 2006-2016 Red Hat, Inc. <https://www.gluster.org/>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
It is licensed to you under your choice of the GNU Lesser
General Public License, version 3 or any later version (LGPLv3
or later), or the GNU General Public License, version 2 (GPLv2),
in all cases as published by the Free Software Foundation.
2. 볼륨 생성
Cluster Pool 을 구성합니다.
여러대로 구성할 경우 본 서버가 아닌 다른 서버를 peer 로 등록해야 하지만, 단일 서버로 구성할 예정이므로 추가할 peer 가 없습니다.
Pool 을 구성하는 peer 리스트를 확인합니다.
# gluster pool list
UUID Hostname State
eb4dba8d-df9a-4471-962a-103200830683 localhost Connected
볼륨을 구성합니다.
# gluster volume create gv0 gnode:/data/gv0
volume create: gv0: success: please start the volume to access data
* 에러 출력시
volume create: gv0: failed: The brick gnode:/data/gv0 is being created in the root partition. It is recommended that you don't use the system's root partition for storage backend. Or use 'force' at the end of the command if you want to override this behavior.
위와 같은 에러 메세지는 별도의 파티션 디렉토리가 아니고 루트 (/) 파티션에서 생성한 디렉토리에서 볼륨을 구성할때 경고 메세지가 출력되는 것입니다. 추가 디스크나 별도의 파티션을 추가하지 않았지만 테스트 목적으로 구성하고 싶다면, 명령 뒤에 force 문자를 추가하여 실행할 수 있습니다.
예) gluster volume create gv0 gnode:/data/gv0 force
gv0 볼륨을 시작합니다.
# gluster volume start gv0
volume start: gv0: success
gv0 볼륨 상태를 확인합니다.
# gluster volume info gv0
Volume Name: gv0
Type: Distribute
Volume ID: 5aeec667-d4f8-433c-8fec-91ae275569ea
Status: Started
Snapshot Count: 0
Number of Bricks: 1
Transport-type: tcp
Bricks:
Brick1: gnode:/data/gv0
Options Reconfigured:
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on
3. Client 마운트
GlusterFS 에서는 몇가지 마운트 방법을 제공합니다. GlusterFS (FUSE), NFS, iSCSI, SMB 방식인데 여기에서는 일반적인 FUSE 방식을 설명하겠습니다.
Client 에서 마운트에 필요한 패키지를 설치하고 마운트를 합니다.
GlusterFS 서버를 찾을 수 있도록 도메인을 연결하면 좋겠지만 현재 테스트 환경에서는 hosts 파일을 이용하였으므로 Client 에서도 찾을 수 있도록 /etc/hosts 파일에 아래 내용을 작성해 줍니다.
# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain 192.168.10.10 gnode |
클라이언트 패키지를 설치하고 마운트를 합니다.
# yum -y install glusterfs-client // CentOS 명령어 이므로 Ubuntu 사용자는 apt 명령 사용
# mkdir /backup
# mount -t glusterfs gnode:/gv0 /backup
# df -h
파일 시스템 크기 사용 가용 사용% 마운트위치
tmpfs 1.5G 2.3M 1.5G 1% /run
/dev/sda2 214G 29G 174G 15% /
tmpfs 7.3G 66M 7.3G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.5G 192K 1.5G 1% /run/user/1000
gnode:/gv0 10G 135M 9.9G 2% /backup
* 참고
디렉토리에 쿼터를 적용하는 방법이나 GlusterFS 를 RAID 서버와 같이 여러대로 구성하는 방법은 아래 포스팅을 참고해주세요.
https://sysdocu.tistory.com/1821
'리눅스 > OS 일반' 카테고리의 다른 글
리눅스에서 현재 세션의 명령 히스토리만 삭제하기 (0) | 2023.10.17 |
---|---|
Ubuntu 22.04 에서 Ansible 2.10.8 설치 및 설정, 플레이북 활용 (0) | 2023.10.12 |
dd 명령어로 파일 생성하기 (0) | 2023.06.20 |
리눅스 CLI 에서 Github 원격지 리포지토리 (repogitory) 소스코드 다운로드하기 (Public / Private) (0) | 2023.06.16 |
CentOS 7 에서 GlusterFS 를 yum 으로 설치하기 (각종 구성 방법) (0) | 2023.06.07 |