IMG-LOGO
공지사항 :

GlusterFS

lmkfox - 2025-04-30 07:06:41 79 Views 0 Comment

좋습니다. 이번에는 GlusterFS에 대해 자세하고 기술적으로 정리해드리겠습니다. GlusterFS는 Ceph와 함께 많이 비교되는 오픈소스 분산 파일 시스템 중 하나입니다.


GlusterFS 개요

GlusterFS는 Red Hat에서 주도하는 오픈소스 분산 파일 시스템으로, 여러 대의 서버의 로컬 디스크를 묶어 하나의 큰 파일 시스템처럼 사용할 수 있도록 설계된 시스템입니다.

  • 파일 단위의 스토리지 공유 (NAS 기반)

  • 로컬 디스크를 네트워크를 통해 연결해 하나의 볼륨처럼 구성

  • 확장성, 고가용성, 단순한 구조가 장점

  • POSIX 준수 파일 시스템

  • NFS, SMB, FUSE, CIFS를 통한 접근 지원


주요 특징

기능

설명

분산 스토리지

여러 서버의 디스크를 하나의 논리적 볼륨으로 구성

확장성

노드 추가만으로 스토리지 용량 확장 가능

고가용성

복제/중복 구성으로 서버 장애 시 자동 failover

유연한 볼륨 타입

Distributed, Replicated, Dispersed (Erasure Coding) 등 지원

운영 편의성

CLI 기반의 단순한 관리 인터페이스

클라이언트 접근

FUSE, NFS, SMB, CIFS, iSCSI (특정 구성)

오픈소스

라이선스 비용 없이 사용 가능


GlusterFS 아키텍처

GlusterFS는 크게 다음과 같은 구조로 구성됩니다.

  • Brick: 실제 데이터를 저장하는 기본 단위 (디렉터리)

  • Volume: 여러 Brick을 묶어 구성된 논리적 스토리지 단위

  • GlusterD: 클러스터를 관리하는 데몬

  • Translator: 데이터 처리 로직 (replication, distribute 등 처리)

  • Client: GlusterFS 볼륨을 마운트해서 사용하는 노드

구성 예시:

# Brick 구성
Node1:/data/brick1
Node2:/data/brick2

# Volume 생성
gluster volume create myvol replica 2 Node1:/data/brick1 Node2:/data/brick2


볼륨 유형

유형

설명

Distributed

데이터를 Brick에 분산 저장 (복제 없음)

Replicated

모든 데이터를 모든 Brick에 동일하게 저장

Distributed-Replicated

여러 Brick 그룹마다 복제를 적용하고, 전체적으로 분산 저장

Dispersed

Erasure Coding 기반의 고효율 스토리지 절감 복구형 구성


장점과 단점

장점

단점

단순한 구조로 관리 쉬움

많은 파일 수에 대해 메타데이터 성능 저하 가능

노드 추가로 손쉬운 확장

대규모 클러스터에선 Ceph보다 성능 낮음

POSIX 호환

MDS(메타데이터 전용 서버)가 없어 메타데이터 성능이 제한될 수 있음

여러 마운트 방식 지원

클러스터 재구성 시 데이터 정합성 주의 필요


클라이언트 접근 방식

  1. FUSE 방식

    • glusterfs 패키지 설치 후 마운트

mount -t glusterfs node1:/myvol /mnt/glusterfs

  1. NFS, SMB 방식

    • GlusterFS 자체 NFS 또는 Samba 연동 가능

  2. Kubernetes CSI 연동

    • GlusterFS를 Kubernetes 볼륨으로 연동 가능


실제 사용 사례

  • 중소기업 파일 서버 통합

  • 웹 서버 간 파일 공유 (예: Apache, Nginx)

  • 개발 환경에서 코드 공유

  • Kubernetes 저장소 (Heketi, CSI 사용)


GlusterFS vs CephFS 비교

항목

GlusterFS

CephFS

아키텍처

Peer to Peer

MON + MDS + OSD

구성 복잡도

낮음

높음

메타데이터 서버

없음 (분산 메타데이터)

전용 MDS 존재

사용 용도

파일 공유, NAS 대체

고성능, 대용량, 클라우드

확장성

중간 ~ 높음

매우 높음

데이터 복제

볼륨 수준

객체 수준

성능

메타데이터 작업이 느릴 수 있음

캐시 활용 가능, 고성능


설치 요약 (RHEL/CentOS 기준)

  1. 저장소 추가 및 패키지 설치

dnf install centos-release-gluster
dnf install glusterfs-server
systemctl enable --now glusterd

  1. 피어 연결

gluster peer probe node2

  1. 볼륨 생성 및 시작

gluster volume create myvol replica 2 node1:/data/brick1 node2:/data/brick2
gluster volume start myvol

  1. 마운트

mount -t glusterfs node1:/myvol /mnt


관리 명령어 예시

명령

설명

gluster peer status

클러스터 피어 상태 확인

gluster volume info

볼륨 정보 확인

gluster volume stop <name>

볼륨 중지

gluster volume add-brick

브릭 추가 (확장)

gluster volume remove-brick

브릭 제거

gluster volume rebalance

볼륨 데이터 리밸런싱


결론

GlusterFS는 관리가 쉬우면서도 고가용성과 확장성을 갖춘 분산 파일 시스템으로, 소규모에서 중간 규모의 NAS 대체 또는 웹서버, 개발 환경 공유 스토리지로 적합합니다.

대규모 클러스터, 고성능 필요 시에는 CephFS가 적합하지만, 단순하고 빠른 구축이 필요할 경우 GlusterFS는 매우 유용한 대안입니다.


필요하시다면 다음 정보도 제공 가능합니다:

  • GlusterFS 고가용성 구성 (failover 처리)

  • Kubernetes 연동 예시 (Heketi, CSI)

  • 성능 튜닝 방법

  • GlusterFS vs NFS 실제 성능 비교

원하시는 방향이나 구축 환경이 있다면 알려주시면 맞춤으로 더 설명드리겠습니다.


댓글