5.2. 코드 프로필 삭제


Ceph는 프로필 을 사용하여 삭제 코딩 풀을 정의합니다. Ceph는 삭제 코딩된 풀 및 관련 CRUSH 규칙을 생성할 때 프로필을 사용합니다.

Ceph는 클러스터를 초기화할 때 기본 삭제 코드 프로필을 생성하고 복제된 풀에서 두 개의 사본과 동일한 수준의 중복성을 제공합니다. 이 기본 프로필은 k=2m=2 를 정의합니다. 즉 Ceph는 오브젝트 데이터를 4개의 OSD(k+m=4)에 걸쳐 분배하고 Ceph는 데이터 손실 없이 OSD 중 하나를 손실할 수 있습니다. EC2+2에는 최소 4개의 노드 배포 공간(5노드 권장)이 필요하며 OSD 노드 1개가 일시적으로 손실될 수 있습니다.

기본 프로필을 표시하려면 다음 명령을 사용합니다.

$ ceph osd erasure-code-profile get default
k=2
m=2
plugin=jerasure
technique=reed_sol_van
Copy to Clipboard Toggle word wrap

원시 스토리지 요구 사항을 늘리지 않고 중복성을 개선하기 위해 새 프로필을 생성할 수 있습니다. 예를 들어 k=8m=4 인 프로필은 12개(k+m=12) OSD에 오브젝트를 배포하여 4개(m=4) OSD의 손실을 유지할 수 있습니다. Ceph는 오브젝트를 8 개의 청크로 분할하고 복구를 위해 4 개의 코딩 청크를 계산합니다. 예를 들어 오브젝트 크기가 8MB인 경우 각 데이터 청크는 1MB이고 각 코딩 청크는 데이터 청크와 동일한 크기이며 1MB이기도 합니다. 4개의 OSD가 동시에 실패하더라도 오브젝트가 손실되지 않습니다.

프로파일의 가장 중요한 매개변수는 스토리지 오버헤드와 데이터 지속성을 정의하기 때문에 k,mcrush-failure-domain 입니다.

중요

풀을 생성한 후에는 프로필을 변경할 수 없으므로 올바른 프로필을 선택하는 것이 중요합니다. 프로필을 수정하려면 다른 프로필을 사용하여 새 풀을 생성하고 이전 풀에서 새 풀로 오브젝트를 마이그레이션해야 합니다.

예를 들어, 원하는 아키텍처가 스토리지 오버헤드로 두 랙의 손실을 유지해야 하는 경우 다음 프로필을 정의할 수 있습니다.

$ ceph osd erasure-code-profile set myprofile \
   k=4 \
   m=2 \
   crush-failure-domain=rack
$ ceph osd pool create ecpool 12 12 erasure *myprofile*
$ echo ABCDEFGHIJKL | rados --pool ecpool put NYAN -
$ rados --pool ecpool get NYAN -
ABCDEFGHIJKL
Copy to Clipboard Toggle word wrap

기본 OSD는 Cryostat AN 오브젝트를 4개(k=4) 데이터 청크로 분할하고 두 개의 추가 청크(m=2)를 생성합니다. m 값은 데이터를 손실하지 않고 동시에 손실될 수 있는 OSD 수를 정의합니다. crush-failure-domain=rack 은 두 개의 청크가 동일한 랙에 저장되지 않도록 하는 CRUSH 규칙을 생성합니다.

중요

Red Hat은 km 에 대해 다음과 같은 jerasure 코딩 값을 지원합니다.

  • k=8 m=3
  • k=8 m=4
  • k=4 m=2
중요

누락된 OSD 수가 코딩 청크(m) 수와 일치하는 경우 삭제 코딩 풀의 일부 배치 그룹은 불완전한 상태가 됩니다. 손실된 OSD 수가 m 보다 작으면 배치 그룹이 불완전한 상태가 되지 않습니다. 두 경우 모두 데이터 손실이 발생하지 않습니다. 배치 그룹이 불완전한 상태인 경우 삭제 코딩 풀의 min_size 를 일시적으로 줄이면 복구가 가능합니다.

5.2.1. OSD 삭제-코드 프로파일설정

새 삭제 코드 프로필을 생성하려면 다음을 수행합니다.

구문

ceph osd erasure-code-profile set NAME \
         [<directory=DIRECTORY>] \
         [<plugin=PLUGIN>] \
         [<stripe_unit=STRIPE_UNIT>] \
         [<_CRUSH_DEVICE_CLASS_>]\
         [<_CRUSH_FAILURE_DOMAIN_>]\
         [<key=value> ...] \
         [--force]
Copy to Clipboard Toggle word wrap

다음과 같습니다.

디렉터리
설명
삭제 코드 플러그인이 로드되는 디렉터리 이름을 설정합니다.
유형
문자열
필수 항목
아니요.
기본
/usr/lib/ceph/erasure-code
plugin
설명
삭제 코드 플러그인을 사용하여 코딩 청크를 계산하고 누락된 청크를 복구합니다. 자세한 내용은 Erasure Code Plug-ins 섹션을 참조하십시오.
유형
문자열
필수 항목
아니요.
기본
jerasure
stripe_unit
설명
스트라이프당 데이터 청크의 데이터 양입니다. 예를 들어, 두 개의 데이터 청크와 stripe_unit=4K 가 있는 프로필은 청크 0에 0-4K의 범위를 청크 0, 4K-8K에 청크 1에 다음 8K-12K를 다시 청크 0으로 설정합니다. 최상의 성능을 위해 4K의 배수여야 합니다. 기본값은 풀이 생성될 때 monitor 구성 옵션 osd_pool_erasure_code_stripe_unit 에서 가져옵니다. 이 프로필을 사용하는 풀의 stripe_width는 이 strip _unit 을 곱한 데이터 청크 수입니다.
유형
문자열
필수 항목
아니요.
기본
4K
crush-device-class
설명
장치 클래스 (예: hdd 또는 ssd )
유형
문자열
필수 항목
없음
기본
none, 즉 CRUSH는 클래스에 관계없이 모든 장치를 사용합니다.
crush-failure-domain
설명
실패 도메인(예: host 또는 rack )
유형
문자열
필수 항목
없음
기본
host
key
설명
나머지 키-값 쌍의 의미 체계는 삭제 코드 플러그인에 의해 정의됩니다.
유형
문자열
필수 항목
아니요.
--force
설명
동일한 이름으로 기존 프로필을 재정의합니다.
유형
문자열
필수 항목
아니요.

5.2.2. OSD 삭제-코드 프로파일제거

삭제 코드 프로필을 제거하려면 다음을 수행합니다.

구문

ceph osd erasure-code-profile rm RULE_NAME
Copy to Clipboard Toggle word wrap

풀에서 프로필을 참조하는 경우 삭제가 실패합니다.

주의

osd erasure-code-profile rm 명령을 사용하여 삭제 코드 프로필을 제거해도 삭제 코드 프로필과 관련된 관련 CRUSH 규칙이 자동으로 삭제되지는 않습니다. Red Hat은 ceph osd crush 규칙을 사용하여 관련 CRUSH 규칙을 수동으로 제거하여 예기치 않은 동작을 방지하기 위해 RULE_NAME 명령을 제거하는 것이 좋습니다.

5.2.3. OSD 삭제-코드 프로파일가져오기

삭제 코드 프로필을 표시하려면 다음을 수행합니다.

구문

ceph osd erasure-code-profile get NAME
Copy to Clipboard Toggle word wrap

5.2.4. OSD 삭제-코드 프로파일나열

모든 삭제 코드 프로필의 이름을 나열하려면 다음을 수행합니다.

구문

ceph osd erasure-code-profile ls
Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat