2.9. CRUSH 맵 편집
일반적으로 Ceph CLI를 사용하여 런타임에 CRUSH 맵을 수정하는 것은 CRUSH 맵을 수동으로 편집하는 것보다 편리합니다. 그러나 기본 버킷 유형 변경 또는 straw
이외의 버킷 알고리즘을 사용하는 등 편집하도록 선택할 수 있는 경우가 있습니다.
기존 CRUSH 맵을 편집하려면 다음을 수행합니다.
- CRUSH 맵을 가져옵니다.
- CRUSH 맵을 컴파일 합니다.
- 하나 이상의 장치 및 버킷 및 규칙을 편집합니다.
- CRUSH 맵을 다시 컴파일합니다. ???
- CRUSH 맵을 설정합니다.
특정 풀에 대한 CRUSH 맵 규칙을 활성화하려면 일반적인 규칙 번호를 확인하고 풀을 생성할 때 풀에 해당 규칙 번호를 지정합니다.
2.9.1. CRUSH 맵 가져오기
클러스터의 CRUSH 맵을 가져오려면 다음을 실행합니다.
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}
Ceph는 컴파일된 CRUSH 맵과 출력(-o)을 사용자가 지정한 파일 이름으로 분해(-d)합니다.
2.9.3. CRUSH 맵 컴파일
CRUSH 맵을 컴파일하려면 다음을 실행합니다.
crushtool -c {decompiled-crush-map-filename} -o {compiled-crush-map-filename}
Ceph는 컴파일된 CRUSH 맵을 사용자가 지정한 파일 이름에 저장합니다.
2.9.4. CRUSH 맵 설정
클러스터의 CRUSH 맵을 설정하려면 다음을 실행합니다.
ceph osd setcrushmap -i {compiled-crushmap-filename}
Ceph는 클러스터의 CRUSH 맵으로 지정한 파일 이름의 컴파일된 CRUSH 맵을 입력합니다.