Cephadm のアラート CEPHADM_FAILED_DAEMON
を消す方法です。
トラブルなどで OSD を入れ替えた際、以下のようなアラートが表示されることがあります。
$ ceph health detail
HEALTH_WARN 2 failed cephadm daemon(s)
[WRN] CEPHADM_FAILED_DAEMON: 2 failed cephadm daemon(s)
daemon osd.2 on ceph1 is in error state
daemon osd.3 on ceph1 is in error state
cephadm ls
コマンドでホスト上の Ceph デーモンの状態を見ることができます。
今回の例では、正常な OSD.7 は "state": "running"
となっていますが、かつて落ちてしまって削除した OSD.3 は "state": "error"
となっています。
削除したはずの OSD のデーモンが Cephadm に残ってしまっており、アラートが上がっているようです。
$ cephadm ls # 一部抜粋
[
(snip)
{
"style": "cephadm:v1",
"name": "osd.3",
"fsid": "dc32e976-d0ea-11ec-bac3-dca6329a21a7",
"systemd_unit": "ceph-dc32e976-d0ea-11ec-bac3-dca6329a21a7@osd.3",
"enabled": true,
"state": "error",
"service_name": "osd.all-available-devices",
"ports": [],
"ip": null,
"deployed_by": [
"quay.io/ceph/ceph@sha256:00965b7e88c0cef116e6a47107051a4bfe952139e7b94c6cefd6607cf38a3f0f",
"quay.io/ceph/ceph@sha256:ee01a411e838382524eb172059f544486f6fd257818a7798cc120649bd8cf3f6"
],
"rank": null,
"rank_generation": null,
"memory_request": null,
"memory_limit": null,
"container_id": null,
"container_image_name": "quay.io/ceph/ceph@sha256:00965b7e88c0cef116e6a47107051a4bfe952139e7b94c6cefd6607cf38a3f0f",
"container_image_id": null,
"container_image_digests": null,
"version": null,
"started": null,
"created": "2022-05-11T12:12:12.892121Z",
"deployed": "2022-05-11T12:12:04.322157Z",
"configured": "2022-05-11T12:12:12.892121Z"
},
{
"style": "cephadm:v1",
"name": "osd.7",
"fsid": "dc32e976-d0ea-11ec-bac3-dca6329a21a7",
"systemd_unit": "ceph-dc32e976-d0ea-11ec-bac3-dca6329a21a7@osd.7",
"enabled": true,
"state": "running",
"service_name": "osd.all-available-devices",
"ports": [],
"ip": null,
"deployed_by": [
"quay.io/ceph/ceph@sha256:ee01a411e838382524eb172059f544486f6fd257818a7798cc120649bd8cf3f6",
"quay.io/ceph/ceph@sha256:00965b7e88c0cef116e6a47107051a4bfe952139e7b94c6cefd6607cf38a3f0f"
],
"rank": null,
"rank_generation": null,
"memory_request": null,
"memory_limit": null,
"container_id": "9b7c4c79ff59d4c20df98547031b081e41acf97a35f8765c6ff6ff30299cdc34",
"container_image_name": "quay.io/ceph/ceph@sha256:00965b7e88c0cef116e6a47107051a4bfe952139e7b94c6cefd6607cf38a3f0f",
"container_image_id": "5ba92db8e60dde0c145fb093cb01b83e49c9caabf31f379390e53108f3aa90c5",
"container_image_digests": [
"quay.io/ceph/ceph@sha256:ee01a411e838382524eb172059f544486f6fd257818a7798cc120649bd8cf3f6",
"quay.io/ceph/ceph@sha256:00965b7e88c0cef116e6a47107051a4bfe952139e7b94c6cefd6607cf38a3f0f"
],
"memory_usage": 102613647,
"version": "16.2.7",
"started": "2022-05-16T04:03:15.766984Z",
"created": "2022-05-15T20:32:59.134344Z",
"deployed": "2022-05-15T20:32:51.824377Z",
"configured": "2022-05-15T20:32:59.134344Z"
}
]
このような状況であがったアラートは、Cephadm 上に残った OSD デーモンの情報を削除することで消えます。 引数には対象の FSID と OSD_NUM を設定してください。
$ cephadm rm-daemon --fsid FSID --name osd.OSD_NUM --force
ちなみに、--force
オプションが無いと実行できません。
$ cephadm rm-daemon --fsid $FSID --name osd.$OSD_NUM
ERROR: must pass --force to proceed: this command may destroy precious data!
OSD デーモンを削除したら ceph health detail
でアラートが解消されているか確認します。
$ ceph health detail
HEALTH_OK