2.4. 장치 클래스


Ceph의 CRUSH 맵은 데이터 배치를 제어할 수 있는 유연성을 제공합니다. 이는 Ceph의 가장 큰 강점 중 하나입니다. 초기 Ceph 배포에서는 하드 디스크 드라이브를 거의 독점적으로 사용했습니다. 현재 Ceph 클러스터는 HDD, SSD, NVMe 또는 다양한 클래스의 다양한 클래스와 같은 여러 유형의 스토리지 장치로 자주 빌드됩니다. 예를 들어 Ceph Object Gateway 배포에서 클라이언트가 느린 HDD에 데이터를 저장할 수 있는 스토리지 정책과 빠른 SSD에 데이터를 저장하기 위한 기타 스토리지 정책을 사용하는 것이 일반적입니다. Ceph Object Gateway 배포에는 버킷 인덱스에 대해 fast SSD에서 지원하는 풀이 있을 수 있습니다. 또한 OSD 노드에는 CRUSH 맵에 표시되지 않는 저널 또는 쓰기 로그에만 사용되는 SSD가 자주 있습니다. 이러한 복잡한 하드웨어 시나리오에서는 CRUSH 맵을 수동으로 편집해야 하는데, 이는 시간이 오래 걸리며 번거로울 수 있습니다. 스토리지 장치의 다른 클래스에 대해 다른 CRUSH 계층 구조가 있을 필요는 없습니다.

CRUSH 규칙은 CRUSH 계층 구조에서 작동합니다. 그러나 스토리지 장치의 다른 클래스가 동일한 호스트에 있는 경우 프로세스는 각 장치 클래스에 대해 여러 CRUSH 계층 구조를 생성하는 사용자가 더 복잡해지고 CRUSH 계층 구조 관리를 자동화하는 start 옵션에서 osd crush 업데이트를 비활성화해야 합니다. 장치 클래스는 CRUSH 규칙에 사용할 장치 클래스를 알려주고 CRUSH 관리 작업을 크게 단순화하여 이러한 번거로움을 제거합니다.

참고

ceph osd tree 명령에는 장치 클래스를 반영하는 열이 있습니다.

2.4.1. 장치 클래스 설정

OSD의 장치 클래스를 설정하려면 다음을 실행합니다.

구문

ceph osd crush set-device-class  CLASS OSD_ID [OSD_ID..]
Copy to Clipboard Toggle word wrap

예제

[ceph: root@host01 /]# ceph osd crush set-device-class hdd osd.0 osd.1
[ceph: root@host01 /]# ceph osd crush set-device-class ssd osd.2 osd.3
[ceph: root@host01 /]# ceph osd crush set-device-class bucket-index osd.4
Copy to Clipboard Toggle word wrap

참고

Ceph는 장치에 클래스를 자동으로 할당할 수 있습니다. 그러나 클래스 이름은 단순히 임의의 문자열입니다. hdd,ssd 또는 nvme 를 준수할 필요가 없습니다. 위 예제에서 bucket-index 라는 장치 클래스는 Ceph Object Gateway 풀에서 버킷 인덱스 워크로드를 독점적으로 사용하는 SSD 장치를 나타낼 수 있습니다. 이미 설정된 장치 클래스를 변경하려면 ceph osd crush rm-device-class 를 먼저 사용합니다.

2.4.2. 장치 클래스 제거

OSD의 장치 클래스를 제거하려면 다음을 실행합니다.

구문

ceph osd crush rm-device-class CLASS OSD_ID [OSD_ID..]
Copy to Clipboard Toggle word wrap

예제

[ceph: root@host01 /]# ceph osd crush rm-device-class hdd osd.0 osd.1
[ceph: root@host01 /]# ceph osd crush rm-device-class ssd osd.2 osd.3
[ceph: root@host01 /]# ceph osd crush rm-device-class bucket-index osd.4
Copy to Clipboard Toggle word wrap

2.4.3. 장치 클래스 이름 변경

해당 클래스를 사용하는 모든 OSD의 장치 클래스 이름을 변경하려면 다음을 실행합니다.

구문

ceph osd crush class rename OLD_NAME NEW_NAME
Copy to Clipboard Toggle word wrap

예제

[ceph: root@host01 /]# ceph osd crush class rename hdd sas15k
Copy to Clipboard Toggle word wrap

2.4.4. 장치 클래스 나열

CRUSH 맵의 장치 클래스를 나열하려면 다음을 실행합니다.

구문

ceph osd crush class ls
Copy to Clipboard Toggle word wrap

출력은 다음과 같습니다.

예제

[
    "hdd",
    "ssd",
    "bucket-index"
]
Copy to Clipboard Toggle word wrap

2.4.5. 장치 클래스의 OSD 나열

특정 클래스에 속하는 모든 OSD를 나열하려면 다음을 실행합니다.

구문

ceph osd crush class ls-osd CLASS
Copy to Clipboard Toggle word wrap

예제

[ceph: root@host01 /]# ceph osd crush class ls-osd hdd
Copy to Clipboard Toggle word wrap

출력은 OSD 번호 목록일 뿐입니다. 예를 들면 다음과 같습니다.

0
1
2
3
4
5
6
Copy to Clipboard Toggle word wrap

2.4.6. 클래스별 CRUSH 규칙 나열

동일한 클래스를 참조하는 모든 CRUSH 규칙을 나열하려면 다음을 실행합니다.

구문

ceph osd crush rule ls-by-class CLASS
Copy to Clipboard Toggle word wrap

예제

[ceph: root@host01 /]# ceph osd crush rule ls-by-class hdd
Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat