검색

3.5. 자동 확장 배치 그룹

download PDF

풀의 배치 그룹(PG) 수는 클러스터 피어링, 데이터 배포 및 리밸런스에서 중요한 역할을 합니다.

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

3.5.1. 배치 그룹 자동 확장

Auto-scaler의 작동 방식

auto-scaler는 풀을 분석하고 각 하위 트리에 따라 조정합니다. 각 풀은 다른 CRUSH 규칙에 매핑할 수 있으며 각 규칙은 서로 다른 장치에 데이터를 배포할 수 있으므로 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 큐는 "misplaced" 상태에 있는 오브젝트 데이터의 5% 이상 이동하지 않습니다. 이 기본 백분율은 target_max_misplaced_ratio 옵션으로 조정할 수 있습니다.

149 Ceph 자동 호출 0321 분할

병합

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

149 Ceph 자동 호출 0321 병합

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

Red Hat Ceph Storage 클러스터의 각 풀에는 에서, 또는 경고로 설정할 수 있는 PG 대한 pg_autoscale_mode 속성이 있습니다.

  • off: 풀의 자동 확장을 비활성화합니다. 관리자는 각 풀에 적절한 PG 번호를 선택합니다. 자세한 내용은 PG count 섹션을 참조하십시오.
  • On: 지정된 풀에 PG 수의 자동 조정 가능.
  • warn: PG 수를 조정해야 할 때 상태 경고가 발생합니다.
참고

Red Hat Ceph Storage 5.0 이상 릴리스에서는 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

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

    구문

    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

SIZE 는 풀에 저장된 데이터 양입니다.

존재하는 경우 관리자는 이 풀에 저장될 것으로 예상되는 데이터의 양입니다. 시스템은 계산에 두 값 중 더 큰 값을 사용합니다.

RATE 는 풀에서 사용하는 원시 스토리지 용량을 결정하는 풀의 다중값입니다. 예를 들어 3 복제본 풀의 비율은 3.0 이며 k=4,m=2 세대 코딩된 풀의 비율은 1.5 입니다.

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

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

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

EFFECTIVE RATIO.는 두 가지 방법으로 조정한 후 대상 비율입니다. 1. 대상 크기 세트가 있는 풀에서 사용할 것으로 예상되는 용량을 뺀 값입니다. 2. 대상 비율이 설정된 풀 간에 대상 비율을 정규화하여 나머지 공간을 전체적으로 대상으로 합니다. 예를 들어, 대상 비율 1.0이 있는 4 풀은 유효 비율은 0.25입니다. 시스템은 실제 비율의 더 큰 비율과 계산에 대한 효과적인 비율을 사용합니다.

BIAS.는 특정 풀에 할당될 것으로 예상되는 양에 대한 이전 정보를 기반으로 풀 PG를 수동으로 조정하는 데 사용됩니다. 풀을 만들 때 지정하지 않는 한 기본적으로 값은 1.0인 경우입니다. 풀에서 제공하는 --bias 가 많을수록 풀에서 예상하는 PG가 증가합니다.

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

AUTOSCALEpg_autoscale_mode 풀이며, 해제 또는 경고 중 하나입니다.

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

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

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

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

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

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

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

절차

  1. To adjust mon_target_pg_per_osd:

    ceph config set global mon_target_pg_per_osd number

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

    $ ceph config set global mon_target_pg_per_osd 150

3.5.5.1. 풀에 대한 최소 및 최대 배치 그룹 수 설정

자동 확장 범위를 제한하려면 PG(배포 그룹)의 최소값 및 최대 값을 지정합니다.

최소값을 설정하는 경우 Ceph는 자동으로 줄이거나 감소하지 않는 것이 좋습니다. PG의 수를 설정된 최소값보다 낮은 값으로 설정합니다.

최소값이 설정된 경우 Ceph는 자동으로 증가하거나 설정된 최대값 이상의 값으로 PG 수를 늘리지 않는 것이 좋습니다.

최소 및 최대값은 함께 또는 별도로 설정할 수 있습니다.

이 절차 외에도 ceph osd pool create 명령에는 풀 생성 시 최소 또는 최대 PG 수를 지정하는 데 사용할 수 있는 두 가지 명령줄 옵션이 있습니다.

구문

ceph osd pool create --pg-num-min NUMBER
ceph osd pool create --pg-num-max NUMBER

예제

ceph osd pool create --pg-num-min 50
ceph osd pool create --pg-num-max 150

사전 요구 사항

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

절차

  • 풀에 대한 최소 PG 수를 설정합니다.

    구문

    ceph osd pool set POOL_NAME pg_num_min NUMBER

    예제

    [ceph: root@host01 /]# ceph osd pool set testpool pg_num_min 50

  • 풀의 최대 PG 수를 설정합니다.

    구문

    ceph osd pool set POOL_NAME pg_num_max NUMBER

    예제

    [ceph: root@host01 /]# ceph osd pool set testpool pg_num_max 150

추가 리소스

  • 자세한 내용은 Red Hat Ceph Storage Storage Strategies Guide배치 그룹 자동 확장 모드를 참조하십시오.
  • 자세한 내용은 Red Hat Ceph Storage Storage Strategies GuidePG 수 를 참조하십시오.

3.5.6. noautoscale 플래그 업데이트

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

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

사전 요구 사항

  • 실행 중인 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

3.5.7. 대상 풀 크기 지정

새로 생성된 풀은 총 클러스터 용량의 일부만 사용하고 PG가 적은 수의 시스템에 나타납니다. 그러나 대부분의 경우 클러스터 관리자는 시간이 지남에 따라 대부분의 시스템 용량을 사용할 것으로 예상되는 풀을 알고 있습니다. 이 정보를 Red Hat Ceph Storage의 대상 크기 라고 하는 경우 이러한 풀은 처음부터 더 적절한 개수의 PG(pg_num)를 사용할 수 있습니다. 이 접근 방식은 pg_num 의 후속 변경 사항 및 이러한 조정을 수행할 때 데이터 이동과 관련된 오버헤드를 방지합니다.

다음과 같은 방법으로 풀의 대상 크기를 지정할 수 있습니다.

3.5.7.1. 풀의 절대 크기를 사용하여 대상 크기 지정

절차

  1. 풀의 절대 크기를 바이트 단위로 사용하여 대상 크기를 설정합니다.

    ceph osd pool set pool-name target_size_bytes value

    예를 들어 mypool 이 100T 공간을 차지할 것으로 예상되는 시스템에 지시하려면 다음을 수행합니다.

    $ ceph osd pool set mypool target_size_bytes 100T

ceph osd pool create 명령에 --target-size-bytes <bytes > 인수를 추가하여 생성 시 풀의 대상 크기를 설정할 수도 있습니다.

3.5.7.2. 총 클러스터 용량을 사용하여 대상 크기 지정

절차

  1. 총 클러스터 용량의 비율을 사용하여 대상 크기를 설정합니다.

    ceph osd pool set pool-name target_size_ratio ratio

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

    $ ceph osd pool set mypool target_size_ratio 1.0

    target_size_ratio 가 설정된 다른 풀과 관련하여 mypool 풀이 1.0을 사용할 것으로 예상되는 시스템에 지시합니다. mypool 이 클러스터의 유일한 풀인 경우 총 용량의 100% 사용량을 예상합니다. target_size_ratio 가 1.0인 두 번째 풀이 있는 경우 두 풀 모두 클러스터 용량의 50%를 사용할 것으로 예상됩니다.

ceph osd pool create 명령에 --target-size-ratio <ratio > 인수를 추가하여 생성 시 풀의 대상 크기를 설정할 수도 있습니다.

참고

불가능한 대상 크기 값(예: 총 클러스터보다 큰 용량) 또는 1.0보다 큰 용량을 지정하면 클러스터에서 POOL_ECDHEGET_SIZE_RATIO_OVERCOMMSIZE_BYTES_ BYTES_OVER COMMVERCOMMTES_OVERCOMMITTED 상태 경고가 발생합니다.

풀에 target_size_ratiotarget_size_bytes 를 모두 지정하는 경우 클러스터는 비율만 고려하여 POOL_HAS_CACHEGET_BYTES_AND_RATIO 상태 경고가 발생합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.