목차

이강우 2015/07/29 16:53

GlusterFS Quick Start

본 문서의 내용은 원분문서 http://gluster.readthedocs.org/en/latest/Quick-Start-Guide/Quickstart/의 내용을 참고하였습니다.

환경

설치

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

볼륨이 정상적으로 마운트 되는것을 확인 할 수 있습니다.