sayu.day
Distributed Systems

CRUSH (Controlled Replication Under Scalable Hashing)

Ceph CRUSH가 중앙 메타데이터 없이 데이터 배치를 계산하는 원리를 설명합니다.

발행 2025년 12월 27일1118

같은 주제에서 이어 읽기

Ceph Erasure Coding 데이터 저장 흐름

Distributed Systems 안에서 이어지는 글

CRUSH는 "객체를 어디에 저장할지"를 중앙 테이블 없이 결정하는 Ceph의 핵심 알고리즘입니다.

CRUSH의 장점

  1. 결정론적 배치(같은 입력 -> 같은 결과)
  2. 대규모 확장에 유리
  3. 실패 도메인(호스트/랙/존) 인식 가능

어떻게 동작하나

  1. 객체/PG를 해시
  2. CRUSH map + rule 적용
  3. 계층 구조에서 대상 OSD 선택
  4. 결과를 클라이언트/OSD가 동일하게 계산

중앙 조회가 없기 때문에 확장성과 장애 내성이 좋아집니다.

운영에서 중요한 것

  • CRUSH map 설계가 잘못되면 복제/EC 모두 취약해집니다.
  • 하드웨어 추가/제거 시 rebalance 영향 범위를 예측해야 합니다.
  • rule 변경은 트래픽과 recovery 부하를 함께 고려해 점진 적용해야 합니다.

결론

CRUSH는 해시 함수가 아니라 배치 정책 엔진입니다. 인프라 토폴로지와 실패 모델을 정확히 반영해야 기대한 내구성을 얻습니다.

다음 읽기

이 생각이 이어지는 방향

Distributed Systems 더 보기
공유

읽은 뒤의 대화

읽은 뒤의 생각을 이어갑니다

질문, 반론, 조용한 후속 메모를 이 글 아래에 남길 수 있습니다.

sayu.day는 생각과 작업의 흔적을 천천히 정리하는 개인 출판물입니다.
직접 겪고 검토한 내용, 다시 읽을 만한 아이디어, 작업하며 남긴 메모를 모읍니다.
시간이 지난 글은 현재의 판단과 다를 수 있어 업데이트 맥락을 함께 남깁니다.

© 2026 sayu.day