Distributed Systems
Ceph Erasure Coding 데이터 저장 흐름
Ceph EC 쓰기 경로를 인코딩, CRUSH 배치, 쿼럼 관점에서 정리합니다.
Ceph Erasure Coding 데이터 저장 흐름
Ceph EC 쓰기 흐름은 "객체를 분할하고, 인코딩하고, 실패 도메인을 고려해 배치하는 과정"입니다.
단계 요약
- 객체 -> PG 매핑
- primary OSD 수신
- 데이터
k조각 + 패리티m조각 생성 - CRUSH 규칙으로 OSD 배치
- 쓰기 쿼럼 충족 시 성공 응답
운영에서 중요한 포인트
1) k/m 비율
- 저장 효율 vs 복구 비용의 균형점
- 대규모 워크로드는 읽기 패턴까지 함께 고려
2) 실패 도메인 설계
host/rack 단위 분산이 잘못되면 장애 한 번에 복구 가능성을 잃습니다.
3) 작은 쓰기 비용
EC는 작은 random write에서 비용이 큽니다. 워크로드 특성에 따라 replicated pool 병행이 필요할 수 있습니다.
결론
EC 저장 경로는 단순 공간 절감 기능이 아니라 가용성 정책입니다. k/m, CRUSH 규칙, 워크로드를 분리해서 설계해야 합니다.