4장. Ceph 스토리지용 클러스터 확장
스토리지 관리자는 Ceph에서 확장 모드를 활성화하여 두 개의 사이트 확장 클러스터를 구성할 수 있습니다.
Red Hat Ceph Storage 시스템은 OSD 수준을 넘어 장애 도메인을 데이터 센터 또는 클라우드 영역 수준으로 확장할 수 있는 옵션을 제공합니다.
다음 다이어그램에서는 스트레치 모드에서 작동하는 Ceph 클러스터를 단순화한 것으로, 여기서 tiebreaker 호스트가 DC(데이터 센터) 3에서 프로비저닝됩니다.
그림 4.1. Ceph 스토리지용 클러스터 확장
확장 클러스터는 LAN(Local Area Network)을 통해 작동하는 일반적인 Ceph 클러스터와 달리 Wide Area Network(wide Area Network)를 통해 작동합니다. 설명을 위해 데이터 센터가 장애 도메인으로 선택되지만 클라우드 가용성 영역을 나타낼 수도 있습니다. Data Center 1 (DC1) 및 Data Center 2 (DC2)에는 각 도메인 내의 OSD 및 모니터가 포함되어 있지만 Data Center 3 (DC3)에는 단일 모니터만 포함됩니다. DC1과 DC2 간의 대기 시간은 10ms RTT를 초과해서는 안되며 대기 시간이 길수록 복제, 복구 및 관련 작업 측면에서 Ceph 성능에 큰 영향을 미칠 수 있습니다. 그러나 DC3-a 가상 머신에서 호스팅되는 비 데이터 사이트에서는 두 데이터 사이트에 비해 대기 시간이 길어질 수 있습니다. 다이어그램에 있는 것과 같은 확장 클러스터는 두 개 이상의 사이트를 연결된 상태로 유지되는 한 데이터 센터 간 전체 데이터 센터 오류 또는 네트워크 파티션을 견딜 수 있습니다.
다이어그램에 있는 것과 같은 확장 클러스터는 두 개 이상의 사이트를 연결된 상태로 유지되는 한 데이터 센터 간 전체 데이터 센터 오류 또는 네트워크 파티션을 견딜 수 있습니다.
확장 클러스터의 전원을 끄는 추가 단계는 없습니다. 자세한 내용은 Red Hat Ceph Storage 클러스터 전원을 끄고 재부팅하는 것을 확인할 수 있습니다.
4.1. 스토리지 클러스터의 스트레치 모드 링크 복사링크가 클립보드에 복사되었습니다!
클러스터(지문적으로 분산된 배포)의 가용성을 개선하려면 확장 모드로 전환해야 합니다. 스트레치 모드가 활성화되면 Ceph OSD는 데이터 센터 간에 피어링할 때 또는 두 가지가 모두 활성 상태라고 가정하면 배치 그룹(PG)만 활성 상태로 사용합니다. 풀 크기는 기본 3에서 4로 증가하고 각 사이트에 복사본이 두 개씩 증가합니다.
확장 모드에서는 Ceph OSD가 동일한 데이터 센터 내의 모니터에만 연결할 수 있습니다. 새 모니터는 지정된 위치 없이 클러스터에 참여할 수 없습니다.
데이터 센터의 모든 OSD 및 모니터에 한 번에 액세스할 수 없게 되면 남아 있는 데이터 센터가 성능이 저하된 스트레치 모드가 됩니다. 이렇게 하면 경고가 발행되고 min_size를 1로 줄이고 클러스터가 나머지 사이트의 데이터로 활성 상태에 도달할 수 있습니다.
스트레치 모드는 두 데이터 센터와 하나의 데이터 센터 손실 사이의 netsplit 시나리오를 처리하도록 설계되었습니다. 스트레치 모드는 짝수 모니터와 더 나은 연결로 남아 있는 데이터 센터를 선택하여 netsplit 시나리오를 처리합니다.Structure mode handles the netsplit scenario by choosing the surviving data center with a better connection to the tiebreaker monitor. 스트레치 모드는 모든 풀의 min_size를 1로 줄여 하나의 데이터 센터 손실을 처리하여 클러스터가 나머지 데이터 센터를 계속 작동할 수 있도록 합니다. 손실된 데이터 센터가 반환되면 클러스터는 손실된 데이터를 복구하고 정상적인 작업으로 돌아갑니다.
In a stretch cluster, when a site goes down and the cluster enters a degraded state, the min_size of the pool may be temporarily reduced (e.g., to 1) to allow the placement groups (PGs) to become active and continue serving I/O. However, the size of the pool remains unchanged. The peering_crush_bucket_count stretch mode flag ensures that PGs does not become active unless they are backed by OSDs in a minimum number of distinct CRUSH buckets (e.g., different data centers). This mechanism prevents the system from creating redundant copies solely within the surviving site, ensuring that data is only fully replicated once the downed site recovers.
In a stretch cluster, when a site goes down and the cluster enters a degraded state, the min_size of the pool may be temporarily reduced (e.g., to 1) to allow the placement groups (PGs) to become active and continue serving I/O. However, the size of the pool remains unchanged. The peering_crush_bucket_count stretch mode flag ensures that PGs does not become active unless they are backed by OSDs in a minimum number of distinct CRUSH buckets (e.g., different data centers). This mechanism prevents the system from creating redundant copies solely within the surviving site, ensuring that data is only fully replicated once the downed site recovers.
누락된 데이터 센터에 다시 액세스할 수 있게 되면 클러스터에서 복구 확장 모드로 전환됩니다. 이렇게 하면 경고가 변경되고 피어링을 허용하지만 데이터 센터의 OSD만 있으면 전체 시간이 걸렸습니다.
모든 PG가 알려진 상태에 있고 성능이 저하되거나 불완전하지 않은 경우 클러스터는 일반 스트레치 모드로 돌아가 경고를 종료하고 min_size를 시작 값 2로 복원합니다. 클러스터에 다시 두 사이트 피어가 있어야 전체 시간을 유지하는 사이트뿐만 아니라 피어가 필요하므로 필요한 경우 다른 사이트로 장애 조치 할 수 있습니다.
스트레치 모드 제한
- 이 모드가 입력되면 스트레치 모드를 종료할 수 없습니다.
- 스트레치 모드의 클러스터와 함께 삭제 코딩된 풀을 사용할 수 없습니다. 삭제 코딩된 풀을 사용하여 스트레치 모드로 전환하거나 스트레치 모드가 활성 상태일 때 삭제 코딩된 풀을 생성할 수 없습니다.
스트레치 모드에서는 장치 클래스가 지원되지 않습니다. 다음 예제에서는
hdd 클래스가 지원되지 않습니다.예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 두 사이트 모두에서 동일한 가중치를 달성하려면 두 사이트에 배포된 Ceph OSD는 크기가 같아야 합니다. 즉, 첫 번째 사이트의 스토리지 용량은 두 번째 사이트의 스토리지 용량과 동일합니다.
- 적용되지는 않지만 각 사이트에서 두 개의 Ceph 모니터를 실행하고 총 5 개에 대해 묶인 모니터를 실행해야 합니다. 이는 OSD가 스트레치 모드일 때 자체 사이트의 모니터에만 연결할 수 있기 때문입니다.
- 각 사이트에 두 개의 복사본을 제공하는 고유한 CRUSH 규칙을 생성해야 하며 두 사이트 모두에서 총 4개의 복사본을 제공해야 합니다.
-
기본 크기가 아닌 기존 풀이 있거나
min_size인 경우 스트레치 모드를 활성화할 수 없습니다. -
성능이 저하된 경우 클러스터는
min_size 1로 실행되므로 all-flash OSD가 있는 스트레치 모드만 사용해야 합니다. 이렇게 하면 연결이 복원되면 복구에 필요한 시간이 최소화되고 데이터 손실 가능성을 최소화합니다.
스트레치 피어링 규칙
Ceph 확장 클러스터 모드에서는 확장 피어 규칙을 통해 중요한 보호 장치가 적용되므로 모든 작동 중인 복제본이 단일 데이터 센터 또는 클라우드 가용성 영역과 같은 단일 장애 도메인 내에 있는 경우 PG(배치 그룹)가 활성화될 수 없습니다.
이 동작은 사이트 장애 발생 시 데이터 무결성을 보호하는 데 필수적입니다. 하나의 사이트에 제한된 모든 복제본으로 PG를 활성화할 수 있는 경우 쓰기 작업이 실제 중복성 없이 잘못 승인될 수 있습니다. 사이트를 중단하는 경우 이러한 PG에 대한 완전한 데이터 손실이 발생합니다. Ceph 확장 클러스터는 영역의 성능을 강화함으로써 높은 가용성을 유지하면서 데이터 불일치 또는 손실 위험을 최소화합니다.