3.5. 자동 확장 배치 그룹


풀의 PG(배치 그룹) 수는 클러스터 피어링, 데이터를 배포 및 재조정하는 방법에 중요한 역할을 합니다.

PG 수를 자동 확장하여 클러스터를 더 쉽게 관리할 수 있습니다. pg-autoscaling 명령은 PG를 스케일링하기 위한 권장 사항을 제공하거나 클러스터 사용 방법에 따라 PG를 자동으로 스케일링합니다.

3.5.1. 배치 그룹 자동 확장

Auto-scaler의 작동 방식

자동 확장기에서는 풀을 분석하고 하위 트리별로 조정합니다. 각 풀은 서로 다른 rule에 매핑될 수 있으며 각 규칙이 서로 다른 장치에 데이터를 배포할 수 있으므로 Ceph는 계층 구조의 각 하위 트리의 사용률을 독립적으로 고려합니다. 예를 들어 클래스 ssd 의 OSD에 매핑되는 풀과 클래스 hdd 의 OSD에 매핑되는 풀은 각 장치 유형의 수에 따라 최적의 PG 개수를 갖습니다.

3.5.2. 배치 그룹 분할 및 병합

분할

Red Hat Ceph Storage는 기존 배치 그룹(PG)을 작은 PG로 분할할 수 있으므로 지정된 풀의 총 PG 수를 늘립니다. 기존 배치 그룹(PG)을 분할하면 스토리지 요구 사항이 증가함에 따라 소규모 Red Hat Ceph Storage 클러스터를 시간이 지남에 따라 확장할 수 있습니다. PG 자동 확장 기능은 pg_num 값을 늘릴 수 있으므로 스토리지 클러스터가 확장되면 기존 PG가 분할됩니다. PG 자동 확장 기능이 비활성화된 경우 pg_num 값을 수동으로 늘릴 수 있으므로 PG 분할 프로세스가 시작됩니다. 예를 들어 pg_num 값을 4 에서 16 으로 늘리면 4개의 조각으로 나뉩니다. pg_num 값을 늘리면 pgp_num 값도 증가하지만, 점진적으로 pgp_num 값이 증가합니다. 개체 데이터를 마이그레이션하면 시스템에 상당한 로드가 추가되기 때문에 스토리지 클러스터의 성능과 클라이언트 워크로드에 미치는 영향을 최소화하기 위해 이러한 점차 증가가 수행됩니다. 기본적으로 Ceph 대기열 및 는 "미플레이" 상태의 오브젝트 데이터의 5%를 초과하지 않습니다. 이 기본 백분율은 target_max_misplaced_ratio 옵션을 사용하여 조정할 수 있습니다.

149 Ceph 자동 스케일링 0321 분할

병합

Red Hat Ceph Storage는 두 개의 기존 PG를 더 큰 PG로 병합하여 총 PG 수를 줄입니다. 두 PG를 함께 병합하면 특히 풀의 상대적 개체가 시간이 지남에 따라 감소하거나 선택한 PG의 초기 수가 너무 큰 경우 유용할 수 있습니다. PG를 병합하는 것은 유용할 수 있지만 복잡하고 민감한 과정이기도 합니다. 병합을 수행할 때 PG에 I/O를 일시 중지하면 한 번에 하나의 PG만 병합되어 스토리지 클러스터의 성능에 미치는 영향을 최소화합니다. 새 pg_num 값에 도달할 때까지 오브젝트 데이터를 병합하는 과정에서 Ceph가 느리게 작동합니다.

149 Ceph 자동 축소 0321 병합

3.5.3. 배치 그룹 자동 확장 모드 설정

Red Hat Ceph Storage 클러스터의 각 풀에는 PG에 대한 pg_autoscale_mode 속성이 있으며, , 또는 경고를 해제 하도록 설정할 수 있습니다.

  • off: 풀에 대해 자동 확장을 비활성화합니다. 관리자는 각 풀에 적절한 PG 번호를 선택합니다. 자세한 내용은 배치 그룹 수 섹션을 참조하십시오.
  • On: 지정된 풀에 PG 수를 자동으로 조정할 수 있습니다.
  • 경고: PG 수가 조정되어야 할 때 상태 경고를 발생시킵니다.
참고

Red Hat Ceph Storage 5 이상 릴리스에서 pg_autoscale_mode 는 기본적으로 켜져 있습니다. 업그레이드된 스토리지 클러스터는 기존 pg_autoscale_mode 설정을 유지합니다. 새로 생성된 풀의 pg_auto_scale 모드가 켜져 있습니다. PG 수가 자동으로 조정되고 ceph 상태가 PG 수가 조정되는 동안 복구 상태가 표시될 수 있습니다.

자동 스케일러는 대규모 플래그를 사용하여 PG를 완전히 보완하여 시작해야 하는 풀을 결정하고 풀 전체의 사용량 비율도 그렇지 않은 경우에만 축소됩니다. 그러나 풀에 대규모 플래그가 없는 경우 풀은 최소한의 PG로 시작하고 풀에 더 많은 사용량이 있을 때만 풀이 시작됩니다.

참고

자동 스케일러는 겹치는 루트를 식별하고 이러한 루트가 있는 풀을 스케일링하지 못하도록 합니다. 중복되는 루트는 확장 프로세스에 문제가 발생할 수 있기 때문입니다.

절차

  • 기존 풀에서 자동 확장을 활성화합니다.

    구문

    ceph osd pool set POOL_NAME pg_autoscale_mode on

    예제

    [ceph: root@host01 /]# ceph osd pool set testpool pg_autoscale_mode on

  • 새로 생성된 풀에서 자동 확장을 활성화합니다.

    구문

    ceph config set global osd_pool_default_pg_autoscale_mode MODE

    예제

    [ceph: root@host01 /]# ceph config set global osd_pool_default_pg_autoscale_mode on

  • 대규모 플래그를 사용하여 풀을 생성합니다.

    구문

    ceph osd pool create POOL_NAME --bulk

    예제

    [ceph: root@host01 /]#  ceph osd pool create testpool --bulk

  • 기존 풀의 대규모 플래그 를 설정하거나 설정 해제합니다.

    중요

    값은 true,false,1 또는 0 으로 작성되어야 합니다. 1true 와 같고 0false 와 동일합니다. 다른 대문자로 작성하거나 다른 콘텐츠로 작성된 경우 오류가 발생합니다.

    다음은 잘못된 구문으로 작성된 명령의 예입니다.

    [ceph: root@host01 /]# ceph osd pool set ec_pool_overwrite bulk True
    Error EINVAL: expecting value 'true', 'false', '0', or '1'

    구문

    ceph osd pool set POOL_NAME bulk true/false/1/0

    예제

    [ceph: root@host01 /]#  ceph osd pool set testpool bulk true

  • 기존 풀 대규모 플래그를 가져옵니다.

    구문

    ceph osd pool get POOL_NAME bulk

    예제

    [ceph: root@host01 /]# ceph osd pool get testpool bulk
    bulk: true

3.5.4. 배치 그룹 스케일링 권장 사항 보기

풀, 상대 사용률 및 스토리지 클러스터에서 PG 수에 대한 제안된 변경 사항을 볼 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터
  • 모든 노드에 대한 루트 수준 액세스.

절차

  • 다음을 사용하여 각 풀, 상대 사용률 및 PG 수에 권장되는 모든 변경 사항을 볼 수 있습니다.

    [ceph: root@host01 /]# ceph osd pool autoscale-status

    출력은 다음과 유사합니다.

    POOL                     SIZE  TARGET SIZE  RATE  RAW CAPACITY   RATIO  TARGET RATIO  EFFECTIVE RATIO  BIAS  PG_NUM  NEW PG_NUM  AUTOSCALE  BULK
    device_health_metrics      0                 3.0        374.9G  0.0000                                  1.0       1              on         False
    cephfs.cephfs.meta     24632                 3.0        374.9G  0.0000                                  4.0      32              on         False
    cephfs.cephfs.data         0                 3.0        374.9G  0.0000                                  1.0      32              on         False
    .rgw.root               1323                 3.0        374.9G  0.0000                                  1.0      32              on         False
    default.rgw.log         3702                 3.0        374.9G  0.0000                                  1.0      32              on         False
    default.rgw.control        0                 3.0        374.9G  0.0000                                  1.0      32              on         False
    default.rgw.meta         382                 3.0        374.9G  0.0000                                  4.0       8              on         False

크기 조정은 풀에 저장된 데이터 양입니다.

TARGET 크기 (있는 경우)는 관리자가 지정한 데이터 양입니다. 시스템은 두 값 중 더 큰 계산을 사용합니다.

RATE 는 풀에서 사용하는 원시 스토리지 용량의 양을 결정하는 풀의 곱셈입니다. 예를 들어 3 개의 복제본 풀은 3.0 의 비율을 가지며 k=4,m=2 dissure 코딩된 풀은 1.5 의 비율을 갖습니다.

RAW CAPACITY 는 풀의 데이터를 저장하는 OSD의 총 원시 스토리지 용량입니다.

RATIO 는 풀이 사용하는 총 용량의 비율입니다. 즉, ratio = size * rate / raw capacity입니다.

TARGET RATIO (있는 경우 TARGET RATIO)는 관리자가 대상 비율이 설정된 다른 풀과 상대적으로 풀이 소비되도록 지정한 스토리지 비율입니다. 대상 크기 바이트와 비율을 모두 지정하면 비율이 우선합니다. TARGET RATIO 의 기본값은 풀을 생성하는 동안 지정된 경우를 제외하고 0 입니다. 풀에 제공할 --target_ratio 가 많을수록 풀이 예상하는 PG가 커집니다.

ECDHEFECTIVE RATIO 는 두 가지 방법으로 조정한 후 대상 비율입니다. 1. 대상 크기 집합을 가진 풀에서 사용할 것으로 예상되는 용량을 뺀다. 2. 대상 비율로 풀 간에 대상 비율을 표준화하여 나머지 공간을 전체적으로 대상으로 합니다. 예를 들어 대상 비율 1.0이 있는 풀 4는 유효 비율이 0.25입니다. 시스템은 실제 비율과 계산에 유효 비율을 사용합니다.

BIAS 는 특정 풀이 보유할 것으로 예상되는 PG에 대한 사전 정보를 기반으로 풀의 PG를 수동으로 조정하는 멀티플라이어로 사용됩니다. 기본적으로 풀을 만들 때 지정하지 않는 한 1.0인 경우 값입니다. 풀에서 제공하는 --bias 가 많을수록 풀에 있을 것으로 예상되는 PG가 더 커집니다.

PG_NUM 은 풀의 현재 PG 수 또는 pg_num 변경이 진행 중인 경우 풀이 진행 중인 PG의 현재 수입니다. NEW PG_NUM (있는 경우)은 제안된 PG 수입니다 (pg_num). 이는 항상 2의 힘이며 제안된 값이 현재 값과 3개 이상의 요인에 따라 달라지는 경우에만 존재합니다.

AUTOSCALE, pg_autoscale_mode 풀이며, ,off 또는 warn 있습니다.

BULK 는 PG를 완전히 보완하여 시작해야 하는 풀을 결정하는 데 사용됩니다. 사용량 비율이 풀에서 교차하는 경우에만 BULK 가 축소됩니다. 풀에 이 플래그가 없는 경우 풀은 최소 양의 PG로 시작하고 풀에 더 많은 사용량이 있을 때만 사용됩니다.

BULK 값은 true,false,1 또는 0 입니다. 여기서 1true 와 같고 0false 와 동일합니다. 기본값은 false입니다.

풀 생성 중 또는 후에 BULK 값을 설정합니다.

일괄 플래그를 사용하는 방법에 대한 자세한 내용은 풀 생성배치 그룹 자동 확장 모드를 참조하십시오.

3.5.5. 배치 그룹 자동 확장 설정

클러스터가 클러스터 사용량에 따라 PG를 자동으로 스케일링할 수 있도록 허용하는 것이 PG를 확장하는 가장 간단한 방법입니다. Red Hat Ceph Storage는 전체 시스템에 사용할 수 있는 총 스토리지와 대상 PG 수를 가져와서 각 풀에 저장된 데이터 양을 비교하고 이에 따라 PG를 적용합니다. 이 명령은 현재 PG 수(pg_num)가 계산된 또는 제안된 PG 번호에서 3배 이상 떨어져 있는 풀만 변경합니다.

OSD당 대상 PG 수는 구성 가능한 mon_target_pg_per_osd 를 기반으로 합니다. 기본값은 100 으로 설정됩니다.

절차

  • mon_target_pg_per_osd:

    구문

    ceph config set global mon_target_pg_per_osd number

    예를 들면 다음과 같습니다.

    [ceph: root@host01 /]# ceph config set global mon_target_pg_per_osd 150

3.5.6. noautoscale 플래그 업데이트

모든 풀에 대해 자동 스케일러를 동시에 활성화하거나 비활성화하려면 noautoscale 글로벌 플래그를 사용할 수 있습니다. 이 글로벌 플래그는 일부 OSD가 초과되거나 클러스터가 유지 관리 중인 경우 스토리지 클러스터를 업그레이드하는 동안 유용합니다. 활동 전에 플래그를 설정하고 작업이 완료되면 설정을 해제할 수 있습니다.

기본적으로 noautoscale 플래그는 off 로 설정됩니다. 이 플래그가 설정되면 모든 풀에 pg_autoscale_mode해제 되고 모든 풀이 자동 스케일러가 비활성화되어 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터
  • 모든 노드에 대한 루트 수준 액세스.

절차

  1. noautoscale 플래그 값을 가져옵니다.

    예제

    [ceph: root@host01 /]# ceph osd pool get noautoscale

  2. 활동 전에 noautoscale 플래그를 설정합니다.

    예제

    [ceph: root@host01 /]# ceph osd pool set noautoscale

  3. 작업이 완료되면 noautoscale 플래그를 설정 해제합니다.

    예제

    [ceph: root@host01 /]# ceph osd pool unset noautoscale

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.