5.11. 配置グループ autoscaler
配置グループ (PG) チューニングでは、PG の計算ツールを使用して、pg_num
の数字のプラグを手動で処理します。Red Hat Ceph Storage 4.1 以降では、Ceph Manager モジュール pg_autoscaler
を有効にすると、PG のチューニングを自動的に実行できます。PG autoscaler はプールごとに設定され、pg_num
を 2 の累乗でスケーリングします。PG Autoscaler は、推奨される値が実際の値が 3 倍を超える場合に、pg_num
への変更のみを提案します。
PG autoscaler には 3 つのモードがあります。
warn
-
新しいプールおよび既存のプールのデフォルトモード。推奨される
pg_num
の値が現在のpg_num
値と大きく異なる場合に、ヘルス警告が生成されます。 on
-
プールの
pg_num
は、自動的に調整されます。 off
-
プールでは Autoscaler をオフにすることができますが、ストレージ管理者はプールの
pg_num
値を手動で設定する必要があります。
プールに対して PG autoscaler が有効になったら、ceph osd pool autoscale-status
コマンドを実行して値の調整を表示できます。この autoscale-status
コマンドは、プールの現在の状態を示します。autoscale-status
列の説明は次のとおりです。
SIZE
- プールに保存されているデータの合計量をバイト単位で報告します。このサイズには、オブジェクトデータと OMAP データが含まれます。
TARGET SIZE
- ストレージ管理者が提供するプールの予想されるサイズを報告します。この値は、プールの理想的な PG 数を計算するために使用されます。
RATE
- レプリケートされたバケットのレプリケーション係数、またはイレイジャーコーディングされたプールの比率。
RAW CAPACITY
- プールが CRUSH に基づいてマップされるストレージデバイスの raw ストレージ容量。
RATIO
- プールによって消費されるストレージの合計比率。
TARGET RATIO
- ストレージ管理者によって提供された、ストレージクラスター全体のスペースのどの部分がプールによって消費されるかを指定する比率。
PG_NUM
- プールの現在の配置グループ数。
NEW PG_NUM
- 提案される値。この値は設定できません。
AUTOSCALE
- プールに設定された PG Autoscaler モード。
関連情報
5.11.1. 配置グループ autoscaler の設定
Ceph Ansible を設定して、Red Hat Ceph Storage クラスターの新規プールの PG Autoscaler を有効および設定することができます。デフォルトでは、配置グループ (PG) はオフになっています。
現在、新しい Red Hat Ceph Storage デプロイメントでのみ配置グループ Autoscaler を設定でき、既存の Red Hat Ceph Storage インストールには設定できません。
前提条件
- Ansible 管理ノードへのアクセス
- Ceph Monitor ノードへのアクセス
手順
-
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
値は、ストレージクラスター内の他のプールとの対比で、重みの値になります。-
group_vars/all.yml
ファイルへの変更を保存します。 適切な Ansible Playbook を実行します。
ベアメタル デプロイメント
[ansible@admin ceph-ansible]$ ansible-playbook site.yml -i hosts
コンテナー デプロイメント
[ansible@admin ceph-ansible]$ ansible-playbook site-container.yml -i hosts
Ansible Playbook が完了したら、Ceph Monitor ノードから Autoscaler のステータスを確認します。
[user@mon ~]$ ceph osd pool autoscale-status