3.12. Ceph Monitor 동기화 역할
여러 모니터가 있는 프로덕션 클러스터를 실행할 때 각 모니터에서 주변 모니터에 더 최신 버전의 클러스터 맵이 있는지 확인합니다. 예를 들어, 인스턴트 모니터의 맵에서 가장 최신의 epoch보다 하나 이상의 epoch 번호를 갖는 인접 모니터의 맵. 주기적으로 클러스터의 한 모니터는 쿼럼을 떠나야 하는 시점으로 다른 모니터를 대체하고, 동기화를 통해 클러스터에 대한 최신 정보를 검색한 다음 쿼럼에 다시 참여할 수 있습니다.
동기화 역할
동기화를 위해 모니터는 다음 세 가지 역할 중 하나를 가정할 수 있습니다.
- leader: 리더는 클러스터 맵의 최신 Paxos 버전을 달성하는 첫 번째 모니터입니다.
- 공급자: 공급자는 클러스터 맵의 최신 버전이 있지만 가장 최신 버전을 달성하는 첫 번째 버전은 없는 모니터입니다.
- 요청자: 요청자는 리더 뒤에 있는 모니터이며 쿼럼에 다시 참여하기 전에 클러스터에 대한 최신 정보를 검색하도록 동기화해야 합니다.
이러한 역할을 통해 리더는 동기화 작업을 공급자에 위임할 수 있으므로 동기화 요청이 리더를 과부하하고 성능을 개선하는 것을 방지할 수 있습니다. 다음 다이어그램에서 요청자는 다른 모니터 뒤에 있다는 것을 알게 되었습니다. 요청자는 리더에게 동기화하도록 요청하고, 리더는 요청자에게 공급자와 동기화하도록 지시합니다.
동기화 모니터링
동기화는 새 모니터가 클러스터에 참여할 때 항상 발생합니다. 런타임 작업 중에 모니터는 다른 시간에 클러스터 맵에 대한 업데이트를 수신할 수 있습니다. 즉, 리더 및 공급자 역할은 한 모니터에서 다른 모니터로 마이그레이션할 수 있습니다. 예를 들어 공급자가 리더 뒤에 있으면 공급자는 요청자와 동기화를 종료할 수 있습니다.
동기화가 완료되면 Ceph가 클러스터 전체에서 트리밍해야 합니다. 트리밍에서는 배치 그룹이 활성 + clean이어야 합니다
.