— 이강우 2015/07/29 16:53
GlusterFS Quick Start
본 문서의 내용은 원분문서 http://gluster.readthedocs.org/en/latest/Quick-Start-Guide/Quickstart/의 내용을 참고하였습니다.
환경
- 본 내용은 CentOS 7 에서 작성되었습니다.
- GlusterFS를 사용하기 위해서는 최소 2개 이상의 노드가 필요합니다.
- 또한 구축된 GlusterFS를 테스트 해보기 위한 별도의 노드가 있으면 더 좋겠습니다.
- GlusterFS로 서비스하기 위한 볼륨은 OS볼륨과 별도의 볼륨으로 되어있는게 좋습니다. 물론 같은 볼륨으로도 서비스는 가능합니다.
설치
- GlusterFS 노드 2개를 각각 gluster1, gluster2 로 설치하도록 하겠습니다.
- GlusterFS를 사용하기 위한 추가 라이브러리가 필요하므로 EPEL Repository를 등록하여야 합니다.
- GlusterFS를 설치하기 위한 Gluster.org Repository를 등록하여야 합니다.
OS설치
일반적인 OS설치와 마찬가지로 CentOS 7버전을 각각 gluster1, gluster2 서버에 설치합니다.
Repository 설정
GlusterFS를 사용하기 위한 추가 라이브러리가 필요하므로 EPEL Repository를 설정합니다.
:!:gluster1, gluster2 양쪽 서버에 모두 적용하도록 합니다.
[root@gluster1 ~]# yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
또한 GlusterFS를 설치하기 위한 Gluster.org Repository를 설정합니다.
별도의 릴리즈 패키지를 제공하지 않고 repo 파일을 공식 홈페이지에서 제공합니다. 해당 repo파일을 /etc/yum.repos.d 에 설정하도록 합니다.
:!:gluster1, gluster2 양쪽 서버에 모두 적용하도록 합니다.
[root@gluster1 ~]# cd /etc/yum.repos.d/ [root@gluster1 ~]# wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-epel.repo
GlusterFS-server 설치
레포지토리 설정이 완료되면 간단하게 아래 명령어를 통해서 패키지를 설치할 수 있습니다.
:!:gluster1, gluster2 양쪽 서버에 모두 적용하도록 합니다.
[root@gluster1 ~]# yum install glusterfs-server
설치가 완료되면 Gluster 데몬을 기동하여 정상 기동되는지 확인하도록 합니다.
[root@gluster1 ~]# systemctl start glusterd [root@gluster1 ~]# systemctl status glusterd glusterd.service - GlusterFS, a clustered file-system server Loaded: loaded (/usr/lib/systemd/system/glusterd.service; disabled) Active: active (running) since Wed 2015-07-29 14:15:48 KST; 8s ago Process: 2270 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid (code=exited, status=0/SUCCESS) Main PID: 2271 (glusterd) CGroup: /system.slice/glusterd.service └─2271 /usr/sbin/glusterd -p /var/run/glusterd.pid Jul 29 14:15:48 gluster1 systemd[1]: Starting GlusterFS, a clustered file-system server... Jul 29 14:15:48 gluster1 systemd[1]: Started GlusterFS, a clustered file-system server.
Gluster 구성
설치가 완료되고 데몬이 정상적으로 기동되면 다음으로 Gluster를 구성해보도록 합니다.
Gluster를 구성하기 전에 모든 노드를 /etc/hosts에 등록하여 줍니다.
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.74.133 gluster1 192.168.74.134 gluster2
위와같이 /etc/hosts에 각 노드를 등록한 후 노드간에 피어 인식 작업을 진행합니다.
[root@gluster1 ~]# gluster peer probe gluster2 peer probe: success.
Peer간 인식 작업이 끝나고 나면 본격적으로 GlusterFS 볼륨을 생성합니다.
[root@gluster1 ~]# gluster volume create gv01 replica 2 gluster1:/data/brick01 gluster2:/data/brick01 force volume create: gv01: success: please start the volume to access data [root@gluster1 ~]# gluster volume info Volume Name: gv01 Type: Replicate Volume ID: e586cfd4-f75a-4c87-afa7-2c643cee0eca Status: Created Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: gluster1:/data/brick01 Brick2: gluster2:/data/brick01 Options Reconfigured: performance.readdir-ahead: on
위에서 생성한 GlusterFS 볼륨 “gv01”은 replica 형태의 2개 brick으로 구성된 볼륨을 구성한것입니다.
볼륨을 구성한 후 활성화를 시켜줍니다.
[root@gluster1 ~]# gluster volume start gv01
여기까지 진행하게 되면 GlusterFS 볼륨 생성 및 서버 구성이 완료된것입니다.
테스트
이제 구성된 GlusterFS 볼륨을 가져다가 사용하는 테스트를 진행해 봅니다.
별도의 서버에 GlusterFS를 사용하기 위한 패키지를 설치합니다.
여기도 마찬가지로 EPEL과 Gluster.org repository가 설정되어있어야 합니다.
[root@gluster0 ~]# yum -y install glusterfs-client
패키지 설치가 완료되면 아래의 명령어로 GlusterFS 볼륨을 마운트해서 테스트 해봅니다.
[root@gluster0 glusterfs]# mount -t glusterfs gluster1:/gv01 /mnt [root@gluster0 glusterfs]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 19G 1.1G 18G 6% / devtmpfs 233M 0 233M 0% /dev tmpfs 242M 0 242M 0% /dev/shm tmpfs 242M 4.5M 237M 2% /run tmpfs 242M 0 242M 0% /sys/fs/cgroup /dev/sda1 497M 162M 336M 33% /boot gluster1:/gv01 18G 1.2G 17G 7% /mnt
볼륨이 정상적으로 마운트 되는것을 확인 할 수 있습니다.