7.5. 배치 그룹 증가
PG(배치 그룹) 수가 충분하지 않으면 Ceph 클러스터 및 데이터 배포 성능에 영향을 미칩니다. 이는 가까운 전체 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_priority
매개변수의 값을 줄입니다.[ceph: root@host01 /]# ceph tell osd.* injectargs '--osd_max_backfills 1 --osd_recovery_max_active 1 --osd_recovery_op_priority 1'
shallow 및 deep scrubbing을 비활성화합니다.
[ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrub
-
풀 계산기당 Ceph PG(배치 그룹) 를 사용하여
pg_num
및pgp_num
매개변수의 최적 값을 계산합니다. 원하는 값에 도달할 때까지
pg_num
값을 작은 증분으로 늘립니다.- 시작 증가 값을 확인합니다. 2의 전원을 끄는 매우 낮은 값을 사용하고 클러스터에 미치는 영향을 결정할 때 늘리십시오. 최적의 값은 풀 크기, OSD 수 및 클라이언트 I/O 로드에 따라 달라집니다.
pg_num
값을 늘립니다.구문
ceph osd pool set POOL pg_num VALUE
풀 이름과 새 값을 지정합니다. 예를 들면 다음과 같습니다.
예
[ceph: root@host01 /]# ceph osd pool set data pg_num 4
클러스터 상태를 모니터링합니다.
예
[ceph: root@host01 /]# ceph -s
PGs 상태는
creating
에서active+clean
으로 변경됩니다. 모든 PG가active+clean
상태가 될 때까지 기다립니다.
원하는 값에 도달할 때까지
pgp_num
값을 작은 증분으로 늘립니다.- 시작 증가 값을 확인합니다. 2의 전원을 끄는 매우 낮은 값을 사용하고 클러스터에 미치는 영향을 결정할 때 늘리십시오. 최적의 값은 풀 크기, OSD 수 및 클라이언트 I/O 로드에 따라 달라집니다.
pgp_num
값을 늘립니다.구문
ceph osd pool set POOL pgp_num VALUE
풀 이름과 새 값을 지정합니다. 예를 들면 다음과 같습니다.
[ceph: root@host01 /]# ceph osd pool set data pgp_num 4
클러스터 상태를 모니터링합니다.
[ceph: root@host01 /]# ceph -s
PG 상태는
피어링
,wait_backfill
,백필링
,복구
등을 통해 변경됩니다. 모든 PG가active+clean
상태가 될 때까지 기다립니다.
- PG 수가 충분하지 않은 모든 풀에 대해 이전 단계를 반복합니다.
osd max backfills
,osd_recovery_max_active
,osd_recovery_op_priority
를 기본값으로 설정합니다.[ceph: root@host01 /]# ceph tell osd.* injectargs '--osd_max_backfills 1 --osd_recovery_max_active 3 --osd_recovery_op_priority 3'
shallow 및 deep scrubbing을 활성화합니다.
[ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrub
추가 리소스
- Nearfull OSDs를 참조하십시오.
- Red Hat Ceph Storage 관리 가이드의 모니터링 배치 그룹 세트 섹션을 참조하십시오.
- 자세한 내용은 3장. 네트워킹 문제 해결 을 참조하십시오.
- Ceph 모니터와 관련된 가장 일반적인 오류 문제 해결에 대한 자세한 내용은 4장. Ceph 모니터 문제 해결 을 참조하십시오.
- Ceph OSD와 관련된 가장 일반적인 오류 문제 해결에 대한 자세한 내용은 5장. Ceph OSD 문제 해결 을 참조하십시오.
- PG 자동 스케일러에 대한 자세한 내용은 Red Hat Ceph Storage Storage Strategies Guide의 자동 확장 배치 그룹 섹션을 참조하십시오.