검색

3.5. 자동 확장 배치 그룹

download PDF

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

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

3.5.1. 배치 그룹 자동 확장

자동 확장기 작동 방식

자동 확장기에서는 풀을 분석하고 하위 트리별로 조정합니다. 각 풀은 다른 CRUSH 규칙에 매핑할 수 있으며 각 규칙은 서로 다른 장치에 데이터를 배포할 수 있으므로 Ceph는 계층 구조의 각 하위 트리의 사용률을 개별적으로 고려합니다. 예를 들어, 클래스 sd 의 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만 병합됩니다. 새 pg_num 값에 도달할 때까지 Ceph는 오브젝트 데이터를 병합하는 동안 천천히 작동합니다.

149 Ceph 자동 호출 0321 병합

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

Red Hat Ceph Storage 클러스터의 각 풀에는 PG의 pg_autoscale_mode 속성이 있으며, 이는 ,on 또는 warn 로 설정할 수 있습니다.

  • off: 풀에 자동 스케일링을 비활성화합니다. 각 풀에 적절한 PG 번호를 선택하는 것은 관리자에게 달려 있습니다. 자세한 내용은 배치 그룹 수 섹션을 참조하십시오.
  • On: 지정된 풀에 대한 PG 수를 자동으로 조정합니다.
  • warn: PG 수를 조정해야 할 때 상태 경고를 표시합니다.
참고

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

자동 스케일러는 bulk 플래그를 사용하여 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

  • 기존 풀의 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 는 풀에 저장된 데이터의 양입니다.

TARGET 크기 (있는 경우)는 관리자가 이 풀에 저장하려는 것으로 예상한 데이터의 양입니다. 시스템은 계산에 두 값 중 더 큰 값을 사용합니다.

RATE 는 풀에서 사용하는 원시 스토리지 용량을 결정하는 풀의 승수입니다. 예를 들어 3 개의 복제본 풀의 비율은 3.0 인 반면 k=4,m=2 삭제 풀의 비율은 1.5 입니다.

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

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

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

EFFECTIVE 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배 이상 달라질 때만 존재합니다.

AUTOSCALEpg_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_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

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.