2.9. CRUSH 맵 편집

일반적으로 Ceph CLI를 사용하여 런타임에 CRUSH 맵을 수정하는 것은 CRUSH 맵을 수동으로 편집하는 것보다 편리합니다. 그러나 기본 버킷 유형 변경 또는 straw 이외의 버킷 알고리즘을 사용하는 등 편집하도록 선택할 수 있는 경우가 있습니다.

기존 CRUSH 맵을 편집하려면 다음을 수행합니다.

  1. CRUSH 맵을 가져옵니다.
  2. CRUSH 맵을 컴파일 합니다.
  3. 하나 이상의 장치 및 버킷 및 규칙을 편집합니다.
  4. CRUSH 맵을 다시 컴파일합니다. ???
  5. 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 맵을 입력합니다.