2장. 핵심 Ceph 구성 요소


Red Hat Ceph Storage 클러스터는 무제한 확장성, 고가용성 및 성능을 위해 다수의 Ceph 노드를 보유할 수 있습니다. 각 노드는 서로 통신하는 비독점 하드웨어 및 지능형 Ceph 데몬을 활용하여 다음을 수행합니다.

  • 데이터 쓰기 및 읽기
  • 데이터 압축
  • 코딩 데이터를 복제 또는 삭제하여 지속성 확인
  • 'heartbeating'라고도 하는 클러스터 상태 모니터링 및 보고
  • "backfilling"라고도 하는 데이터를 동적으로 재배포
  • 데이터 무결성 보장; 및
  • 오류를 복구합니다.

데이터를 읽고 쓰는 Ceph 클라이언트 인터페이스의 경우 Red Hat Ceph Storage 클러스터는 데이터를 저장하는 간단한 풀처럼 보입니다. 그러나 librados 및 스토리지 클러스터는 클라이언트 인터페이스에 완전히 투명한 방식으로 많은 복잡한 작업을 수행합니다. Ceph 클라이언트 및 Ceph OSD는 모두 CRUSH(Controlled Replication Under Scalable Hashing) 알고리즘을 사용합니다. 다음 섹션에서는 CRUSH가 이러한 작업을 원활하게 수행하는 방법에 대해 자세히 설명합니다.

사전 요구 사항

  • 분산 스토리지 시스템에 대한 기본적인 이해.

2.1. Ceph 풀

Ceph 스토리지 클러스터는 데이터 오브젝트를 'Pools'라는 논리 파티션에 저장합니다. Ceph 관리자는 블록 장치, 오브젝트 게이트웨이 등의 특정 유형의 데이터에 대한 풀을 생성하거나 한 사용자 그룹을 다른 사용자 그룹과 분리할 수 있습니다.

Ceph 클라이언트의 관점에서 보면 스토리지 클러스터는 매우 간단합니다. Ceph 클라이언트가 I/O 컨텍스트를 사용하여 데이터를 읽거나 쓰는 경우 항상 Ceph 스토리지 클러스터의 스토리지 풀에 연결됩니다. 클라이언트는 풀 이름, 사용자 및 시크릿 키를 지정하므로 풀은 해당 data 오브젝트에 대한 액세스 제어를 사용하여 논리 파티션 역할을 합니다.

실제로 Ceph 풀은 오브젝트 데이터를 저장하기 위한 논리 파티션일 뿐만 아니라 풀은 Ceph 스토리지 클러스터가 데이터를 배포하고 저장하는 방법에 중요한 역할을 합니다. 그러나 이러한 복잡한 작업은 Ceph 클라이언트에 완전히 투명합니다.

Ceph 풀은 다음을 정의합니다.

  • Pool Type: 초기 버전의 Ceph에서 풀은 단순히 오브젝트의 여러 깊은 복사본을 유지 관리했습니다. 현재 Ceph는 오브젝트의 여러 복사본을 유지 관리하거나 삭제 코딩을 사용하여 지속성을 보장할 수 있습니다. 데이터 지속성 방법은 풀 전체이며 풀을 생성한 후에는 변경되지 않습니다. 풀 유형은 풀을 생성할 때 데이터 지속성 방법을 정의합니다. 풀 유형은 클라이언트에 완전히 투명합니다.
  • 배치 그룹: 바이트 규모의 스토리지 클러스터에서 Ceph 풀은 수백만 개의 데이터 개체 이상을 저장할 수 있습니다. Ceph는 복제본 또는 삭제 코드 청크를 통해 데이터 지속성, CRC 검사 또는 CRC 검사를 통한 데이터 무결성, 복제, 재조정 및 복구를 포함하여 다양한 유형의 작업을 처리해야 합니다. 결과적으로 오브젝트별로 데이터를 관리하면 확장성 및 성능 병목 현상이 발생합니다. Ceph는 풀을 배치 그룹으로 분할하여 이러한 병목 현상을 해결합니다. CRUSH 알고리즘은 개체를 저장하기 위한 배치 그룹을 계산하고 배치 그룹에 대한 OSD 활성화를 계산합니다. CRUSH는 각 오브젝트를 배치 그룹에 배치합니다. 그런 다음 CRUSH는 각 배치 그룹을 OSD 세트에 저장합니다. 시스템 관리자는 풀을 생성하거나 수정할 때 배치 그룹 수를 설정합니다.
  • CRUSH 규칙 세트: CRUSH는 또 다른 중요한 역할을 합니다. CRUSH는 장애 도메인 및 성능 도메인을 감지할 수 있습니다. CRUSH는 스토리지 미디어 유형별로 OSD를 식별하고 OSD를 노드, 랙 및 행으로 계층적으로 구성할 수 있습니다. CRUSH를 사용하면 Ceph OSD가 장애 도메인에서 오브젝트 복사본을 저장할 수 있습니다. 예를 들어, 오브젝트의 사본은 서로 다른 서버실, 아일즈, 랙 및 노드에 저장될 수 있습니다. 랙과 같이 클러스터의 많은 부분이 실패하는 경우에도 클러스터가 복구될 때까지 성능이 저하된 상태에서 계속 작동할 수 있습니다.

또한 CRUSH를 사용하면 클라이언트가 SSD, SSD 저널이 있는 하드 드라이브 또는 데이터와 동일한 드라이브에 저널이 있는 하드 드라이브와 같은 특정 유형의 하드웨어에 데이터를 쓸 수 있습니다. CRUSH 규칙 세트는 풀의 장애 도메인 및 성능 도메인을 결정합니다. 관리자는 풀을 생성할 때 CRUSH 규칙 세트를 설정합니다.

참고

관리자는 pool을 만든 후 풀의 규칙 세트를 변경 하지 않습니다.

  • 지속성: 바이트 규모의 스토리지 클러스터에서는 하드웨어 장애가 예상되며 예외는 아닙니다. 데이터 오브젝트를 사용하여 블록 장치와 같은 더 큰 스토리지 인터페이스를 나타내는 경우, 더 세분화된 인터페이스를 위해 하나 이상의 데이터 오브젝트가 손실되어 더 큰 스토리지 엔티티의 무결성을 손상시킬 수 있습니다. 따라서 데이터 손실은 용인될 수 없습니다. Ceph는 다음 두 가지 방법으로 높은 데이터 지속성을 제공합니다.

    • 복제본 풀은 CRUSH 장애 도메인을 사용하여 여러 오브젝트의 깊은 사본을 저장하여 하나의 데이터 개체 복사본을 물리적으로 분리합니다. 즉, 복사본이 별도의 물리적 하드웨어에 배포됩니다. 이렇게 하면 하드웨어 오류 발생 시 지속성이 증가합니다.
    • 코딩된 풀은 각 오브젝트를 K+M 청크로 저장합니다. 여기서 K 는 데이터 청크를 나타내며 M 은 코딩 청크를 나타냅니다. 합계는 오브젝트를 저장하는 데 사용되는 OSD 수를 나타내며 M 값은 실패할 수 있는 OSD 수를 나타내며 OSD M 수가 실패할 경우 데이터를 복원할 수 있습니다.

클라이언트 관점에서 Ceph는 간단하고 간단합니다. 클라이언트는 단순히 풀에서 읽고 쓰기만 하면 됩니다. 그러나 풀은 데이터 지속성, 성능 및 고가용성에 중요한 역할을 합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat