3.3. PG Count

풀의 배치 그룹 수는 클러스터 피어가 데이터를 분산하고 재조정하는 방법에 중요한 역할을 합니다. 소규모 클러스터는 배치 그룹 수를 늘려 대규모 클러스터에 비해 많은 성능 향상을 볼 수 없습니다. 그러나 동일한 OSD에 액세스하는 많은 풀이 있는 클러스터는 Ceph OSD가 리소스를 효율적으로 사용하도록 PG 수를 신중하게 고려해야 할 수 있습니다.

작은 정보

Red Hat은 OSD당 100개에서 200개의 PG를 권장합니다.

3.3.1. PG 계산기

PG 계산기는 사용자를 위해 배치 그룹 수를 계산하고 특정 사용 사례를 해결합니다. PG 계산기는 일반적으로 동일한 규칙(CRUSH 계층 구조)을 사용하는 많은 풀이 있는 Ceph 오브젝트 게이트웨이와 같은 Ceph 클라이언트를 사용할 때 유용합니다. 소규모 클러스터의 PG 수 및 PG 수 계산에 있는 지침을 사용하여 PG 를 수동으로 계산할 수 있습니다. 그러나 PG 계산기는 PG를 계산하는 데 선호되는 방법입니다.

자세한 내용은 Red Hat Customer Portal 의 풀당 Ceph PG(배치 그룹) 를 참조하십시오.

3.3.2. 기본 PG 수 구성

풀을 생성할 때 풀에 대해 여러 배치 그룹도 생성합니다. 배치 그룹 수를 지정하지 않으면 Ceph는 일부 풀에 대해 낮은 기본값 32 를 사용합니다. 풀의 배치 그룹 수를 늘릴 수 있지만, Ceph 구성 파일에서도 적절한 기본값을 설정하는 것이 좋습니다.

참고

경고 POOL_PG_NUM_NOT_POWER_OF_TWO 메시지의 상태를 방지하려면 배치 그룹의 전원 2개를 사용합니다.

osd pool default pg num = 1024
osd pool default pgp num = 1024

배치 그룹(total) 수와 오브젝트에 사용되는 배치 그룹 수( PG 분할에서 사용됨)를 모두 설정해야 합니다. 이 값은 동일해야 합니다.

3.3.3. 소규모 클러스터용 PG Count

소규모 클러스터는 많은 수의 배치 그룹의 이점을 얻을 수 없습니다. OSD 수가 증가함에 따라 pg_numpgp_num 에 대한 올바른 값을 선택하는 것이 더 중요해졌습니다. 클러스터의 동작에 상당한 영향을 미치고 문제가 발생할 때 데이터의 내구성이 향상되기 때문입니다(즉, 심각한 이벤트가 데이터 손실로 이어질 가능성이 큽니다). 소규모 클러스터에서 PG 계산기 를 사용하는 것이 중요합니다.

3.3.4. PG 수 계산

OSD 50개가 넘는 OSD가 있는 경우 OSD당 약 50~100개의 배치 그룹을 사용하여 리소스 사용량, 데이터 지속성 및 배포를 분산하는 것이 좋습니다. OSD가 50개 미만인 경우 작은 클러스터용 PG 개수 중에서 선택하는 것이 좋습니다. 단일 개체 풀의 경우 다음 수식을 사용하여 기준선을 가져올 수 있습니다.For a single pool of objects, you can use the following formula to get a baseline:

                (OSDs * 100)
   Total PGs =  ------------
                 pool size

여기서 풀 크기는 복제된 풀의 복제본 수 또는 삭제 코딩된 풀에 대한 K+M 합계입니다( ceph osd erasure-code-profile에서 반환됨).

그런 다음 Ceph 클러스터를 설계하여 데이터 지속성, 데이터 배포 및 리소스 사용량을 최소화하는 방법에 적합한지 확인해야 합니다.

결과는 두 개의 가장 가까운 전력으로 반올림됩니다. 반올림은 선택 사항이지만 CRUSH에서 배치 그룹 간 오브젝트 수의 균형을 조정하는 것이 좋습니다.

200개의 OSD 및 풀 크기가 3개의 복제본이 있는 클러스터의 경우 다음과 같이 PG 수를 추정합니다.

   (200 * 100)
   ----------- = 6667. Nearest power of 2: 8192
        3

OSD당 약 41개의 배치 그룹으로 평가되는 200개의 OSD에 분산된 8192 배치 그룹이 있습니다. 또한 각 풀이 배치 그룹을 생성하기 때문에 클러스터에서 사용할 수 있는 풀 수도 고려해야 합니다. 합리적인 최대 PG 수가 있는지 확인하십시오.

3.3.5. 최대 PG 수

여러 데이터 풀을 사용하여 오브젝트를 저장하는 경우, 적절한 총 배치 그룹에 도달하도록 풀당 배치 그룹 수와 OSD당 배치 그룹 수의 균형을 조정해야 합니다. 목표는 시스템 리소스에 대한 비용 절감 또는 피어링 프로세스가 너무 느리지 않고 OSD당 상당히 낮은 분산을 달성하는 것입니다.

10개 풀로 구성된 예시적인 Ceph Storage 클러스터에서는 10개의 OSD에 512개의 배치 그룹이 있는 각 풀에는 총 5개의 OSD가 있으며 OSD당 512개 이상의 배치 그룹이 분배됩니다. 하드웨어 구성에 따라 너무 많은 리소스를 사용하지 않을 수 있습니다. 반면, 각각 512개의 배치 그룹이 있는 1,000개의 풀을 생성하면 OSD에서 각각 ~50,000개의 배치 그룹을 처리하고 더 많은 리소스가 필요합니다. OSD당 너무 많은 배치 그룹으로 작업하면 특히 재조정 또는 복구 중에 성능이 크게 저하될 수 있습니다.

Ceph Storage 클러스터에는 OSD당 최대 300개의 배치 그룹이 있습니다. Ceph 구성 파일에서 다른 최대값을 설정할 수 있습니다.

mon_max_pg_per_osd
작은 정보

Ceph 개체 게이트웨이는 풀 10-15개로 배포되므로 OSD당 100개 미만의 PG를 사용하여 합리적인 최대 수에 도달하는 것을 고려할 수 있습니다.