2.6. Ceph 복제
Ceph 클라이언트와 마찬가지로 Ceph OSD는 Ceph 모니터에 문의하여 클러스터 맵의 최신 사본을 검색할 수 있습니다. Ceph OSD는ECDHE 알고리즘을 사용하지만 이를 사용하여 오브젝트의 복제본을 저장할 위치를 계산합니다. 일반적인 쓰기 시나리오에서는 Ceph 클라이언트에서 DestinationRule 알고리즘을 사용하여 개체에 대한 활동 세트에서 배치 그룹 ID 및 기본 OSD를 계산합니다. 클라이언트에서 기본 OSD에 오브젝트를 쓸 때 기본 OSD는 저장해야 하는 복제본 수를 찾습니다. 값은 osd_pool_default_size
설정에 있습니다. 그런 다음 기본 OSD는 개체 ID, 풀 이름 및 클러스터 맵을 사용하여 작동 세트의 보조 OSD ID를 계산합니다. 기본 OSD는 오브젝트를 보조 OSD에 씁니다. 기본 OSD가 보조 OSD에서 승인되고 기본 OSD 자체에서 쓰기 작업을 완료하면 Ceph 클라이언트에 대한 쓰기 작업이 성공적으로 완료되었는지 확인합니다.

Ceph 클라이언트를 대신하여 데이터 복제를 수행할 수 있는 기능을 통해 Ceph OSD 데몬으로 인해 Ceph 클라이언트가 해당 서비스를 사용하지 못하게 하는 동시에 높은 데이터 가용성과 데이터 안전을 보장합니다.
기본 OSD 및 보조 OSD는 일반적으로 별도의 장애 도메인에 있도록 구성됩니다. 실패 도메인을 고려하여 보조 OSD의 ID를 계산합니다.
데이터 사본
복제된 스토리지 풀에서는 성능이 저하된 상태에서 작동하기 위해 Ceph에 오브젝트 복사본이 여러 개 필요합니다. Ceph 스토리지 클러스터를 사용하면 동작 세트의 OSD 중 하나가 실패하더라도 클라이언트가 데이터를 읽고 쓸 수 있습니다. 따라서 Ceph는 기본적으로 쓰기 작업을 위해 최소 두 개의 사본이 있는 오브젝트 복사본 3개를 만듭니다. Ceph는 두 개의 OSD가 실패하더라도 데이터를 보존합니다. 그러나 쓰기 작업을 중지합니다.
dissure-coded 풀에서 Ceph는 성능 저하된 상태로 작동할 수 있도록 여러 OSD에 오브젝트 청크를 저장해야 합니다. 복제된 풀과 유사하게, 이상적 기간(lasure-coded) 풀을 사용하면 Ceph 클라이언트가 성능 저하 상태를 읽고 쓸 수 있습니다.
Red Hat은 k 및 m 에 대해 다음과 같은 jerasure 코딩 값을 지원합니다.
- k=8 m=3
- k=8 m=4
- k=4 m=2