검색

1.5. Ceph Manager 밸런서 모듈 사용

download PDF

밸런서는 OSD에서 배치 그룹 배치 또는 PG를 자동 또는 감독 방식으로 수행하기 위해 Ceph Manager용 모듈입니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터

밸런서를 시작합니다.

  1. balancer 모듈이 활성화되었는지 확인합니다.

    [root@mon ~]# ceph mgr module enable balancer
  2. balancer 모듈을 켭니다.

    [root@mon ~]# ceph balancer on

모드

현재 지원되는 두 가지 밸런서 모드가 있습니다.

  • crush-compat: CRUSH compat 모드는 Ceph Luminous에 도입된 compat weight-set 기능을 사용하여 CRUSH 계층 구조의 장치에 대한 다른 가중치 집합을 관리합니다. 일반 가중치는 장치에 저장하려는 데이터의 대상 양을 반영하기 위해 장치의 크기로 설정되어야 합니다. 그런 다음 밸런서는 가중치 설정 값을 최적화하여 대상 배포와 일치하는 배포를 가능한 한 가깝게 달성하기 위해 작은 증분으로 조정 또는 축소합니다. PG 배치는 pseudorandom 프로세스이기 때문에 배치에는 자연 양의 변동이 있습니다. 가중치를 최적화하면 이러한 자연 변동이 발생합니다.

    이 모드는 이전 클라이언트와 완전히 호환됩니다. OSDMap 및 CRUSH 맵이 이전 클라이언트와 공유되면 밸런서에서 최적화된 가중치를 실제 가중치로 제공합니다.

    이 모드의 주요 제한 사항은 계층 구조의 하위 트리가 OSD를 공유하는 경우 다른 배치 규칙으로 밸런서가 여러 개의 CRUSH 계층을 처리할 수 없다는 것입니다. 이 구성에서는 공유 OSD에서 공간 사용률을 관리하기가 어렵기 때문에 일반적으로 권장되지 않습니다. 따라서 이 제한 사항은 일반적으로 문제가 아닙니다.

  • upmap: Luminous부터 OSDMap은 개별 OSD의 명시적 매핑을 일반 CRUSH 배치 계산에 예외적으로 저장할 수 있습니다. 이러한 upmap 항목은 PG 매핑을 세밀하게 제어할 수 있습니다. 이 CRUSH 모드는 분산 배포를 수행하기 위해 개별 PG의 배치를 최적화합니다. 대부분의 경우 이 배포는 각 OSD +/-1 PG에서 동일한 개수의 PG가 있는 "완성"입니다.

    중요

    upmap을 사용하려면 모든 클라이언트가 Red Hat Ceph Storage 3.x 이상 및 Red Hat Enterprise Linux 7.5 이상을 실행해야 합니다.

    이 기능을 사용하려면 다음을 사용하여 동종 또는 이후 클라이언트만 지원하는 데 필요하다는 사실을 클러스터에 알려주어야 합니다.

    [root@admin ~]# ceph osd set-require-min-compat-client luminous

    사전 요구 클라이언트 또는 데몬이 모니터에 연결된 경우 이 명령은 실패합니다.

    알려진 문제로 인해 kernel CephFS 클라이언트는 jewel 클라이언트를 보고합니다. 이 문제를 해결하려면 --yes-i-really-mean-it 플래그를 사용하십시오.

    [root@admin ~]# ceph osd set-require-min-compat-client luminous --yes-i-really-mean-it

    에서 사용 중인 클라이언트 버전을 확인할 수 있습니다.

    [root@admin ~]# ceph features
    주의

    Red Hat Ceph Storage 3.x에서 upmap 기능은 클러스터가 사용되는 PG의 밸런싱을 위해 Ceph Manager 밸런서 모듈에서만 사용할 수 있습니다. upmap 기능을 사용하여 PG 수동 재조정은 Red Hat Ceph Storage 3.x에서 지원되지 않습니다.

기본 모드는 crush-compat 입니다. 모드는 다음을 사용하여 변경할 수 있습니다.

[root@mon ~]# ceph balancer mode upmap

또는 다음을 수행합니다.

[root@mon ~]# ceph balancer mode crush-compat

상태

pod의 현재 상태는 다음을 사용하여 언제든지 확인할 수 있습니다.

[root@mon ~]# ceph balancer status

자동 분산

기본적으로 balancer 모듈을 활성화하면 자동 분산이 사용됩니다.

[root@mon ~]# ceph balancer on

다음을 사용하여 밸런서를 다시 끌 수 있습니다.

[root@mon ~]# ceph balancer off

이 명령은 이전 클라이언트와 역호환되는 crush-compat 모드를 사용하며 시간이 지남에 따라 데이터 배포를 약간 변경하여 OSD를 동일하게 활용합니다.

제한

클러스터가 성능이 저하되고 OSD가 실패하여 시스템이 아직 복구되지 않은 경우와 같이 cluster가 저하된 경우는 Placement 배포에서 조정되지 않습니다.

클러스터가 정상이면 밸런서에서 잘못된 배치 또는 이동해야 하는 PC의 백분율이 기본적으로 5% 미만인 만큼 해당 변경 사항을 제한합니다. 이 백분율은 max_misplaced 설정을 사용하여 조정할 수 있습니다. 예를 들어 임계값을 7%로 늘리려면 다음을 수행합니다.

[root@mon ~]# ceph config-key set mgr/balancer/max_misplaced .07

감독된 최적화

밸런서 작업은 다음과 같은 몇 가지 단계로 나뉩니다.

  1. 계획수립
  2. 현재 PG 배포에 대한 데이터 배포 품질 평가 또는 계획을실행한 후 발생하는 PG 배포를 평가합니다.
  3. 계획실행

    • 현재 배포를 평가하고 점수를 매기려면 다음을 수행합니다.

      [root@mon ~]# ceph balancer eval
    • 단일 풀의 배포를 평가하려면 다음을 수행합니다.

      [root@mon ~]# ceph balancer eval <pool-name>
    • 평가에 대한 세부 정보를 보려면 다음을 수행합니다.

      [root@mon ~]# ceph balancer eval-verbose ...
    • 현재 구성된 모드를 사용하여 계획을 생성하려면 다음을 수행합니다.

      [root@mon ~]# ceph balancer optimize <plan-name>

      <plan-name> 을 사용자 정의 계획 이름으로 바꿉니다.

    • 계획 내용을 보려면 다음을 수행합니다.

      [root@mon ~]# ceph balancer show <plan-name>
    • 이전 계획을 삭제하려면 다음을 수행합니다.

      [root@mon ~]# ceph balancer rm <plan-name>
    • 현재 기록된 계획을 보려면 상태 명령을 사용합니다.

      [root@mon ~]# ceph balancer status
    • 계획을 실행한 후 발생하는 배포 품질을 계산하려면 다음을 수행합니다.

      [root@mon ~]# ceph balancer eval <plan-name>
    • 계획을 실행하려면 다음을 수행합니다.

      [root@mon ~]# ceph balancer execute <plan-name>

      [NOTE]: 배포를 개선할 것으로 예상되는 경우에만 계획을 실행합니다. 실행 후 계획이 취소됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.