5.11. 배치 그룹 자동 스케일러
PG(배치 그룹) 튜닝은 PG 계산기를 사용하여 pg_num
의 숫자 연결 수를 수동으로 연결하는 데 사용합니다. Red Hat Ceph Storage 4.1부터는 pg_autoscaler
Ceph 관리자 모듈을 활성화하면 PG 튜닝을 자동으로 수행할 수 있습니다. PG 자동 스케일러는 풀 단위로 구성되며 pg_num
은 2의 힘으로 확장됩니다. PG 자동 스케일러는 제안된 값이 실제 값의 3배 이상인 경우에만 pg_num
에 대한 변경을 제안합니다.
PG 자동 스케일러에는 세 가지 모드가 있습니다.
warn
-
새 풀과 기존 풀의 기본 모드입니다. 제안된
pg_num
값이 현재pg_num
값과 너무 많이 다른 경우 상태 경고가 생성됩니다. on
-
풀의
pg_num
이 자동으로 조정됩니다. off
-
모든 풀에 대해 자동 스케일러를 해제할 수 있지만 스토리지 관리자는 풀의
pg_num
값을 수동으로 설정해야 합니다.
풀에 있는 PG 자동 스케일러를 활성화하면 ceph osd 풀 autoscale-status
명령을 실행하여 값 조정을 볼 수 있습니다. autoscale-status
명령은 풀의 현재 상태를 표시합니다. autoscale-status
열 설명은 다음과 같습니다.
SIZE
- 풀에 저장된 총 데이터 양(바이트)을 보고합니다. 이 크기에는 오브젝트 데이터 및 OMAP 데이터가 포함됩니다.
TARGET SIZE
- 스토리지 관리자가 제공하는 대로 예상 풀 크기를 보고합니다. 이 값은 풀의 이상적인 PG 수를 계산하는 데 사용됩니다.
RATE
- 복제 버킷에 대한 복제 요소 또는 삭제 코드된 풀의 비율입니다.
RAW CAPACITY
- pool이 mapped하는 스토리지 장치의 원시 스토리지 용량은 ArgoCD에 따라 다릅니다.
RATIO
- 풀에서 소비되는 총 스토리지의 비율입니다.
대상 비율
- 스토리지 관리자가 제공하는 대로 풀에서 사용하는 총 스토리지 클러스터 공간의 일부를 지정하는 비율입니다.
PG_NUM
- 풀의 현재 배치 그룹 수입니다.
NEW PG_NUM
- 제안된 값입니다. 이 값은 설정되지 않을 수 있습니다.
AUTOSCALE
- 풀에 설정된 PG 자동 스케일러 모드입니다.
추가 리소스
5.11.1. 배치 그룹 자동 스케일러 구성
Red Hat Ceph Storage 클러스터에서 새 풀에 대한 PG 자동 스케일러를 활성화하고 구성하도록 Ceph Ansible을 구성할 수 있습니다. 기본적으로 배치 그룹(PG) 자동 스케일러는 해제되어 있습니다.
현재는 기존 Red Hat Ceph Storage 설치가 아닌 새로운 Red Hat Ceph Storage 배포에서 배치 그룹 자동 스케일러를 설정할 수 있습니다.
사전 요구 사항
- Ansible 관리 노드에 액세스
- Ceph 모니터 노드에 액세스합니다.
절차
-
Ansible 관리 노드에서 편집할
group_vars/all.yml
파일을 엽니다. pg_autoscale_mode
옵션을True
로 설정하고 새 또는 기존 풀의target_size_ratio
값을 설정합니다.예제
openstack_pools: - {"name": backups, "target_size_ratio": 0.1, "pg_autoscale_mode": True, "application": rbd} - {"name": volumes, "target_size_ratio": 0.5, "pg_autoscale_mode": True, "application": rbd} - {"name": vms, "target_size_ratio": 0.2, "pg_autoscale_mode": True, "application": rbd} - {"name": images, "target_size_ratio": 0.2, "pg_autoscale_mode": True, "application": rbd}
참고target_size_ratio
값은 스토리지 클러스터의 다른 풀과 관련된 weight 백분율입니다.-
group_vars/all.yml
파일에 변경 사항을 저장합니다. 적절한 Ansible 플레이북을 실행합니다.
베어 메탈 배포
[ansible@admin ceph-ansible]$ ansible-playbook site.yml -i hosts
컨테이너 배포
[ansible@admin ceph-ansible]$ ansible-playbook site-container.yml -i hosts
Ansible 플레이북이 완료되면 Ceph Monitor 노드에서 자동 스케일러 상태를 확인합니다.
[user@mon ~]$ ceph osd pool autoscale-status