1.9. 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 で割ります。

デフォルトでは、autotune_memory_target_ratio は、ハイパーコンバージドインフラストラクチャーでは 0.2、その他の環境では 0.7 です。

osd_memory_target パラメーターは、以下のように計算されます。

構文

osd_memory_target = TOTAL_RAM_OF_THE_OSD_NODE (in Bytes) * (autotune_memory_target_ratio) / NUMBER_OF_OSDS_IN_THE_OSD_NODE - (SPACE_ALLOCATED_FOR_OTHER_DAEMONS (in Bytes))

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_target7860684936 になります。

最後のターゲットは、オプションとともに設定データベースに反映されます。MEM LIMIT 列の ceph orch ps の出力で、制限と各デーモンによって消費される現在のメモリーを確認できます。

注記

Red Hat Ceph Storage 5.1 では、osd_memory_target_autotune のデフォルト設定 true は、コンピュートサービスと Ceph ストレージサービスが共存するハイパーコンバージドインフラストラクチャーでは適切ではありません。ハイパーコンバージドインフラストラクチャーでは、autotune_memory_target_ratio0.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