Red Hat Training

A Red Hat training course is available for Red Hat Ceph Storage

9.2.2. ベアメタルデプロイメント上の読み取り可能なコアダンプファイルの生成

ベアメタルで Red Hat Ceph Storage を使用する場合、以下の手順に従ってコアダンプファイルを生成します。

手順

  1. Ceph のコアダンプファイルの生成を有効にします。

    1. /etc/systemd/system.conf ファイルに以下のパラメーターを追加して、コアダンプファイルに適切な ulimits を設定します。

      DefaultLimitCORE=infinity
    2. デフォルトでは、/lib/systemd/system/CLUSTER_NAME-DAEMON@.service にある Ceph デーモンサービスファイルの PrivateTmp=true パラメーターをコメントアウトします。

      [root@mon ~]# PrivateTmp=true
    3. suid_dumpable フラグを 2 に設定して、Ceph デーモンがダンプコアファイルを生成できるようにします。

      [root@mon ~]# sysctl fs.suid_dumpable=2
    4. コアダンプファイルの場所を調整します。

      [root@mon ~]# sysctl kernel.core_pattern=/tmp/core
    5. systemd サービスを再読み込みし、変更を反映します。

      [root@mon ~]# systemctl daemon-reload
    6. 変更を有効にするために、Ceph デーモンを再起動します。

      [root@mon ~]# systemctl restart ceph-DAEMON@ID

      デーモンタイプ (osd または mon) とその ID (OSD の場合は数値、または Monitors の短縮ホスト名) を指定します。以下に例を示します。

      [root@mon ~]# systemctl restart ceph-osd@1
  2. 障害を再現します。たとえば、デーモンを再び起動してみてください。
  3. GNU デバッガー(GDB)を使用して、アプリケーションのコアダンプファイルから読み取り可能なバックトレースを生成します。

    gdb /usr/bin/ceph-DAEMON /tmp/core.PID

    以下のように、デーモンのタイプと失敗したプロセスの PID を指定します。

    $ gdb /usr/bin/ceph-osd /tmp/core.123456

    GDB コマンドプロンプトで set pag off 子マンとおよび set log on コマンドを入力し、ページングを無効にし、ファイルへのロギングを有効にします。

    (gdb) set pag off
    (gdb) set log on

    backtrace を入力して、thr a a bt full コマンドをプロセスのすべてのスレッドに適用します。

    (gdb) thr a a bt full

    バックトレースが生成されたら、set log off を入力して電源をオフにします。

    (gdb) set log off
  4. Red Hat カスタマーポータルにアクセスするシステムに gdb.txt ログファイルを転送して、サポートチケットにアタッチします。