5.4. 버전 코드 플러그인 삭제
Ceph는 플러그인 아키텍처를 사용하여 삭제 코딩을 지원하므로 다양한 유형의 알고리즘을 사용하여 삭제 코딩된 풀을 생성할 수 있습니다. Ceph 지원: - erasure (Default)
5.4.1. Jerasure Erasure Code 플러그인 링크 복사링크가 클립보드에 복사되었습니다!
jerasure 플러그인은 가장 일반적이고 유연한 플러그인입니다. 또한 Ceph 삭제 코드된 풀의 기본값입니다.
jerasure 플러그인은 JerasureH 라이브러리를 캡슐화합니다. 매개변수에 대한 자세한 내용은 jerasure 문서를 참조하십시오.
jerasure 플러그인을 사용하여 새 삭제 코드 프로필을 생성하려면 다음 명령을 실행합니다.
다음과 같습니다.
- k
- 설명
- 각 오브젝트는 데이터크크 부분으로 분할 되며 각각 다른 OSD에 저장됩니다.
- 유형
- 정수
- 필수 항목
- 네, 필요합니다.
- 예제
-
4
- m
- 설명
- 각 오브젝트의 청크 를 계산하여 서로 다른 OSD에 저장합니다. 데이터 손실 없이 축소할 수 있는 OSD 수입니다.
- 유형
- 정수
- 필수 항목
- 네, 필요합니다.
- 예제
- 2
- technique
- 설명
- 보다 유연한 기술은 reed_sol_van 입니다. k 와 m 을 설정하는 것으로 충분합니다. cauchy_good 기술은 더 빠를 수 있지만 패킷을 신중하게 선택해야 합니다. 모든 reed_sol_r6_op,liberation,blaum_roth,liber8tion 은 m=2 로만 구성할 수 있다는 점에서 RAID6 과 동등합니다.
- 유형
- 문자열
- 필수 항목
- 아니요.
- 유효한 설정
-
reed_sol_van
reed_sol_r6_op
cauchy_orig
cauchy_good
liberation
blaum_roth
liber8tion
- 기본값
-
reed_sol_van
- packetSize
- 설명
- 인코딩은 한 번에 바이트 크기 패킷에서 수행됩니다. 올바른 패킷 크기를 선택하는 것은 어렵습니다. jerasure 문서에는 이 항목에 대한 자세한 정보가 포함되어 있습니다.
- 유형
- 정수
- 필수 항목
- 아니요.
- 기본값
-
2048
- crush-root
- 설명
- 규칙의 첫 번째 단계에 사용된 CRUSH 버킷의 이름입니다. 예를 들어, 단계가 기본값을 사용합니다.
- 유형
- 문자열
- 필수 항목
- 아니요.
- 기본값
- default
- crush-failure-domain
- 설명
- 두 청크가 동일한 실패 도메인이 있는 버킷에 없는지 확인합니다. 예를 들어, 실패 도메인이 호스트 되면 두 개의 청크가 동일한 호스트에 저장되지 않습니다. 스텝(Fasper host)을 선택하는 것과 같은 규칙 단계를 만드는 데 사용됩니다.
- 유형
- 문자열
- 필수 항목
- 아니요.
- 기본값
-
host
- 디렉터리
- 설명
- 삭제 코드 플러그인이 로드된 디렉터리 이름을 설정합니다.
- 유형
- 문자열
- 필수 항목
- 아니요.
- 기본값
-
/usr/lib/ceph/erasure-code
- --force
- 설명
- 동일한 이름으로 기존 프로필을 재정의합니다.
- 유형
- 문자열
- 필수 항목
- 아니요.
5.4.2. CRUSH 배치 제어 링크 복사링크가 클립보드에 복사되었습니다!
기본 CRUSH 규칙은 다른 호스트에 있는 OSD를 제공합니다. 예를 들면 다음과 같습니다.
chunk nr 01234567 step 1 _cDD_cDD step 2 cDDD____ step 3 ____cDDD
chunk nr 01234567
step 1 _cDD_cDD
step 2 cDDD____
step 3 ____cDDD
각 청크에 하나씩 정확히 8 개의 OSD가 필요합니다. 호스트가 두 개의 인접한 랙에 있으면 처음 4개의 청크를 첫 번째 랙에 배치하고 두 번째 랙의 마지막 4개 청크를 배치할 수 있습니다. 단일 OSD가 손실되는 경우 두 랙 간에 대역폭을 사용할 필요가 없습니다.
예를 들면 다음과 같습니다.
crush-steps='[ [ "choose", "rack", 2 ], [ "chooseleaf", "host", 4 ] ]'
crush-steps='[ [ "choose", "rack", 2 ], [ "chooseleaf", "host", 4 ] ]'
는 랙 유형의 두 개의 분쇄 버킷을 선택하는 규칙을 만들고, 각각에 대해 서로 다른 호스트 버킷에 있는 OSD 4개를 선택합니다.
더 세분화된 제어를 위해 규칙을 수동으로 생성할 수도 있습니다.