스토리지 설정 · 3 min read · Feb 06, 2026

Mandriva 2010.0에서 GlusterFS로 고가용성 스토리지 설정 - 두 스토리지 서버 간 자동 파일 복제 - 페이지 2

3 GlusterFS 클라이언트 설정

client1.example.com:

클라이언트에서 GlusterFS 클라이언트를 다음과 같이 설치할 수 있습니다:

urpmi glusterfs-client glusterfs-server

그런 다음 다음 디렉토리를 생성합니다:

mkdir /mnt/glusterfs

다음으로 파일 /etc/glusterfs/glusterfs.vol를 생성합니다:

vi /etc/glusterfs/glusterfs.vol

| volume remote1 type protocol/client option transport-type tcp option remote-host server1.example.com option remote-subvolume brick end-volume volume remote2 type protocol/client option transport-type tcp option remote-host server2.example.com option remote-subvolume brick end-volume volume replicate type cluster/replicate subvolumes remote1 remote2 end-volume volume writebehind type performance/write-behind option window-size 1MB subvolumes replicate end-volume volume cache type performance/io-cache option cache-size 512MB subvolumes writebehind end-volume |

옵션 remote-host 줄에서 올바른 서버 호스트 이름 또는 IP 주소를 사용해야 합니다!

그게 전부입니다! 이제 다음 두 명령 중 하나를 사용하여 GlusterFS 파일 시스템을 /mnt/glusterfs에 마운트할 수 있습니다:

glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/glusterfs

또는

mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs

이제 다음의 출력에서 새로운 공유를 볼 수 있어야 합니다…

mount
[root@client1 administrator]# mount  
/dev/sda1 on / type ext4 (rw,relatime)  
none on /proc type proc (rw)  
/dev/sda6 on /home type ext4 (rw,relatime)  
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)  
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)  
nfsd on /proc/fs/nfsd type nfsd (rw)  
/etc/glusterfs/glusterfs.vol on /mnt/glusterfs type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)  
[root@client1 administrator]#

… 그리고…

df -h
[root@client1 administrator]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/sda1              12G  1.5G  9.8G  13% /  
/dev/sda6              16G  172M   16G   2% /home  
/etc/glusterfs/glusterfs.vol  
                       29G  1.7G   26G   6% /mnt/glusterfs  
[root@client1 administrator]#

( server1.example.com과 server2.example.com 각각 GlusterFS 파일 시스템을 위한 29GB의 공간을 가지고 있지만, 데이터가 미러링되기 때문에 클라이언트는 58GB(2 x 29GB)가 아닌 29GB만 볼 수 있습니다.)

클라이언트에서 GlusterFS 공유를 수동으로 마운트하는 대신, /etc/fstab을 수정하여 클라이언트 부팅 시 공유가 자동으로 마운트되도록 할 수 있습니다.

/etc/fstab을 열고 다음 줄을 추가합니다:

vi /etc/fstab

| [...] /etc/glusterfs/glusterfs.vol /mnt/glusterfs glusterfs defaults 0 0 |

수정된 /etc/fstab이 작동하는지 테스트하려면 클라이언트를 재부팅합니다:

reboot

재부팅 후, 다음의 출력에서 공유를 찾아야 합니다…

df -h

… 그리고…

mount

4 테스트

이제 GlusterFS 공유에 테스트 파일을 생성해 보겠습니다:

client1.example.com:

touch /mnt/glusterfs/test1  
touch /mnt/glusterfs/test2

이제 server1.example.com 및 server2.example.com의 /data/export 디렉토리를 확인해 보겠습니다. test1 및 test2 파일이 각 노드에 있어야 합니다:

server1.example.com/server2.example.com:

ls -l /data/export
[root@server1 administrator]# ls -l /data/export  
total 0  
-rw-r--r-- 1 root root 0 2009-12-18 15:37 test1  
-rw-r--r-- 1 root root 0 2009-12-18 15:37 test2  
[root@server1 administrator]#

이제 server1.example.com을 종료하고 client1.example.com의 GlusterFS 공유에서 파일을 추가/삭제합니다.

server1.example.com:

shutdown -h now

client1.example.com:

touch /mnt/glusterfs/test3  
touch /mnt/glusterfs/test4  
rm -f /mnt/glusterfs/test2

변경 사항은 server2.example.com의 /data/export 디렉토리에서 확인할 수 있어야 합니다:

server2.example.com:

ls -l /data/export
[root@server2 administrator]# ls -l /data/export  
total 0  
-rw-r--r-- 1 root root 0 2009-12-18 15:37 test1  
-rw-r--r-- 1 root root 0 2009-12-18 15:39 test3  
-rw-r--r-- 1 root root 0 2009-12-18 15:39 test4  
[root@server2 administrator]#

server1.example.com을 다시 부팅하고 /data/export 디렉토리를 살펴보겠습니다:

server1.example.com:

ls -l /data/export
[root@server1 administrator]# ls -l /data/export  
total 0  
-rw-r--r-- 1 root root 0 2009-12-18 15:37 test1  
-rw-r--r-- 1 root root 0 2009-12-18 15:37 test2  
[root@server1 administrator]#

보시다시피, server1.example.com은 다운되었을 때 발생한 변경 사항을 인식하지 못했습니다. 이를 쉽게 수정할 수 있으며, 우리가 해야 할 일은 client1.example.com의 GlusterFS 공유에서 읽기 명령을 호출하는 것입니다. 예:

client1.example.com:

ls -l /mnt/glusterfs/
[root@client1 administrator]# ls -l /mnt/glusterfs/  
total 0  
-rw-r--r-- 1 root root 0 2009-12-18 15:37 test1  
-rw-r--r-- 1 root root 0 2009-12-18 15:39 test3  
-rw-r--r-- 1 root root 0 2009-12-18 15:39 test4  
[root@client1 administrator]#

이제 server1.example.com의 /data/export 디렉토리를 다시 확인해 보세요. 변경 사항이 해당 노드에 복제되었음을 확인할 수 있습니다:

server1.example.com:

ls -l /data/export
[root@server1 administrator]# ls -l /data/export  
total 0  
-rw-r--r-- 1 root root 0 2009-12-18 15:37 test1  
-rw-r--r-- 1 root root 0 2009-12-18 15:39 test3  
-rw-r--r-- 1 root root 0 2009-12-18 15:39 test4  
[root@server1 administrator]#

5 링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.