검색

3.5. Ceph 클라이언트 데이터 스트라이핑

download PDF

스토리지 장치에는 처리량 제한이 있어 성능 및 확장성에 영향을 미칩니다. 따라서 스토리지 시스템은 처리량과 성능을 높이기 위해 여러 스토리지 장치에서 순차적 정보를 제거하는 경우가 많습니다. 가장 일반적인 형태의 데이터 스트라이핑은 RAID에서 가져온 것입니다. Ceph의 스트라이핑과 가장 유사한 RAID 유형은 RAID 0 또는 'striped volume'입니다. Ceph의 스트라이핑은 RAID 0 스트라이핑의 처리량, n-way RAID 미러링의 안정성 및 더 빠른 복구 기능을 제공합니다.

Ceph는 Ceph Block Device, Ceph Filesystem 및 Ceph Object Storage의 세 가지 유형의 클라이언트를 제공합니다. Ceph Client는 블록 장치 이미지, RESTful 오브젝트, CephFS 파일 시스템 디렉터리와 같이 사용자에게 제공하는 표시 형식에서 Ceph Storage 클러스터의 스토리지 오브젝트로 데이터를 변환합니다.

작은 정보

Ceph Storage 클러스터에 있는 Ceph 저장소 개체는 제거되지 않습니다. Ceph Object Storage, Ceph Block Device 및 Ceph Filesystem은 여러 Ceph Storage 클러스터 오브젝트를 통해 데이터를 스트라이핑합니다. librados 를 사용하여 Ceph 스토리지 클러스터에 직접 쓰는 Ceph 클라이언트는 이러한 이점을 얻기 위해 자체적으로 스트라이핑 및 병렬 I/O를 수행해야 합니다.

가장 간단한 Ceph 스트라이핑 형식은 1개의 오브젝트로 구성된 스트라이프 수를 포함합니다. Ceph Clients는 개체가 최대 용량이 될 때까지 Ceph Storage Cluster 개체에 스트라이프 단위를 작성한 다음 추가 데이터 스트라이프를 위해 다른 오브젝트를 만듭니다. 가장 간단한 형태의 스트라이핑은 작은 블록 장치 이미지, S3 또는 Swift 오브젝트에 충분합니다. 그러나 이 간단한 형식은 Ceph가 배치 그룹에 데이터를 배포하는 기능을 최대한 활용하지 않으므로 성능을 크게 개선하지 않습니다. 다음 다이어그램은 가장 간단한 형태의 스트라이핑을 보여줍니다.

arc 10

예를 들어 대규모 이미지 크기, 대규모 S3 또는 Swift 오브젝트를 예상하는 경우 오브젝트 세트 내에서 여러 오브젝트에 대한 클라이언트 데이터를 제거하여 읽기/쓰기 성능이 크게 향상될 수 있습니다. 클라이언트가 해당 오브젝트에 스트라이프 단위를 병렬로 쓸 때 상당한 쓰기 성능이 발생합니다. 오브젝트가 다른 배치 그룹에 매핑되고 다른 OSD에 추가 매핑되므로 각 쓰기는 최대 쓰기 속도에서 병렬로 수행됩니다. 단일 디스크에 대한 쓰기는 헤드 이동, 예를 들어 한 장치의 검색당 6ms 및 대역폭(예: 100MB/s)에 의해 제한됩니다. Ceph는 여러 배치 그룹 및 OSD에 매핑되는 여러 오브젝트에 걸쳐 해당 쓰기를 분산함으로써 드라이브당 검색 횟수를 줄이고 여러 드라이브의 처리량을 결합하여 훨씬 빠른 쓰기 또는 읽기 속도를 얻을 수 있습니다.

참고

스트라이핑은 오브젝트 복제본과 독립적입니다. CRUSH가 OSD에서 오브젝트를 복제하므로 스트라이프가 자동으로 복제됩니다.

다음 다이어그램에서 클라이언트 데이터는 4개의 개체로 구성된 개체 세트(다음 다이어그램의오브젝트 세트 1)에서 제거되며 첫 번째 스트라이프 단위는 개체 0에서 스트라이프 단위0 이고 네 번째 스트라이프 단위는 개체 3 에서 스트라이프 단위입니다. 네 번째 스트라이프를 작성한 후 클라이언트는 오브젝트 세트가 가득 졌는지 확인합니다. 오브젝트 세트가 가득 차지 않으면 클라이언트는 첫 번째 오브젝트에 스트라이프를 다시 쓰기 시작합니다. 다음 다이어그램에서 오브젝트 0 을 참조하십시오. 개체 세트가 가득 차면 클라이언트는 새 개체 세트를 만들고 다음 다이어그램에서 오브젝트 세트 2 를 확인하고 첫 번째 스트라이프 단위가 16인 스트라이프 단위로 새 개체 세트의 첫 번째 개체 집합에서 오브젝트 4 를 참조하십시오.

arc 11

다음 세 가지 중요한 변수는 Ceph가 데이터를 스트라이핑하는 방법을 결정합니다.

  • 오브젝트 크기: Ceph 스토리지 클러스터의 오브젝트에는 최대 구성 가능한 크기(예: 2MB 또는 4MB)가 있습니다. 오브젝트 크기는 여러 스트라이프 단위를 수용할 수 있을 만큼 커야 하며 스트라이프 단위의 배수여야 합니다.

    중요

    Red Hat은 최대 16MB의 안전한 값을 권장합니다.

  • 스트라이프 너비: 스트라이프는 구성 가능한 단위 크기(예: 64KB)를 갖습니다. Ceph Client는 마지막 스트라이프 장치를 제외하고 오브젝트에 쓰는 데이터를 동일하게 크기가 지정된 스트라이프 단위로 나눕니다. 개체에 여러 스트라이프 단위가 포함될 수 있도록 스트라이프 너비는 Object Size의 일부여야 합니다.
  • 스트라이프 개수: Ceph 클라이언트는 스트라이프 수에 의해 결정된 일련의 오브젝트에 대해 스트라이프 단위 시퀀스를 씁니다. 일련의 오브젝트를 오브젝트 세트라고 합니다. Ceph Client가 오브젝트 세트의 마지막 개체에 기록한 후 오브젝트 세트의 첫 번째 개체로 돌아갑니다.
중요

클러스터를 프로덕션 환경에 배치하기 전에 스트라이핑 구성의 성능을 테스트합니다. 사용자는 data를 스트라이프한 후 이러한 스트라이핑 매개변수를 변경하고 개체에 쓸 수 없습니다.

Ceph Client가 데이터를 스트라이프하고 스트라이프 단위를 개체에 매핑하면 Ceph의 CRUSH 알고리즘은 개체를 배치 그룹에 매핑하고 개체가 스토리지 디스크에 파일로 저장되기 전에 배치 그룹에 배치 그룹을 매핑합니다.

참고

클라이언트는 단일 풀에 쓰기 때문에 모든 데이터가 동일한 풀의 배치 그룹에 매핑됩니다. 따라서 동일한 CRUSH 맵과 동일한 액세스 제어를 사용합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.