스토리지 설정 · 4 min read · Jan 19, 2026

우분투 18.04 LTS에서 GlusterFS를 이용한 고가용성 스토리지

Glusterfs는 여러 페타바이트로 확장할 수 있고 수천 개의 클라이언트를 처리할 수 있는 확장 가능한 네트워크 파일 시스템입니다. 이는 여러 서버의 디스크 스토리지 리소스를 단일 네임스페이스로 설정하는 오픈 소스 분산 파일 시스템입니다. 클라우드 스토리지 및 데이터 미디어 스트리밍과 같은 데이터 집약적인 작업에 적합합니다.

이 튜토리얼에서는 우분투 18.04 LTS (Bionic Beaver)에서 GlusterFS를 사용하여 고가용성 스토리지 서버를 설정하는 방법을 보여드리겠습니다. 3개의 우분투 서버를 사용할 것이며, 1개 서버는 클라이언트로, 나머지 2개는 스토리지로 사용할 것입니다. 각 스토리지 서버는 서로의 미러가 되며, 파일은 두 스토리지 서버에 걸쳐 복제됩니다.

전제 조건

  • 3개의 우분투 18.04 서버 - 10.0.15.10 - gfs01
  • 10.0.15.11 - gfs02
  • 10.0.15.12 - client01
  • 루트 권한

우리가 할 일은?

  1. GlusterFS 사전 설치
  2. GlusterFS 서버 설치
  3. GlusterFS 서버 구성
  4. GlusterFS 클라이언트 설정
  5. 복제/미러링 테스트

1단계 - GlusterFS 사전 설치

모든 서버에 glusterfs를 설치하기 전에 해야 할 첫 번째 단계는 호스트 파일을 구성하고 각 서버에 GlusterFS 저장소를 추가하는 것입니다.

호스트 파일 구성

각 서버에 로그인하고 ‘sudo su’ 명령으로 루트 접근 권한을 얻은 후, ‘/etc/hosts’ 파일을 편집합니다.

vim /etc/hosts

아래의 호스트 구성을 붙여넣습니다.

10.0.15.10 gfs01
10.0.15.11 gfs02
10.0.15.12 client01

저장하고 종료합니다.

이제 아래와 같이 호스트 이름을 사용하여 각 서버에 ping을 보냅니다.

ping -c 3 gfs01  
ping -c 3 gfs02  
ping -c 3 client01

각 호스트 이름은 각 서버 IP 주소로 해결됩니다.

호스트 파일 구성

GlusterFS 저장소 추가

소프트웨어 속성 공통 패키지를 시스템에 설치합니다.

sudo apt install software-properties-common -y

아래 명령을 실행하여 glusterfs 키와 저장소를 추가합니다.

wget -O- https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | apt-key add -  
sudo add-apt-repository ppa:gluster/glusterfs-3.12

이 명령은 모든 저장소를 업데이트합니다. 그리고 우리는 이미 모든 시스템에 glusterfs 저장소를 추가했습니다.

GlusterFS 저장소 추가

2단계 - GlusterFS 서버 설치

이 단계에서는 ‘gfs01’ 및 ‘gfs02’ 서버에 glusterfs 서버를 설치합니다.

apt 명령을 사용하여 glusterfs-server를 설치합니다.

sudo apt install glusterfs-server -y

이제 glusterd 서비스를 시작하고 시스템 부팅 시마다 시작되도록 활성화합니다.

sudo systemctl start glusterd  
sudo systemctl enable glusterd

Glusterfs 서버가 이제 ‘gfs01’ 및 ‘gfs02’ 서버에서 실행되고 있습니다.

서비스 및 설치된 소프트웨어 버전을 확인합니다.

systemctl status glusterd  
glusterfsd --version

GlusterFS 서버 설치

3단계 - GlusterFS 서버 구성

Glusterd 서비스가 이제 실행되고 있으며, 다음 단계는 신뢰할 수 있는 스토리지 풀을 생성하고 분산 glusterfs 볼륨을 생성하여 이러한 서버를 구성하는 것입니다.

신뢰할 수 있는 스토리지 풀 생성

‘gfs01’ 서버에서 ‘gfs02’ 서버를 glusterfs 스토리지 풀에 추가해야 합니다.

아래 명령을 실행합니다.

gluster peer probe gfs02

이제 ‘peer probe: success’라는 결과를 볼 수 있으며, ‘gfs02’ 서버를 신뢰할 수 있는 스토리지 풀에 추가했습니다.

아래 명령을 사용하여 스토리지 풀 상태 및 목록을 확인합니다.

gluster peer status  
gluster pool list

그리고 ‘gfs02’ 서버가 피어 클러스터에 연결되어 있으며 풀 목록에 있는 것을 볼 수 있습니다.

신뢰할 수 있는 스토리지 풀 생성

분산 GlusterFS 볼륨 설정

신뢰할 수 있는 스토리지 풀을 생성한 후, 새로운 분산 glusterfs 볼륨을 생성합니다. 시스템 디렉토리를 기반으로 새로운 glusterfs 볼륨을 생성합니다.

참고:

  • 서버 생산을 위해서는 시스템 디렉토리를 사용하지 않고 다른 파티션을 사용하여 glusterfs 볼륨을 생성하는 것이 권장됩니다.

각 ‘gfs01’ 및 ‘gfs02’ 서버에 ‘/glusterfs/distributed’라는 새 디렉토리를 생성합니다.

mkdir -p /glusterfs/distributed

그리고 ‘gfs01’ 서버에서 2개의 복제본 ‘gfs01’ 및 ‘gfs02’로 ‘vol01’이라는 이름의 분산 glusterfs 볼륨을 생성합니다.

gluster volume create vol01 replica 2 transport tcp \  
gfs01:/glusterfs/distributed \  
gfs02:/glusterfs/distributed \  
force

이제 ‘vol01’이라는 분산 볼륨을 생성했습니다 - ‘vol01’을 시작하고 볼륨 정보를 확인합니다.

gluster volume start vol01  
gluster volume info vol01

그리고 다음은 결과입니다.

분산 GlusterFS 볼륨 설정

이 단계에서 우리는 ‘gfs01’ 및 ‘gfs02’ 서버에 2개의 벽돌을 가진 ‘Replicate’ 유형의 ‘vol01’ 볼륨을 생성했습니다. 모든 데이터는 각 복제 서버에 자동으로 분산되며, 우리는 볼륨을 마운트할 준비가 되었습니다.

‘gfs02’ 서버에서 ‘vol01’ 볼륨 정보 아래.

볼륨 정보

4단계 - GlusterFS 클라이언트 설정

이 단계에서는 glusterfs 볼륨 ‘vol01’을 우분투 클라이언트에 마운트하고, 클라이언트 서버에 glusterfs-client를 설치해야 합니다.

apt 명령을 사용하여 우분투 시스템에 glusterfs-client를 설치합니다.

sudo apt install glusterfs-client -y

이제 glusterfs-client 설치가 완료되면 ‘/mnt/glusterfs’라는 새 디렉토리를 생성합니다.

mkdir -p /mnt/glusterfs

그리고 ‘/mnt/glusterfs’ 디렉토리에 분산 glusterfs 볼륨 ‘vol01’을 마운트합니다.

sudo mount -t glusterfs gfs01:/vol01 /mnt/glusterfs

이제 시스템에서 사용 가능한 볼륨을 확인합니다.

df -h /mnt/glusterfs

그리고 우리는 ‘/mnt/glusterfs’ 디렉토리에 glusterfs 볼륨이 마운트된 것을 확인할 수 있습니다.

GlusterFS 클라이언트 설정

추가:

우분투 클라이언트 시스템에 glusterfs를 영구적으로 마운트하려면, 볼륨을 ‘/etc/fstab’에 추가할 수 있습니다.

‘/etc/fstab’ 구성 파일을 편집합니다.

vim /etc/fstab

그리고 아래 구성을 붙여넣습니다.

gfs01:/vol01 /mnt/glusterfs glusterfs defaults,_netdev 0 0

저장하고 종료합니다.

이제 서버를 재부팅하면 온라인 상태가 되었을 때 fstab을 통해 glusterfs 볼륨 ‘vol01’이 자동으로 마운트됩니다.

5단계 - 복제/미러링 테스트

이 단계에서는 각 서버 노드에서 데이터 미러링을 테스트합니다.

glusterfs 볼륨 ‘vol01’을 각 glusterfs 서버에 마운트합니다.

‘gfs01’ 서버에서.

mount -t glusterfs gfs01:/vol01 /mnt

‘gfs02’ 서버에서.

mount -t glusterfs gfs02:/vol01 /mnt

이제 우분투 클라이언트로 돌아가 ‘/mnt/glusterfs’ 디렉토리로 이동합니다.

cd /mnt/glusterfs

touch 명령을 사용하여 몇 개의 파일을 생성합니다.

touch file01 file02 file03

복제 테스트

이제 각 - ‘gfs01’ 및 ‘gfs02’ - 서버에서 확인하면, 클라이언트 머신에서 생성한 모든 파일을 확인할 수 있습니다.

cd /mnt/  
ls -lah

다음은 ‘gfs01’ 서버의 결과입니다.

서버 1의 결과

그리고 다음은 ‘gfs02’ 서버의 결과입니다.

서버 2의 결과

클라이언트 머신에서 생성한 모든 파일이 모든 glusterfs 볼륨 노드 서버에 분산됩니다.

Share: X/Twitter LinkedIn

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

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