검색

5장. 코드 풀 삭제 개요

download PDF

Ceph는 기본적으로 복제된 풀을 사용하므로 Ceph는 기본 OSD 노드에서 하나 이상의 보조 OSD로 모든 오브젝트를 복사합니다. 삭제 코딩 풀은 데이터 지속성을 보장하는 데 필요한 디스크 공간을 줄일 수 있지만 복제보다 비용이 약간 더 많이 듭니다.

Ceph 스토리지 전략에는 데이터 지속성 요구 사항을 정의하는 작업이 포함됩니다. 데이터 지속성은 데이터 손실 없이 하나 이상의 OSD의 손실을 유지할 수 있는 기능을 의미합니다.

Ceph는 데이터를 풀에 저장하고 다음 두 가지 유형의 풀이 있습니다.

  • 복제됨
  • erasure-coded

삭제 코딩은 Ceph 스토리지 클러스터에 오브젝트를 저장하는 방법으로, 삭제 코드 알고리즘이 오브젝트를k(데이터 청크) 및 코딩 청크(m)로 분할하고 이러한 청크를 다른 OSD에 저장하는 방법입니다.

OSD가 실패하는 경우 Ceph는 다른 OSD에서 나머지 데이터(k) 및 코딩(m) 청크를 검색하고 삭제 코드 알고리즘은 해당 청크에서 오브젝트를 복원합니다.

참고

Red Hat은 쓰기 및 데이터 손실을 방지하기 위해 삭제 코드 풀의 min_sizeK+1 이상을 권장합니다.

삭제 코딩은 복제보다 스토리지 용량을 더 효율적으로 사용합니다. n-replication 접근 방식은 오브젝트의 n 복사본(기본적으로 Ceph에서 3x)을 유지 관리하지만 삭제 코딩은 k + m 청크만 유지합니다. 예를 들어 3 데이터 및 2 코딩 청크는 원래 오브젝트의 저장 공간 1.5x를 사용합니다.

삭제 코딩은 복제보다 스토리지 오버헤드가 적지만 삭제 코드 알고리즘은 개체에 액세스하거나 복구할 때 복제보다 더 많은 RAM과 CPU를 사용합니다. 삭제 코딩은 데이터 스토리지가 지속성 및 내결함성이어야 하지만 빠른 읽기 성능(예: 콜드 스토리지, 기록 레코드 등)이 필요하지 않은 경우 유용합니다.

Ceph에서 코드를 지우는 방법에 대한 수치적이고 자세한 설명은 Red Hat Ceph Storage 7 아키텍처 가이드Ceph Erasure Coding 섹션을 참조하십시오.

Ceph는 k=2m=2 로 클러스터를 초기화할 때 기본 삭제 코드 프로필을 생성합니다. 즉, Ceph에서 오브젝트 데이터를 3개의 OSD(k+m == 4)에 분배하고 Ceph는 데이터 손실 없이 OSD 중 하나를 손실할 수 있습니다. 삭제 코드 프로파일링에 대한 자세한 내용은 Erasure Code Profiles 섹션을 참조하십시오.

중요

.rgw.buckets 풀만 erasure-coded 및 기타 모든 Ceph Object Gateway 풀만 복제된 것으로 구성하십시오. 그렇지 않으면 다음 오류와 함께 새 버킷을 생성하려는 시도가 실패합니다.

set_req_state_err err_no=95 resorting to 500

그 이유는 Desure-coded 풀이 omap 작업을 지원하지 않기 때문에 특정 Ceph Object Gateway 메타데이터 풀에는 omap 지원이 필요하기 때문입니다.

5.1. 샘플 삭제 코드 풀 생성

삭제 코딩 풀을 생성하고 배치 그룹을 지정합니다. 다른 프로필을 지정하지 않는 한 ceph osd pool create 명령은 기본 프로필로 erasure-coded 풀을 생성합니다. 프로필은 두 개의 매개 변수 km 을 설정하여 데이터 중복성을 정의합니다. 이러한 매개변수는 데이터 조각이 분할되고 코딩 청크 수가 생성되는 청크 수를 정의합니다.

가장 간단한 삭제 코딩 풀은 RAID5와 동일하며 최소 4개의 호스트가 필요합니다. 2+2 프로필을 사용하여 삭제 코드 풀을 생성할 수 있습니다.

프로세스

  1. 2+2 구성이 있는 4개의 노드에서 삭제 코딩된 풀에 대해 다음 구성을 설정합니다.

    구문

    ceph config set mon mon_osd_down_out_subtree_limit host
    ceph config set osd osd_async_recovery_min_cost 1099511627776

    중요

    이는 일반적으로 삭제 코딩된 풀에는 필요하지 않습니다.

    중요

    비동기 복구 비용은 복제본의 뒤에 있는 PG 로그 항목 수와 누락된 오브젝트 수입니다. osd_target_pg_log_entries_per_osd30000 입니다. 따라서 하나의 PG가 있는 OSD에는 30000 개의 항목이 있을 수 있습니다. osd_async_recovery_min_cost 는 64비트 정수이므로 2+2 구성이 있는 EC 풀의 경우 osd_async_recovery_min_cost 값을 1099511627776 으로 설정합니다.

    참고

    4개의 노드가 있는 EC 클러스터의 경우 K+M 값은 2+2입니다. 노드가 완전히 실패하면 4개의 청크로 복구되지 않으며 3개의 노드만 사용할 수 있습니다. 호스트 다운 시나리오에서 mon_osd_down_out_subtree_limit 값을 host로 설정하면 OSD가 표시되지 않으므로 데이터가 재조정되지 않고 노드가 다시 가동될 때까지 대기합니다.

  2. 2+2 구성을 사용하는 삭제 코드 풀의 경우 프로필을 설정합니다.

    구문

    ceph osd erasure-code-profile set ec22 k=2 m=2 crush-failure-domain=host

    예제

    [ceph: root@host01 /]# ceph osd erasure-code-profile set ec22 k=2 m=2 crush-failure-domain=host
    
    Pool : ceph osd pool create test-ec-22 erasure ec22

  3. erasure-coded 풀을 생성합니다.

    예제

    [ceph: root@host01 /]# ceph osd pool create ecpool 32 32 erasure
    
    pool 'ecpool' created
    $ echo ABCDEFGHI | rados --pool ecpool put NYAN -
    $ rados --pool ecpool get NYAN -
    ABCDEFGHI

    32는 배치 그룹의 수입니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.