9.6. 배치 그룹 늘리기
충분하지 않은 PG(배치 그룹) 수는 Ceph 클러스터 및 데이터 배포 성능에 영향을 미칩니다. 이는 nearfull osds
오류 메시지의 주요 원인 중 하나입니다.
권장 비율은 OSD당 100~300개의 PG입니다. 이 비율은 클러스터에 OSD를 추가할 때 감소할 수 있습니다.
pg_num
및 pgp_num
매개 변수는 PG 개수를 결정합니다. 이러한 매개 변수는 각 풀별로 구성되므로 각 풀을 PG 수가 적을 별도로 조정해야 합니다.
PG 개수를 늘리는 것은 Ceph 클러스터에서 수행할 수 있는 가장 집약적인 프로세스입니다. 속도가 느리고 체계적으로 수행되지 않은 경우 이 프로세스는 심각한 성능 영향을 미칠 수 있습니다. pgp_num
을 늘리면 프로세스를 중지하거나 되돌릴 수 없으며 완료해야 합니다. 비즈니스 크리티컬 처리 시간 할당 외부에서 PG 수를 늘리고 모든 클라이언트에 잠재적인 성능 영향을 경고하는 것이 좋습니다. 클러스터가 HEALTH_ERR
상태에 있는 경우 PG 개수를 변경하지 마십시오.
사전 요구 사항
- 정상 상태에서 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
절차
개별 OSD 및 OSD 호스트에 데이터 재배포 및 복구로 인한 영향을 줄입니다.
osd max backfills, osd
_recovery_max_active 및
매개변수 값을 낮춥니다.osd_
recovery_op_priorityceph tell osd.* injectargs '--osd_max_backfills 1 --osd_recovery_max_active 1 --osd_recovery_op_priority 1'
[root@mon ~]# ceph tell osd.* injectargs '--osd_max_backfills 1 --osd_recovery_max_active 1 --osd_recovery_op_priority 1'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 탬프 및 심층 스크럽을 비활성화합니다.
ceph osd set noscrub ceph osd set nodeep-scrub
[root@mon ~]# ceph osd set noscrub [root@mon ~]# ceph osd set nodeep-scrub
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
풀 계산기당 Ceph 배치 그룹(PG) 을 사용하여
pg_num 및
매개 변수의 최적 값을 계산합니다.pgp_num
원하는 값에 도달할 때까지
pg_num
값을 작은 단위로 늘립니다.- 시작 증가 값을 확인합니다. 2의 거듭제곱인 매우 낮은 값을 사용하고 클러스터에 미치는 영향을 결정할 때 늘립니다. 최적의 값은 풀 크기, OSD 수 및 클라이언트 I/O 부하에 따라 다릅니다.
pg_num
값이 증가합니다.ceph osd pool set POOL pg_num VALUE
ceph osd pool set POOL pg_num VALUE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 풀 이름과 새 값을 지정합니다. 예를 들면 다음과 같습니다.
ceph osd pool set data pg_num 4
# ceph osd pool set data pg_num 4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 상태를 모니터링합니다.
ceph -s
# ceph -s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PGs 상태는
creating
에서active+clean
로 변경됩니다. 모든 PG가active+clean
상태가 될 때까지 기다립니다.
원하는 값에 도달할 때까지
pgp_num
값을 작은 증가로 늘립니다.- 시작 증가 값을 확인합니다. 2의 거듭제곱인 매우 낮은 값을 사용하고 클러스터에 미치는 영향을 결정할 때 늘립니다. 최적의 값은 풀 크기, OSD 수 및 클라이언트 I/O 부하에 따라 다릅니다.
pgp_num
값이 증가합니다.ceph osd pool set POOL pgp_num VALUE
ceph osd pool set POOL pgp_num VALUE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 풀 이름과 새 값을 지정합니다. 예를 들면 다음과 같습니다.
ceph osd pool set data pgp_num 4
# ceph osd pool set data pgp_num 4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 상태를 모니터링합니다.
ceph -s
# ceph -s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PGs 상태는
피어링
,wait_backfill
,백필
링,복구
등을 통해 변경됩니다. 모든 PG가active+clean
상태가 될 때까지 기다립니다.
- PG 수가 충분하지 않은 모든 풀에 대해 이전 단계를 반복합니다.
osd max backfills
,osd_recovery_max_active
및osd_recovery_op_priority
를 기본값으로 설정합니다.ceph tell osd.* injectargs '--osd_max_backfills 1 --osd_recovery_max_active 3 --osd_recovery_op_priority 3'
# ceph tell osd.* injectargs '--osd_max_backfills 1 --osd_recovery_max_active 3 --osd_recovery_op_priority 3'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 탬프 및 심층 스크럽을 활성화합니다.
ceph osd unset noscrub ceph osd unset nodeep-scrub
# ceph osd unset noscrub # ceph osd unset nodeep-scrub
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
- 거의 전체 OSD
- Red Hat Ceph Storage 4 관리 가이드 의 Monitoring Placement Group Sets 섹션