1.8. OSD メモリーの自動チューニング
OSD デーモンは、osd_memory_target
設定オプションに基づいてメモリー消費を調整します。osd_memory_target
オプションは、システムで利用可能な RAM に基づいて OSD メモリーを設定します。
Red Hat Ceph Storage が他のサービスとメモリーを共有しない専用ノードにデプロイされている場合、cephadm
は RAM の合計量とデプロイされた OSD の数に基づいて OSD ごとの消費を自動的に調整します。
デフォルトでは、Red Hat Ceph Storage 5.1 で osd_memory_target_autotune
パラメーターは true
に設定されます。
構文
ceph config set osd osd_memory_target_autotune true
OSD の追加や OSD の置き換えなど、クラスターのメンテナンスのためにストレージクラスターを Red Hat Ceph Storage 5.0 にアップグレードした後、Red Hat は osd_memory_target_autotune
パラメーターを true
に設定し、システムメモリーごとに osd メモリーを自動調整することを推奨します。
Cephadm は、mgr/cephadm/autotune_memory_target_ratio
の割合で始まります。これはデフォルトでは、システムの合計 RAM 容量の 0.7
になります。これから、非 OSDS や osd_memory_target_autotune
が false の OSD などの自動調整されないデーモンによって消費されるメモリー分を引き、残りの OSD で割ります。
osd_memory_target
パラメーターは、以下のように計算されます。
構文
osd_memory_target = TOTAL_RAM_OF_THE_OSD * (1048576) * (autotune_memory_target_ratio) / NUMBER_OF_OSDS_IN_THE_OSD_NODE - (SPACE_ALLOCATED_FOR_OTHER_DAEMONS)
SPACE_ALLOCATED_FOR_OTHER_DAEMONS には、任意で以下のデーモン領域の割り当てを含めることができます。
- Alertmanager: 1 GB
- Grafana: 1 GB
- Ceph Manager: 4 GB
- Ceph Monitor: 2 GB
- Node-exporter: 1 GB
- Prometheus: 1 GB
たとえば、ノードに OSD が 24 個あり、251 GB の RAM 容量がある場合、 osd_memory_target
は 7860684936
になります。
最後のターゲットは、オプションとともに設定データベースに反映されます。MEM LIMIT
列の ceph orch ps
の出力で、制限と各デーモンによって消費される現在のメモリーを確認できます。
Red Hat Ceph Storage 5.1 では、osd_memory_target_autotune
のデフォルト設定 true
は、コンピュートサービスと Ceph ストレージサービスが共存するハイパーコンバージドインフラストラクチャーでは適切ではありません。ハイパーコンバージドインフラストラクチャーでは、autotune_memory_target_ratio
を 0.2
に設定して、Ceph のメモリー消費を減らすことができます。
例
[ceph: root@host01 /]# ceph config set mgr mgr/cephadm/autotune_memory_target_ratio 0.2
ストレージクラスターで OSD の特定のメモリーターゲットを手動で設定できます。
例
[ceph: root@host01 /]# ceph config set osd.123 osd_memory_target 7860684936
ストレージクラスターで OSD ホストの特定のメモリーターゲットを手動で設定できます。
構文
ceph config set osd/host:HOSTNAME osd_memory_target TARGET_BYTES
例
[ceph: root@host01 /]# ceph config set osd/host:host01 osd_memory_target 1000000000
osd_memory_target_autotune
を有効にすると、既存の手動の OSD メモリーターゲット設定が上書きされます。osd_memory_target_autotune
オプションまたはその他の同様のオプションが有効になっている場合でもデーモンメモリーがチューニングされないようにするには、ホストに _no_autotune_memory
ラベルを設定します。
構文
ceph orch host label add HOSTNAME _no_autotune_memory
自動チューニングオプションを無効にし、特定のメモリーターゲットを設定して、OSD をメモリー自動チューニングから除外できます。
例
[ceph: root@host01 /]# ceph config set osd.123 osd_memory_target_autotune false [ceph: root@host01 /]# ceph config set osd.123 osd_memory_target 16G