LIT-glusterfs-overview
2026-02-14
요약
GlusterFS는 여러 서버의 디스크를 하나의 글로벌 네임스페이스로 합치는 오픈소스 분산 파일 시스템이다. 페타바이트 규모까지 확장 가능하고, POSIX 호환이며, 범용 하드웨어에서 동작한다. 가장 큰 아키텍처적 특징은 메타데이터 서버가 없다는 것으로, DHT(Distributed Hash Table) 기반의 elastic hashing으로 파일 위치를 결정한다. 다만 2024년 말 Red Hat의 상용 지원이 종료되어, 커뮤니티 주도의 유지보수만 이루어지고 있는 상황이다.
핵심 포인트
아키텍처
GlusterFS의 핵심은 메타데이터 서버 없는 설계이다. 전통적인 분산 파일 시스템(HDFS의 NameNode, CephFS의 MDS)과 달리, 파일명을 32비트 해시 공간에 해싱하여 어느 brick에 저장할지를 알고리즘적으로 결정한다. 이 접근은 메타데이터 서버가 SPOF(단일 장애점)이나 성능 병목이 되는 문제를 근본적으로 제거한다.
시스템은 크게 세 프로세스로 구성된다:
- Glusterd (관리 데몬): 각 서버에서 실행, 클러스터 조율
- Glusterfsd (Brick 프로세스): 로컬 디스크 스토리지를 export
- Client Process: 볼륨을 마운트하여 통합 네임스페이스 제공
클라이언트와 서버 간 I/O는 Translator라는 모듈형 레이어를 통해 처리된다. FUSE를 통해 유저스페이스에서 동작하므로 커널 수정 없이 사용 가능하다.
볼륨 타입 (5가지)
| 볼륨 타입 | 특징 | 적합 용도 |
|---|---|---|
| Distributed | 파일을 brick에 분산, 중복 없음 | 용량 확장 (신뢰성 불필요) |
| Replicated | 모든 brick에 동일 사본 유지 | 고가용성, 데이터 이중화 |
| Distributed Replicated | 복제 세트 간 분산 | 확장 + 신뢰성 동시 필요 |
| Dispersed | Erasure coding 기반, 공간 효율적 중복 | 스토리지 효율 + 신뢰성 |
| Distributed Dispersed | Dispersed의 분산 버전 | 대규모 erasure coding |
Dispersed 볼륨은 Replicated 대비 스토리지 효율이 높다. 예를 들어 1TB 데이터를 저장할 때 Replicated는 2TB가 필요하지만, Dispersed는 약 1.5TB로 가능하다.
복제 메커니즘
- AFR (Automatic File Replication): 확장 속성으로 복제본 일관성 유지. 하나의 brick만 살아있어도 복구 가능.
- Geo-Replication: 비동기 지리적 복제. Changelog 기반 변경 감지 + rsync 차등 동기화.
다른 분산 파일 시스템과의 비교
GlusterFS는 메타데이터 서버가 없다는 점에서 CephFS, HDFS와 근본적으로 다르다. 중소 규모 클러스터에서 높은 읽기 처리량을 보이지만, 대규모 확장 시에는 CephFS가 더 유리하다는 평가가 있다. HDFS는 write-once/read-many 모델로 빅데이터에 특화되어 있어 범용 파일 시스템 용도로는 GlusterFS와 직접 비교 대상이 아니다.
현재 상태 (2026년 기준)
Red Hat이 2024년 12월 31일부로 Red Hat Gluster Storage 상용 지원을 종료했다. 엔지니어링 팀도 해산되어 업스트림 기여가 급감했다 (연간 1,000건+ → 2024년 31건). 오픈소스 커뮤니티가 유지보수를 이어가고 있으나, 새 프로젝트에 GlusterFS를 도입할 때는 이 점을 신중히 고려해야 한다. Fedora에서도 GlusterFS 패키지 퇴역(retire)을 논의한 바 있다.
나의 생각
- 메타데이터 서버 없는 설계는 아키텍처적으로 매우 우아하다. SPOF를 제거하는 동시에 운영 복잡도를 줄인다. 그러나 이것이 대규모 확장에서는 오히려 한계가 될 수 있다 — 메타데이터 서버가 있는 시스템(Ceph)이 더 정교한 데이터 배치 결정을 내릴 수 있기 때문이다.
- Red Hat 지원 종료는 프로덕션 환경에서의 도입에 큰 리스크 요인이다. 커뮤니티 유지보수만으로는 보안 패치나 버그 수정의 적시성을 보장하기 어렵다.
- 기존에 GlusterFS를 사용 중인 환경에서는 Ceph로의 마이그레이션을 검토할 시점이다.
- Translator 기반 모듈형 아키텍처는 다른 분산 시스템 설계 시 참고할 만한 패턴이다. [추론]
Links
- 원본: REF-gluster-architecture-overview
- 원본: REF-redhat-glusterfs-eol
- 보조: AUX-glusterfs-vs-ceph-vs-hdfs-comparison
- 관련: LIT-ceph-overview
- 관련 Permanent Note: [[]]