2.7. ECDHE 규칙
FlexVolume 규칙은 Ceph 클라이언트가 버킷과 그 안에 있는 기본 OSD를 선택하여 오브젝트를 저장하는 방법과 기본 OSD가 버킷과 보조 OSD를 선택하여 복제본 또는 코딩 청크를 저장하는 방법을 정의합니다. 예를 들어 SSD에서 두 개의 오브젝트 복제본에 대해 지원하는 대상 OSD 쌍을 선택하는 규칙과 3개의 복제본에 대해 다른 데이터 센터에서 SAS 드라이브에서 지원하는 대상 OSD 3개를 선택하는 규칙을 만들 수 있습니다.
규칙은 다음 형식을 취합니다.
- id
- 설명
- 규칙을 식별하는 고유한 정수입니다.
- 목적
- 규칙 마스크의 구성 요소입니다.
- 유형
- 정수
- 필수 항목
- 제공됨
- Default
-
0
- type
- 설명
- 스토리지 드라이브 복제 또는 Overridesure 코딩에 대한 규칙을 설명합니다.
- 목적
- 규칙 마스크의 구성 요소입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
- Default
-
복제 - 유효한 값
-
현재는
복제만 되어 있습니다.
- min_size
- 설명
- 풀이 이 수보다 복제본 수를 줄이면ECDHE에서 이 규칙을 선택하지 않습니다.
- 유형
- 정수
- 목적
- 규칙 마스크의 구성 요소입니다.
- 필수 항목
- 제공됨
- Default
-
1
- max_size
- 설명
- 풀이 이 수보다 더 많은 복제본을 만드는 경우ECDHE은 이 규칙을 선택하지 않습니다.
- 유형
- 정수
- 목적
- 규칙 마스크의 구성 요소입니다.
- 필수 항목
- 제공됨
- Default
-
10
- 단계 take <bucket-name> [class-name>]
- 설명
- 버킷 이름을 사용하고 트리를 반복하기 시작합니다.
- 목적
- 규칙 구성 요소입니다.
- 필수 항목
- 제공됨
- 예제
-
Step take datastep take data class ssd
- Step choose firstn <num> type <bucket-type>
- 설명
지정된 유형의 버킷 수를 선택합니다. 일반적으로 수는 풀의 복제본 수(즉, 풀 크기)입니다.
-
&
lt;num> == 0인 경우pool-num-replicas버킷을 선택합니다. -
<
num> > 0 && < pool-num-replicas인 경우 버킷 수를 선택합니다. -
&
lt;num> < 0인 경우pool-num-replicas - {num}를 의미합니다.
-
&
- 목적
- 규칙 구성 요소입니다.
- 사전 요구 사항
-
다음
단계 단계 또는.단계를선택합니다 - 예제
-
Step choose firstn 1 type row
- 단계 chooseleaf firstn <num> 유형 <bucket-type>
- 설명
{bucket-type}의 버킷 세트를 선택하고 버킷 세트의 각 버킷의 하위 트리에서 리프 노드를 선택합니다. 세트의 버킷 수는 일반적으로 풀의 복제본 수(즉, 풀 크기)입니다.-
&
lt;num> == 0인 경우pool-num-replicas버킷을 선택합니다. -
<
num> > 0 && < pool-num-replicas인 경우 버킷 수를 선택합니다. -
<
;num> < 0인 경우pool-num-replicas - <num>을 의미합니다.
-
&
- 목적
- 규칙 구성 요소입니다. 사용량을 사용하면 두 단계를 사용하여 장치를 선택할 필요가 없습니다.
- 사전 요구 사항
-
다음
단계 take또는step choose. - 예제
-
Step chooseleaf firstn 0 유형 행
- 출력 단계
- 설명
- 현재 값을 출력하고 스택을 제거합니다. 일반적으로 규칙 마지막에 사용되지만 동일한 규칙에서 다른 플레이버에서 선택하는 데 사용할 수도 있습니다.
- 목적
- 규칙 구성 요소입니다.
- 사전 요구 사항
-
다음
단계를 선택합니다. - 예제
-
출력 단계
- FirstN 대 indep
- 설명
-
OSD가ECDHE 맵에 표시된 경우 대체 전략ECDHE 사용을 제어합니다. 이 규칙을 복제된 풀에 사용해야 하는 경우
firstn이어야 하며 periodssure-coded 풀용인 경우indep여야 합니다. - 예제
-
OSD 1, 2, 3, 4, 5에 저장된 PG가 3이 됩니다. 첫 번째 시나리오에서는
firstn모드를 사용하여 1과 2를 선택한 다음 3을 선택하도록 계산을 조정하지만 3을 선택하므로 4와 5를 재시도하고 5를 선택한 다음 새 OSD 6을 선택합니다. 최종ECDHE 매핑 변경 사항은 1, 2, 3, 4, 5 에서 1, 2, 4, 5, 6 입니다. 두 번째 시나리오에서는 dissure-coded 풀에서indep모드를 사용하여 실패한 OSD 3을 선택하고 다시 시도한 후 6을 선택하여 1, 2, 3, 4, 5 에서 1, 2, 2, 6, 4, 5.
지정된 DestinationRule 규칙을 여러 풀에 할당할 수 있지만 단일 풀에 여러ECDHE 규칙이 있을 수는 없습니다.
2.7.1. FlexVolume 규칙 나열 링크 복사링크가 클립보드에 복사되었습니다!
명령줄에서 규칙 목록을 표시하려면 다음을 실행합니다.
구문
ceph osd crush rule list ceph osd crush rule ls
ceph osd crush rule list
ceph osd crush rule ls
2.7.2. ECDHE 규칙 덤프 링크 복사링크가 클립보드에 복사되었습니다!
특정 DestinationRule 규칙의 내용을 덤프하려면 다음을 실행합니다.
구문
ceph osd crush rule dump NAME
ceph osd crush rule dump NAME
2.7.3. ECDHE 규칙 추가 링크 복사링크가 클립보드에 복사되었습니다!
DestinationRule 규칙을 추가하려면 규칙 이름, 사용하려는 계층의 루트 노드, 복제할 버킷 유형(예: 'rack', 'row' 등)을 지정해야 합니다.
구문
ceph osd crush rule create-simple RUENAME ROOT BUCKET_NAME FIRSTN_OR_INDEP
ceph osd crush rule create-simple RUENAME ROOT BUCKET_NAME FIRSTN_OR_INDEP
Ceph는 chooseleaf 및 지정한 유형의 버킷을 사용하여 규칙을 생성합니다.
예제
[ceph: root@host01 /]# ceph osd crush rule create-simple deleteme default host firstn
[ceph: root@host01 /]# ceph osd crush rule create-simple deleteme default host firstn
다음 규칙을 생성합니다.
2.7.4. 복제 풀에 대한ECDHE 규칙 생성 링크 복사링크가 클립보드에 복사되었습니다!
복제된 풀에 대한 DestinationRule 규칙을 생성하려면 다음을 실행합니다.
구문
ceph osd crush rule create-replicated NAME ROOT FAILURE_DOMAIN CLASS
ceph osd crush rule create-replicated NAME ROOT FAILURE_DOMAIN CLASS
다음과 같습니다.
-
<
;name> : 규칙의 이름입니다. -
<
root> :ECDHE 계층 구조의 루트입니다. -
<failure-domain> : 실패 도메인 예:host또는rack. -
<
class>: 스토리지 장치 클래스입니다. 예:hdd또는ssd
예제
[ceph: root@host01 /]# ceph osd crush rule create-replicated fast default host ssd
[ceph: root@host01 /]# ceph osd crush rule create-replicated fast default host ssd
2.7.5. 시간대에 코딩된 풀에 대한 rules 생성 링크 복사링크가 클립보드에 복사되었습니다!
경유 코드 풀과 함께 사용하기 위해ECDHE 규칙을 추가하려면 규칙 이름과 지하 코드 프로필을 지정할 수 있습니다.
구문
ceph osd crush rule create-erasure RULE_NAME PROFILE_NAME
ceph osd crush rule create-erasure RULE_NAME PROFILE_NAME
예제
[ceph: root@host01 /]# ceph osd crush rule create-erasure default default
[ceph: root@host01 /]# ceph osd crush rule create-erasure default default
추가 리소스
- 자세한 내용은 Erasure 코드 프로필을 참조하십시오.
2.7.6. FlexVolume 규칙 제거 링크 복사링크가 클립보드에 복사되었습니다!
규칙을 제거하려면 다음을 실행하고 DestinationRule 규칙 이름을 지정합니다.
구문
ceph osd crush rule rm NAME
ceph osd crush rule rm NAME