3.5. 자동 확장 배치 그룹
풀의 PG(배치 그룹) 수는 클러스터 피어링, 데이터를 배포 및 재조정하는 방법에 중요한 역할을 합니다.
PG 수를 자동 확장하여 클러스터를 더 쉽게 관리할 수 있습니다. pg-autoscaling
명령은 PG를 스케일링하기 위한 권장 사항을 제공하거나 클러스터 사용 방법에 따라 PG를 자동으로 스케일링합니다.
- 자동 확장 작동 방법에 대한 자세한 내용은 3.5.1절. “배치 그룹 자동 확장” 을 참조하십시오.
- 자동 확장을 활성화하거나 비활성화하려면 3.5.3절. “배치 그룹 자동 확장 모드 설정” 을 참조하십시오.
- 배치 그룹 스케일링 권장 사항을 보려면 3.5.4절. “배치 그룹 스케일링 권장 사항 보기” 을 참조하십시오.
- 배치 그룹 자동 스케일링을 설정하려면 3.5.5절. “배치 그룹 자동 확장 설정” 을 참조하십시오.
-
자동 스케일러를 전역적으로 업데이트하려면 다음을 참조하십시오. 3.5.6절. “
noautoscale
플래그 업데이트” - 대상 풀 크기를 설정하려면 3.6절. “대상 풀 크기 지정” 을 참조하십시오.
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
옵션을 사용하여 조정할 수 있습니다.
병합
Red Hat Ceph Storage는 두 개의 기존 PG를 더 큰 PG로 병합하여 총 PG 수를 줄입니다. 두 PG를 함께 병합하면 특히 풀의 상대적 개체가 시간이 지남에 따라 감소하거나 선택한 PG의 초기 수가 너무 큰 경우 유용할 수 있습니다. PG를 병합하는 것은 유용할 수 있지만 복잡하고 민감한 과정이기도 합니다. 병합을 수행할 때 PG에 I/O를 일시 중지하면 한 번에 하나의 PG만 병합되어 스토리지 클러스터의 성능에 미치는 영향을 최소화합니다. 새 pg_num
값에 도달할 때까지 오브젝트 데이터를 병합하는 과정에서 Ceph가 느리게 작동합니다.
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 osd pool set POOL_NAME pg_autoscale_mode on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph osd pool set testpool pg_autoscale_mode on
[ceph: root@host01 /]# ceph osd pool set testpool pg_autoscale_mode on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새로 생성된 풀에서 자동 확장을 활성화합니다.
구문
ceph config set global osd_pool_default_pg_autoscale_mode MODE
ceph config set global osd_pool_default_pg_autoscale_mode MODE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph config set global osd_pool_default_pg_autoscale_mode on
[ceph: root@host01 /]# ceph config set global osd_pool_default_pg_autoscale_mode on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 대규모 플래그를 사용하여
풀을
생성합니다.구문
ceph osd pool create POOL_NAME --bulk
ceph osd pool create POOL_NAME --bulk
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph osd pool create testpool --bulk
[ceph: root@host01 /]# ceph osd pool create testpool --bulk
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기존 풀의 대규모
플래그
를 설정하거나 설정 해제합니다.중요값은
true
,false
,1
또는0
으로 작성되어야 합니다.1
은true
와 같고0
은false
와 동일합니다. 다른 대문자로 작성하거나 다른 콘텐츠로 작성된 경우 오류가 발생합니다.다음은 잘못된 구문으로 작성된 명령의 예입니다.
[ceph: root@host01 /]# ceph osd pool set ec_pool_overwrite bulk True Error EINVAL: expecting value 'true', 'false', '0', or '1'
[ceph: root@host01 /]# ceph osd pool set ec_pool_overwrite bulk True Error EINVAL: expecting value 'true', 'false', '0', or '1'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 구문
ceph osd pool set POOL_NAME bulk true/false/1/0
ceph osd pool set POOL_NAME bulk true/false/1/0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph osd pool set testpool bulk true
[ceph: root@host01 /]# ceph osd pool set testpool bulk true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기존 풀
의
대규모 플래그를 가져옵니다.구문
ceph osd pool get POOL_NAME bulk
ceph osd pool get POOL_NAME bulk
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph osd pool get testpool bulk bulk: true
[ceph: root@host01 /]# ceph osd pool get testpool bulk bulk: true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5.4. 배치 그룹 스케일링 권장 사항 보기 링크 복사링크가 클립보드에 복사되었습니다!
풀, 상대 사용률 및 스토리지 클러스터에서 PG 수에 대한 제안된 변경 사항을 볼 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터
- 모든 노드에 대한 루트 수준 액세스.
절차
다음을 사용하여 각 풀, 상대 사용률 및 PG 수에 권장되는 모든 변경 사항을 볼 수 있습니다.
[ceph: root@host01 /]# ceph osd pool autoscale-status
[ceph: root@host01 /]# ceph osd pool autoscale-status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력은 다음과 유사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
크기
조정은 풀에 저장된 데이터 양입니다.
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
입니다. 여기서 1
은 true
와 같고 0
은 false
와 동일합니다. 기본값은 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 config set global mon_target_pg_per_osd number
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
[ceph: root@host01 /]# ceph config set global mon_target_pg_per_osd 150
[ceph: root@host01 /]# ceph config set global mon_target_pg_per_osd 150
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5.6. noautoscale 플래그 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
모든 풀에 대해 자동 스케일러를 동시에 활성화하거나 비활성화하려면 noautoscale
글로벌 플래그를 사용할 수 있습니다. 이 글로벌 플래그는 일부 OSD가 초과되거나 클러스터가 유지 관리 중인 경우 스토리지 클러스터를 업그레이드하는 동안 유용합니다. 활동 전에 플래그를 설정하고 작업이 완료되면 설정을 해제할 수 있습니다.
기본적으로 noautoscale
플래그는 off
로 설정됩니다. 이 플래그가 설정되면 모든 풀에 pg_autoscale_mode
가 해제
되고 모든 풀이 자동 스케일러가 비활성화되어 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터
- 모든 노드에 대한 루트 수준 액세스.
절차
noautoscale
플래그 값을 가져옵니다.예제
[ceph: root@host01 /]# ceph osd pool get noautoscale
[ceph: root@host01 /]# ceph osd pool get noautoscale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 활동 전에
noautoscale
플래그를 설정합니다.예제
[ceph: root@host01 /]# ceph osd pool set noautoscale
[ceph: root@host01 /]# ceph osd pool set noautoscale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 작업이 완료되면
noautoscale
플래그를 설정 해제합니다.예제
[ceph: root@host01 /]# ceph osd pool unset noautoscale
[ceph: root@host01 /]# ceph osd pool unset noautoscale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow