5.2.6. Nearfull OSD
ceph health detail コマンドは、以下のようなエラーメッセージを返します。
HEALTH_WARN 1 nearfull osds
osd.2 is near full at 85%
エラー内容:
クラスターが mon osd nearfull ratio defaults パラメーターで設定されている容量に到達すると、Ceph はほぼ nearfull osds メッセージを返します。デフォルトでは、このパラメーターは 0.85 に設定されています。これはクラスター容量の 85% を意味します。
Ceph は、可能な限り最適な方法で CRUSH 階層に基づいてデータを分散しますが、均等な分散を保証することはできません。不均等なデータ分散と nearfull osds メッセージの主な原因は次のとおりです。
- OSD がクラスターの OSD ノード間で分散されていない。つまり、一部の OSD ノードが他のノードよりも大幅に多くの OSD をホストしていたり、CRUSH マップの一部の OSD の重みがその容量に対して十分でない。
- 配置グループ (PG) 数が、OSD の数、ユースケース、OSD ごとのターゲット PG 数、および OSD 使用率に応じて適切でない。
- クラスターが不適切な CRUSH 設定を使用する。
- OSD のバックエンドストレージがほぼ満杯である。
この問題を解決するには、以下を行います。
- PG 数が十分であることを確認し、必要に応じてこれを増やします。
- クラスターのバージョンに最適な CRUSH tunable を使用していることを確認し、そうでない場合は調整します。
- 使用率別に OSD の重みを変更します。
OSD によって使用されるディスクの残りの容量を確認します。
特定のノードで OSD が使用するスペースの量を表示するには、次のコマンドを使用します。
[ceph: root@host01 /]# ceph osd df treeどのホストでどの OSD が最も使用されているか (フル/ニアフル) を確認した後、どのディスクが OSD の基盤ディスクとして使用されているかを確認します。ほぼ完全な OSD を含むノードにログインし、以下のコマンドを実行します。
[ceph: root@host01 /]# cephadm shell [ceph: root@host01 /]# ceph-volume lvm listクラスター上に存在するプールのリストを表示するには、次の手順を実行します。
[ceph: root@host01 /]# ceph df- 必要な場合は、新規 OSD ノードを追加します。