[Linux] Glusterfs 설치 및 기본 사용법
- IT
- 2020. 6. 24.
실습 환경
hostname : gluster001 CentOS 7.8 - (IP : 192.168.56.102) |
hostname : gluster002 CentOS 7.8 - (IP : 192.168.56.104) |
hostname : linux-1 CentOS 7.8 - (IP : 192.168.56.101) |
Disk(sdc) 추가 |
Disk(sdc) 추가 |
. |
사전작업
모든 서버의 /etc/hosts 파일에 각 서버의 정보를 입력합니다.(DNS 등록이 되어있으면 생략하시면 됩니다.)
192.168.56.101 linux-1
192.168.56.102 gluster001
192.168.56.104 gluster002
Node1, 2번에 추가한 디스크 포맷 후 마운트 해줍니다.
[root@gluster001 ~]# df -h | grep gluster
/dev/sdc1 1020M 33M 988M 4% /mnt/gluster001/data
[root@gluster002 ~]# df -h | grep gluster
/dev/sdc1 1020M 33M 988M 4% /mnt/gluster002/data
Glusterfs 설치
아래 명령어로 gluster repository를 추가합니다(node1,2 모두에서 진행)
yum install centos-release-gluster
glusterfs 패키지 설치
yum install -y glusterfs*
설치 확인
[root@gluster001 yum.repos.d]# rpm -qa | grep glusterfs
glusterfs-client-xlators-7.5-1.el7.x86_64
glusterfs-thin-arbiter-7.5-1.el7.x86_64
glusterfs-cloudsync-plugins-7.5-1.el7.x86_64
glusterfs-7.5-1.el7.x86_64
glusterfs-api-7.5-1.el7.x86_64
glusterfs-devel-7.5-1.el7.x86_64
glusterfs-cli-7.5-1.el7.x86_64
glusterfs-fuse-7.5-1.el7.x86_64
glusterfs-server-7.5-1.el7.x86_64
glusterfs-resource-agents-7.5-1.el7.noarch
glusterfs-api-devel-7.5-1.el7.x86_64
glusterfs-events-7.5-1.el7.x86_64
glusterfs-coreutils-0.3.1-3.el7.x86_64
glusterfs-libs-7.5-1.el7.x86_64
glusterfs-extra-xlators-7.5-1.el7.x86_64
glusterfs-geo-replication-7.5-1.el7.x86_64
glusterfs-rdma-7.5-1.el7.x86_64
Glusterfs 구동
glusterd 데몬 구동 및 부팅시 자동 실행되도록 설정(node1,2 모두에서 진행)
systemctl start glusterd
systemctl enable glusterd
Storage Pool 구성
glusterfs 파일 시스템을 구성하기 위해 서버를 등록합니다.
현재 node1에서 실습 진행 중이며 node1 로컬 서버는 별도 등록을 해주지 않습니다.
gluster peer probe gluster002
확인
gluster peer status
node001에서 확인한 결과
[root@gluster001 yum.repos.d]# gluster peer status
Number of Peers: 1
Hostname: gluster002
Uuid: 21456db0-ca63-4fcd-a556-fdd44007406d
State: Peer in Cluster (Connected)
node002에서 확인한 결과
[root@gluster002 ~]# gluster peer status
Number of Peers: 1
Hostname: gluster001
Uuid: 0fd1ec69-bead-4f2c-9b70-0cc09169cb17
State: Peer in Cluster (Connected)
Distributed Volume 생성
다음은 볼륨 생성 단계입니다, 여러 종류의 볼륨이 있는데 이번 포스팅에서는 가장 기본적인 Distributed Volume 타입이르 생성해보겠습니다.
아래와 같이 볼륨 생성 명령어를 실행했는데 에러가 발생했네요
[root@gluster001 yum.repos.d]# gluster volume create service_volume gluster001:/mnt/gluster001/data gluster002:/mnt/gluster002/data
volume create: service_volume: failed: The brick gluster001:/mnt/gluster001/data is a mount point. Please create a sub-directory under the mount point and use that as the brick directory. Or use 'force' at the end of the command if you want to override this behavior.
glusterfs에는 Brick이라는 용어가 나오는데요 간단히 볼륨이라고 보시면 되고요,
에러 메시지를 보면 gluster001:/mnt/gluster001/data가 Brick 즉, 볼륨이 아니고 마운트 포인트라고 하네요.
그럼 마운트 포인트 하위에 디렉터리를 하나 더 만들어 주고 해당 경로로 볼륨 생성해 보겠습니다.
node1,2 각 서버의 마운트 경로에 "vol_1"이라는 디렉터리를 생성합니다.
그리고 다시 gluster 볼륨을 생성해 보겠습니다.
정상적으로 생성이 되었습니다
[root@gluster001 data]# gluster volume create service_volume gluster001:/mnt/gluster001/data/vol_1 gluster002:/mnt/gluster002/data/vol_1
volume create: service_volume: success: please start the volume to access data
확인
[root@gluster001 data]# gluster volume info
Volume Name: service_volume
Type: Distribute
Volume ID: 934fdf10-3079-4824-a6cf-944f8c5e7c2d
Status: Created
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: gluster001:/mnt/gluster001/data/vol_1
Brick2: gluster002:/mnt/gluster002/data/vol_1
Options Reconfigured:
transport.address-family: inet
storage.fips-mode-rchecksum: on
nfs.disable: on
Volume 서비스 시작
볼륨을 사용하기 위해 서비스를 시작합니다.
[root@gluster001 data]# gluster volume start service_volume
volume start: service_volume: success
Volume Name: service_volume
Type: Distribute
Volume ID: 934fdf10-3079-4824-a6cf-944f8c5e7c2d
Status: Started
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: gluster001:/mnt/gluster001/data/vol_1
Brick2: gluster002:/mnt/gluster002/data/vol_1
Options Reconfigured:
transport.address-family: inet
storage.fips-mode-rchecksum: on
nfs.disable: on
[root@gluster001
클라이언트(linux-1)에서 glusterfs 볼륨 마운트
마찬가지로 아래 명령어로 gluster repository를 추가합니다.
yum install centos-release-gluster
glusterfs 클라이언트 패키지를 받습니다.
yum install glusterfs-client
마운트를 위해 마운트 디렉토리를 생성합니다
mkdir /mnt/gluster_test
glusterfs 볼륨을 마운트 합니다.
(gluster001,002 아무 서버로 연결해도 모두 가능합니다.)
mount -t glusterfs gluster001:/service_volume /mnt/gluster_test
df -h 확인
각각 1G 공간이 합쳐 저서 2G가 된 것을 확인할 수 있습니다.
gluster001:service_volume 2.0G 86M 2.0G 5% /mnt/gluster_test
테스트로 파일 10개를 생성하고 실제 파일 위치가 어딘지 확인해 보겠습니다.
[root@linux-1 gluster_test]# touch 1 2 3 4 5 6 7 8 9
[root@linux-1 gluster_test]# ls
1 2 3 4 5 6 7 8 9
gluster001
[root@gluster001 vol_1]# pwd
/mnt/gluster001/data/vol_1
[root@gluster001 vol_1]# ls
1 5 7 8 9
gluster002
[root@gluster002 vol_1]# pwd
/mnt/gluster002/data/vol_1
[root@gluster002 vol_1]# ls
2 3 4 6
파일이 쪼개져서 보관되는 형태가 아닌 원본 형태 그대로 유지되어 임의의 서버에 저장이 되는 구조로 확인이 됩니다
'IT' 카테고리의 다른 글
[linux] nslookup 예제 정리 (0) | 2020.07.01 |
---|---|
[Linux] Apache Kafka(아파치 카프카) 설치 (0) | 2020.06.26 |
[Linux] SSL 인증서 만료일 확인 (0) | 2020.06.17 |
[Linux] find 명령어 예제 (0) | 2020.06.16 |
[linux] split 명령어로 파일 분할하기 (0) | 2020.06.10 |