はじめに
本ドキュメントで紹介する内容は CVIM 4.2.1, 4.2.2 に基づいています。その他のバージョンでは内容が異なる場合があります。
内容
CVIM 4.2.0 以降では、Ceph Manager crush モジュールを利用して crashdump に関する情報を収集して保存することができます。このモジュールを利用することで、cephデーモンやosdのクラッシュ発生時の調査に役立てることができます。
方法
最初にControllerノードにログインして crash モジュールが有効になっていることを確認します。有効な場合はモジュールリストの"always_on_modules"の中に"crash"が表示されます。
[root@jcvim-aio2 ~]# cephmon ceph mgr module ls |more
{
"always_on_modules": [
"balancer",
"crash",
"devicehealth",
"orchestrator_cli",
"progress",
"rbd_support",
"status",
"volumes"
],
crash モジュールが有効になっていると、デーモンのクラッシュダンプは/var/lib/ceph/crash の配下に、日時とランダムに生成されるUUIDのついたディレクトリが作成され、その中にダンプされます。ダンプファイルの他にmeta, logファイルといった関連情報も保存されます。 ダンプは crash lsコマンドで確認することができます。以下は osd.24 がクラッシュした状態を確認した例です。
[root@jcvim-aio2 /]# cephmon ceph crash ls
ID ENTITY NEW
2022-07-01_05:27:28.683554Z_9de3a4f4-f508-4f8d-b94b-0714ca1c435f osd.24 *
[root@jcvim-aio2 /]#
ダンプされたクラッシュの詳細は crash info で確認します。
[root@jcvim-aio2 /]# cephmon ceph crash info 2022-07-01_05:27:28.683554Z_9de3a4f4-f508-4f8d-b94b-0714ca1c435f
{
"crash_id": "2022-07-01_05:27:28.683554Z_9de3a4f4-f508-4f8d-b94b-0714ca1c435f",
"timestamp": "2022-07-01 05:27:28.683554Z",
"process_name": "ceph-osd",
"entity_name": "osd.24",
"ceph_version": "14.2.8-111.el8cp",
"utsname_hostname": "jcvim-aio2",
"utsname_sysname": "Linux",
"utsname_release": "4.18.0-193.60.2.el8_2.x86_64",
"utsname_version": "#1 SMP Wed Jul 7 07:08:14 EDT 2021",
}
ceph crash infoで得られる情報は、上記のようなクラッシュに関するメタデータの他にクラッシュ時のバックトレースの記録も含まれます。Cephデーモンのクラッシュが発生した場合は、tech-supportの取得とともに、crash info の出力結果もTACへお送りください。