2.9. CRUSH 맵 편집
일반적으로 Ceph CLI를 사용하여 런타임 시 CRUSH 맵을 수정하는 것이 CRUSH 맵을 수동으로 편집하는 것보다 편리합니다. 그러나 기본 버킷 유형 변경 또는 straw2
이외의 버킷 알고리즘을 사용하는 등 편집하도록 선택할 수 있습니다.
기존 CRUSH 맵을 편집하려면 다음을 수행합니다.
- CRUSH 맵 가져오기.
- CRUSH 맵을 컴파일합니다.
- 하나 이상의 장치 및 버킷 및 규칙을 편집합니다.
- CRUSH 맵 컴파일
- CRUSH 맵 설정.
특정 풀에 대한 CRUSH 맵 규칙을 활성화하려면 공통 규칙 번호를 확인하고 풀을 생성할 때 해당 풀의 규칙 번호를 지정합니다.
2.9.1. CRUSH 맵 가져오기
클러스터의 CRUSH 맵을 가져오려면 다음을 실행합니다.
구문
ceph osd getcrushmap -o COMPILED_CRUSHMAP_FILENAME
ceph osd getcrushmap -o COMPILED_CRUSHMAP_FILENAME
Ceph는 컴파일된 CRUSH 맵을 지정한 파일 이름에 출력(-o)합니다. CRUSH 맵은 컴파일된 양식이므로 편집하기 전에 먼저 컴파일해야 합니다.
2.9.2. CRUSH 맵 컴파일
CRUSH 맵을 컴파일하려면 다음을 실행합니다.
구문
crushtool -d COMPILED_CRUSHMAP_FILENAME -o DECOMPILED_CRUSHMAP_FILENAME
crushtool -d COMPILED_CRUSHMAP_FILENAME -o DECOMPILED_CRUSHMAP_FILENAME
Ceph는 컴파일된 CRUSH 맵을 컴파일하고 출력(-o)을 지정한 파일 이름으로 전송합니다.
2.9.3. CRUSH 맵 설정
클러스터에 CRUSH 맵을 설정하려면 다음을 실행합니다.
구문
ceph osd setcrushmap -i COMPILED_CRUSHMAP_FILENAME
ceph osd setcrushmap -i COMPILED_CRUSHMAP_FILENAME
Ceph는 클러스터의 CRUSH 맵으로 지정한 파일 이름의 컴파일된 CRUSH 맵을 입력합니다.
2.9.4. CRUSH 맵 컴파일
CRUSH 맵을 컴파일하려면 다음을 실행합니다.
구문
crushtool -c DECOMPILED_CRUSHMAP_FILENAME -o COMPILED_CRUSHMAP_FILENAME
crushtool -c DECOMPILED_CRUSHMAP_FILENAME -o COMPILED_CRUSHMAP_FILENAME
Ceph는 컴파일된 CRUSH 맵을 지정한 파일 이름에 저장합니다.