3.4. PG Count
풀의 배치 그룹 수는 클러스터 피어가 어떻게 데이터를 배포하며 데이터를 분산하고 리밸런스하는 데 중요한 역할을 합니다. 소규모 클러스터는 배치 그룹 수를 늘려 큰 클러스터와 비교하여 많은 성능 개선을 볼 수 없습니다. 그러나 여러 풀이 동일한 OSD에 액세스하는 경우 Ceph OSD에서 리소스를 효율적으로 사용할 수 있도록 PG 수를 신중하게 고려해야 할 수도 있습니다.
Red Hat은 OSD당 100~200개 PG를 권장합니다.
3.4.1. PG 계산기
PG 계산기는 사용자의 배치 그룹 수를 계산하고 특정 사용 사례를 해결합니다. PG 계산기는 Ceph Object Gateway와 같은 Ceph 클라이언트를 사용할 때 일반적으로 동일한 규칙(CRUSH 계층)을 사용하는 풀이 있는 경우 유용합니다. 여전히 Small Clusters 및 Calculating PG 개수에 대한 PG 수의 지침을 사용하여 PG를 수동으로 계산할 수 있습니다. 그러나 PG 계산기는 PG를 계산하는 데 선호되는 방법입니다.
자세한 내용은 Red Hat 고객 포털에서 풀 계산기당 Ceph PG(배치 그룹) 를 참조하십시오.
3.4.2. 기본 PG 수 구성
풀을 생성할 때 풀에 사용할 여러 배치 그룹도 생성합니다. 배치 그룹 수를 지정하지 않으면 Ceph에서 기본값 8
을 사용합니다. 이 값은 매우 낮습니다. 풀의 배치 그룹 수를 늘릴 수 있지만, Ceph 구성 파일에서도 적절한 기본값을 설정하는 것이 좋습니다.
osd pool default pg num = 100 osd pool default pgp num = 100
osd pool default pg num = 100
osd pool default pgp num = 100
배치 그룹 수(total), 객체에 사용되는 배치 그룹 수( PG 분할에서 사용됨)를 모두 설정해야 합니다. 동등해야 합니다.
3.4.3. Small 클러스터의 PG 수
소규모 클러스터는 많은 수의 배치 그룹을 활용할 수 없습니다. OSD 수가 증가함에 따라 pg_num
및 pgp_num
에 대한 올바른 값을 선택하는 것은 클러스터 동작에 상당한 영향을 미치며 문제가 발생할 때 데이터의 내구성에 큰 영향을 미치기 때문에 더 중요합니다. 작은 클러스터에서 PG 계산기 를 사용하는 것이 중요합니다.
3.4.4. PG 수 계산
OSD가 50개 이상인 경우 리소스 사용량, 데이터 내구성 및 배포의 균형을 맞추기 위해 OSD당 약 50-100개의 배치 그룹을 사용하는 것이 좋습니다. OSD가 50개 미만인 경우 Small Clusters의 PG Count 중에서 선택하는 것이 좋습니다. 단일 개체 풀의 경우 다음 수식을 사용하여 기준선을 얻을 수 있습니다.For a single pool of objects, you can use the following formula to get a baseline:
(OSDs * 100) Total PGs = ------------ pool size
(OSDs * 100)
Total PGs = ------------
pool size
여기서 풀 크기는 복제된 풀의 복제본 수이거나 코딩된 풀의 K+M
합계입니다( ceph osd erasure-code-profile
에 의해 반환됨).
그런 다음 데이터 내구성, 데이터 배포 및 리소스 사용량을 최소화하도록 Ceph 클러스터를 설계하는 방식과 결과가 적합한지 확인해야 합니다.
결과는 2의 가장 가까운 힘으로 반올림되어야합니다. rounding up은 선택 사항이지만 CRUSH가 배치 그룹 간에 개체 수를 균등하게 분산하는 것이 좋습니다.
200개의 OSD가 있고 풀 크기 3개의 복제본이 있는 클러스터의 경우 PG 수를 다음과 같이 추정합니다.
(200 * 100) ----------- = 6667. Nearest power of 2: 8192 3
(200 * 100)
----------- = 6667. Nearest power of 2: 8192
3
8192개의 배치 그룹을 사용하여 200개의 OSD에 분산하여 OSD당 약 41개의 배치 그룹으로 평가됩니다. 또한 각 풀에서 배치 그룹도 생성되므로 클러스터에서 사용할 수 있는 풀 수도 고려해야 합니다. 최대 PG 수 를 합리적인 지 확인하십시오.
3.4.5. PG 수 최대
오브젝트를 저장하는 데 여러 데이터 풀을 사용하는 경우 적절한 총 배치 그룹에 도달하도록 풀당 배치 그룹 수와 OSD당 배치 그룹 수의 균형을 유지해야 합니다. 시스템 리소스에 대한 과세를 늦추거나 피어링 프로세스를 너무 느릴 수 있도록 하는 것이 목표입니다.
10개의 OSD에서 512개의 배치 그룹이 있는 각 풀은 10개의 풀로 구성된 예시적인 Ceph 스토리지 클러스터에는 OSD당 총 5,120개의 배치 그룹이 10개 또는 OSD당 512개 배치 그룹이 있습니다. 하드웨어 구성에 따라 너무 많은 리소스를 사용하지 않을 수 있습니다. 대조적으로 각각 512개의 배치 그룹이 있는 1,000개의 풀을 생성하는 경우 OSD는 각각 ~50,000개의 배치 그룹을 처리하므로 더 많은 리소스가 필요합니다. OSD당 너무 많은 배치 그룹을 사용하여 작업을 수행하면 특히 재조정 또는 복구 중에 성능이 크게 저하될 수 있습니다.
Ceph Storage Cluster는 OSD당 최대 300개의 배치 그룹이 있습니다. Ceph 구성 파일에서 다른 최대 값을 설정할 수 있습니다.
mon pg warn max per osd
mon pg warn max per osd
Ceph Object Gateway는 10-15개의 풀로 배포되므로 OSD당 100개 미만의 PG를 사용하여 합리적인 최대 수에 도달하는 것을 고려할 수 있습니다.