CentOS 7 에서 GlusterFS 설치 (단일 서버)

리눅스/OS 일반|2023. 7. 12. 15:55
반응형

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

 

반응형

댓글()