2.8. CRUSH 튜닝 가능 항목 개요


Ceph 프로젝트는 많은 변경 사항 및 많은 새로운 기능으로 기하급수적으로 증가했습니다. Ceph는 상업적으로 지원되는 첫 번째 주요 릴리스인 v0.48(Argonaut)부터 CRUSH 알고리즘의 특정 매개변수를 조정하는 기능을 제공합니다. 즉, 설정이 소스 코드에서 고정되지 않습니다.

고려해야 할 몇 가지 중요한 사항:

  • CRUSH 값을 조정하면 스토리지 노드 간에 일부 PG가 변경될 수 있습니다. Ceph 클러스터가 이미 많은 데이터를 저장하고 있는 경우 일부 데이터를 이동할 준비가 되어 있어야 합니다.
  • ceph-osdceph-mon 데몬에서는 업데이트된 맵을 수신하는 즉시 새 연결의 기능 비트가 필요합니다. 그러나 이미 연결된 클라이언트는 효과적으로 할아버지에서 사용할 수 있으며 새로운 기능을 지원하지 않는 경우 문제가 발생합니다. Ceph 클라이언트를 업데이트하는 Ceph Storage 클러스터 데몬을 업그레이드할 때 확인하십시오.
  • CRUSH 튜닝 가능 항목이 비레거시 값으로 설정된 경우 나중에 기존 값으로 다시 변경된 경우 기능을 지원하는 데 ceph-osd 데몬이 필요하지 않습니다. 그러나 OSD 피어링 프로세스에서는 이전 맵을 검사하고 이해해야 합니다. 따라서 클러스터가 기존 기본값을 사용하여 다시 전환된 경우에도 클러스터가 비레거시 CRUSH 값을 사용한 경우 이전 버전의 ceph-osd 데몬을 실행하지 않아야 합니다.

2.8.1. CRUSH 튜닝

CRUSH를 조정하기 전에 모든 Ceph 클라이언트와 모든 Ceph 데몬이 동일한 버전을 사용하는지 확인해야 합니다. 최근에 업그레이드한 경우 데몬을 다시 시작하고 클라이언트를 다시 연결했는지 확인합니다.

CRUSH 튜닝 가능 항목을 조정하는 가장 간단한 방법은 알려진 프로필로 변경하는 것입니다. 다음은 다음과 같습니다.

  • legacy: v0.47(pre-Argonaut) 및 이전 버전의 레거시 동작입니다.
  • Argonaut: v0.48 (Argonaut) 릴리스에서 지원하는 레거시 값입니다.
  • Cryostattail: v0.56 (Bobtail) 릴리스에서 지원하는 값입니다.
  • Firefly : v0.80 (Firefly) 릴리스에서 지원하는 값입니다.
  • Hammer: v0.94 (Hammer) 릴리스에서 지원하는 값입니다.
  • jewel: v10.0.2 (Jewel) 릴리스에서 지원하는 값입니다.
  • optimal: 현재 최상의 값입니다.
  • Default: 새 클러스터의 현재 기본값입니다.

명령을 사용하여 실행 중인 클러스터에서 프로필을 선택할 수 있습니다.

구문

# ceph osd crush tunables PROFILE
Copy to Clipboard Toggle word wrap

참고

이로 인해 일부 데이터 이동이 발생할 수 있습니다.

일반적으로 업그레이드 후 CRUSH 튜닝 가능 항목을 설정하거나 경고가 표시되는 경우 설정해야 합니다. 버전 v0.74부터 CRUSH 튜닝 가능 항목이 최적 값으로 설정되지 않으면 Ceph에서 상태 경고를 발행합니다. v0.73의 경우 최적 값이 기본값입니다.

기존 클러스터에서 튜닝 가능 항목을 조정하여 경고를 제거할 수 있습니다. 이로 인해 일부 데이터 이동(예: 10% 정도)이 발생합니다. 이는 기본 경로이지만 데이터 이동이 성능에 영향을 줄 수 있는 프로덕션 클러스터를 관리해야 합니다. 다음을 사용하여 최적의 튜닝 가능 항목을 활성화할 수 있습니다.

ceph osd crush tunables optimal
Copy to Clipboard Toggle word wrap

상황이 좋지 않고(예: 너무 많은 로드) 진행되지 않았거나 클라이언트 호환성 문제(이전 커널 cephfs 또는 rbd 클라이언트 또는 pre-bobtail librados 클라이언트)가 있는 경우 이전 프로필로 다시 전환할 수 있습니다.

구문

ceph osd crush tunables PROFILE
Copy to Clipboard Toggle word wrap

예를 들어 사전 v0.48(Argonaut) 값을 복원하려면 다음을 실행합니다.

예제

[ceph: root@host01 /]# ceph osd crush tunables legacy
Copy to Clipboard Toggle word wrap

2.8.2. CRUSH 튜닝, 하드 방법

모든 클라이언트가 최신 코드를 실행 중인지 확인할 수 있는 경우 CRUSH 맵을 추출하고 값을 수정한 후 클러스터에 다시 삽입하여 튜닝 가능 항목을 조정할 수 있습니다.

  • 최신 CRUSH 맵을 추출합니다.

    ceph osd getcrushmap -o /tmp/crush
    Copy to Clipboard Toggle word wrap
  • 튜닝 가능 항목을 조정합니다. 이러한 값은 테스트한 대규모 클러스터와 소규모 클러스터에 가장 적합한 동작을 제공하는 것으로 보입니다. 이 작업이 작동하려면 --enable-unsafe-tunables 인수를 추가로 지정해야 합니다. 극단적인 주의와 함께 이 옵션을 사용하십시오.:

    crushtool -i /tmp/crush --set-choose-local-tries 0 --set-choose-local-fallback-tries 0 --set-choose-total-tries 50 -o /tmp/crush.new
    Copy to Clipboard Toggle word wrap
  • 수정된 맵을 다시 삽입합니다.

    ceph osd setcrushmap -i /tmp/crush.new
    Copy to Clipboard Toggle word wrap

2.8.3. CRUSH 레거시 값

참조의 경우 CRUSH 튜닝 가능 항목의 레거시 값은 다음을 사용하여 설정할 수 있습니다.

crushtool -i /tmp/crush --set-choose-local-tries 2 --set-choose-local-fallback-tries 5 --set-choose-total-tries 19 --set-chooseleaf-descend-once 0 --set-chooseleaf-vary-r 0 -o /tmp/crush.legacy
Copy to Clipboard Toggle word wrap

또한 특수 --enable-unsafe-tunables 옵션이 필요합니다. 또한, 위에서 언급했듯이 기능 비트가 완전히 적용되지 않으므로 기존 값으로 되돌리는 후 이전 버전의 ceph-osd 데몬을 계속 실행하십시오.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat