클러스터 기반 DFS (GFS, HDFS)
Jan 23, 2026 · Updated Jan 27, 2026
핵심 개념
섹션 제목: “핵심 개념”클러스터 기반 DFS는 파일을 여러 청크로 분할하여 다수의 데이터 서버에 복제 저장하고, 메타데이터 서버가 위치를 관리하는 대규모 분산 파일 시스템이다. 하드웨어 장애는 예외가 아닌 일상이라는 전제 하에 설계되었다.
동작 원리
섹션 제목: “동작 원리”아키텍처 구성
섹션 제목: “아키텍처 구성”| 컴포넌트 | 역할 |
|---|---|
| Metadata Server | 디렉토리 구조, 파일-청크 매핑, 청크 위치 정보 관리 |
| Data Server | 파일 청크 저장 및 클라이언트에 데이터 제공 |
| Client | 메타데이터 서버에서 위치 정보 얻고, 데이터 서버에서 직접 읽기/쓰기 |
핵심 설계 원칙
섹션 제목: “핵심 설계 원칙”- 파일 청킹(Chunking): 파일을 고정 크기 청크(64MB~128MB)로 분할
- 복제(Replication): 각 청크를 여러 데이터 서버에 복제 (기본 3개)
- 메타데이터 분리: 메타데이터만 별도 서버에서 관리
GFS vs HDFS
섹션 제목: “GFS vs HDFS”| 특성 | GFS | HDFS |
|---|---|---|
| 개발 | Apache (오픈소스) | |
| 랜덤 쓰기 | 지원 (복잡) | 미지원 (append만) |
| 동시 쓰기 | 지원 | 단일 writer |
| 일관성 | 복잡한 보장 | 단순 (append only) |
| 스택 | MapReduce | Hadoop Framework |
MapReduce와의 연계
섹션 제목: “MapReduce와의 연계”GFS/HDFS 위에서 대규모 병렬 처리를 수행합니다. 데이터가 있는 곳으로 계산을 이동하는 계산 마이그레이션 방식이다.
책을 여러 챕터로 나눠서 여러 창고에 복사본을 보관하는 것과 유사하다. 목차(메타데이터 서버)에서 어느 창고에 있는지 확인하고, 가장 가까운 창고에서 필요한 챕터를 가져온다.
저장 과정
섹션 제목: “저장 과정”파일: 300MB video.mp4, 청크 크기: 64MB파일 저장 흐름
1 파일 분할
video.mp4 → 5개 청크로 분할 2 청크 복제
각 청크를 3개 데이터 서버에 복제 3 메타데이터 저장
매핑 정보를 메타데이터 서버에 저장 읽기 과정
섹션 제목: “읽기 과정”파일 읽기 흐름
1 위치 요청
클라이언트 → 메타데이터 서버 2 위치 응답
청크 위치 목록 반환 3 병렬 읽기
각 데이터 서버에서 청크 병렬 읽기 관련 개념
섹션 제목: “관련 개념”- 분산 파일 시스템 (DFS) - 클러스터 기반 DFS가 속하는 분산 파일 시스템의 전체 개념
- 클라이언트-서버 DFS (NFS, OpenAFS) - 클러스터 기반과 대비되는 전통적인 DFS 아키텍처
- DFS 캐싱과 일관성 - GFS와 HDFS에서의 일관성 보장 메커니즘
- 분산 시스템의 견고성 (Robustness) - 청크 복제를 통한 장애 대응과 관련된 견고성 개념
- 분산 시스템의 확장성 (Scalability) - 클러스터 DFS의 수평 확장 설계 원칙