Novell(クラウドコンピューティングのセキュリティ・仮想化ソリューションを実現)

 

カーネルコアダンプキャプチャの設定

This document (3374462) is provided subject to the disclaimer at the end of this document.

環境

Novell SUSE Linux Enterprise Server 10
Novell SUSE Linux Enterprise Desktop 10
x86(Intel 32ビット)、x86_64(AMD 64ビット/Intel EM64T)、PPC64 (IBM POWER、64ビット)またはIA-64(Itanium)アーキテクチャ

問題の状況

カーネルがクラッシュまたは誤動作し、カーネルコアダンプをキャプチャして分析する必要あります。

解決策

必要条件

Kdumpは、カーネルコアダンプを/varに保存します。
/varが存在するパーティションには、vmcoreファイル用の十分なディスク容量が必要です。これは、システムの物理メモリとほぼ同じサイズになります。デフォルトで、システムは5つのvmcoreファイルを維持しようとします。

カーネルの破損状態のチェック(推奨)

可能な場合は、破損していないカーネルを使用してカーネルクラッシュを再現します。カーネルの破損の詳細、破損によるサポートへの影響、カーネル破損を防止するための推奨事項については、「TID 3582750、破損したカーネル」を参照してください。

マジックSysRqのセットアップ(推奨)

Kernel oopsまたはカーネルパニック以外のカーネルの問題については、カーネルコアダンプは自動的にはトリガされません。システムがある程度キーボード入力に応答する場合は、カーネルコアダンプを「マジックSysRq」というキーボードの組み合わせが有効になっていれば、この機能で手動でトリガできます。通常、左のAltキー、Print Screen/SysRqキー、およびそれぞれのコマンドを示す「s」(sync)または「c」(core dump)の3つのキーを同時に押し下げます。


「マジックSysRq」機能の一般的なドキュメントは、LinuxカーネルソースのDocumentation/sysrq.txtファイルを参照してください。

マジックSysRq機能を常に有効にするには、/etc/sysconfig/sysctlを編集して、ENABLE_SYSRQ行をENABLE_SYSRQ="yes"に変更します。この変更は、再起動後に有効になります。実行中のカーネルに対して機能を有効にするには、次のコマンドを実行します。

echo 1>/proc/sys/kernel/sysrq

シリアルコンソールのセットアップ(推奨)

一部のカーネルの問題については、カーネルコアダンプはトリガされず、システムはキーボードに反応しなくなります。このような状況でも、シリアルコンソールからマジックSysRqシーケンスを実行してカーネルコアダンプをトリガできます。

手順については、「TID 3456486SLESのリモートシリアルコンソールの設定」を参照してください。

カーネルコアダンプをキャプチャするシステムの設定
  1. パッケージkernel-kdumpkexec-toolsをインストールします。

    kernel-kdumpパッケージには「crash」または「capture」カーネルが含まれ、これらはプライマリカーネルがクラッシュした時に開始し、プライマリカーネルの状態をキャプチャできる環境を提供します。kernel-dumpパッケージのバージョンは、状態をキャプチャする必要があるカーネルのバージョンと同一である必要があります。

    kexec-toolsパッケージには、プライマリカーネルからカーネルのキャプチャを開始できるツールが含まれています。

  2. 該当するパラメータをプライマリカーネルに渡して、カーネルキャプチャ用にメモリを確保します。
    x86およびx86_64アーキテクチャの場合: crashkernel=64M@16M
    PPC64アーキテクチャの場合: crashkernel=128M@32M
    注意: Xenインストールの場合、このパラメータをDom0カーネルのモジュール行ではなく、XenハイパーバイザのGRUB行に渡す必要があります。

    これは、YaSTを起動して、[システム][ブートローダ]を選択して実行できます。[セクション管理]タブで、デフォルトセクションを選択して[編集]を選択します。[カーネルコマンドラインパラメータ(オプション)]というフィールドに設定を追加し、[OK]を選択し、[完了]を選択して設定を保存します。

  3. kdumpシステムサービスをアクティブにします。

    次のコマンド
    chkconfig kdump on
    を実行するか、またはYaSTで、[システム][システムサービス(ランレベル)][kdump][有効][完了]の順に選択します。

  4. システムを再起動して、設定を反映させます。

ローカルカーネルコアダンプキャプチャのテスト

ローカルカーネルコアダンプキャプチャをテストするには、次の手順に従います。
マジックSysRqが設定されている場合:
  1. Magic-SysRq-Sを実行して同期します(保留中の書き込みをフラッシュする)
  2. Magic-SysRq-Cを実行してカーネルコアダンプをトリガします
または、マジックSysRqがない場合:
  1. シェルまたはターミナルを開きます。
  2. syncを実行します。
  3. echo c >/proc/sysrq-triggerを実行します。
キャプチャカーネル環境は限定的で非対話的環境であるため、キャプチャが準備されて作成されるまで、システムは応答しないことに注意してください。

システムが再び応答するようになったら、キャプチャファイルが/var/log/dump/date-time
/vmcoreとして作成されていることを確認します。


ネットワークダンプキャプチャのセットアップ - 非対話的データ転送の準備

scpコマンド(OpenSSHの一部)が、ネットワーク経由のダンプの転送に使用されます。

ダンプするシステムのキャプチャ環境は完全に非対話的なので、データ転送のすべての認証を事前にセットアップする必要があり、
ダンプを受け取るシステムはダンプするサーバからのSSH接続を、パスワードを要求せずに受諾する必要があります。これは次のようにして実行できます。
  • 送信側システムで、rootユーザとして、パスフレーズで保護されないSSHキーペアを生成します。
    ssh-keygen -N '' -C 'passthrough key' -t dsa2
  • 送信側システムで、受信側システムのrootユーザの認証キーのリストに、このキーペアから公開鍵を追加します。
    ssh root@receiving.system' cat >>/root/.ssh/authorized_keys' < /root/.ssh/id_dsa.pub
受信側システムで、rootユーザとして、ダンプを受信するディレクトリ、たとえば/dumpを作成します。
install -m 700 -u root -g root -d /dump
このディレクトリが十分な空き容量を持つファイルシステム上にあることを確認してください。


ネットワークダンプキャプチャのセットアップ - 送信側(ダンプ)システム

ネットワークダンプキャプチャについては、ダンプするシステムの/etc/sysconfig/kdumpで次の設定を行う必要があります。
KDUMP_RUNLEVEL=3
KDUMP_TRANSFER="scp /proc/vmcoreReceivingSystemNameOrIP:/dump/"

これによってkdumpは以前のnetdumpメカニズムと同様に動作するようになります。キャプチャ環境はランレベル3(ネットワーク接続が有効)に昇格し、セキュアコピーコマンドscpを使用してカーネルコアダンプを分離したシステムに転送します。

追加情報

制限事項

kdumpではService Pack2以前のXenカーネルをサポートしません。
IA-64アーキテクチャでは、kdumpはService Pack 1でのみサポートされます。

関連ドキュメント

IBM System z Linuxサーバのコアダンプの設定

IBM System zシステムでは、別の方法を使用してカーネルクラッシュダンプをキャプチャします。
IBMのドキュメント「Linux on System z - ダンプツールの使用」( http://download.boulder.ibm.com/ibmdl/pub/software/dw/linux390/docu/l26cdt01.pdf
(またはhttp://www.ibm.com/developerworks/linux/linux390/history.html
)に文書化され、パッケージをインストールするにはs390-toolsが必要です。

Disclaimer

この情報は、米国Novell, Inc.およびノベル株式会社の内外から発生したものです。本文書の内容または本文書を使用した結果について、いかなる保証、表明または約束も行っていません。また、本文書の商品性、および特定目的への適合性について、いかなる黙示の保証も否認し、排除します。

本文書に記載されている会社名、製品名はそれぞれ各社の商品、商標または登録商標です。

  • ドキュメントID: 3374462
  • 作成年月日: 10-JAN-2008
  • 修正年月日: 01-JUN-2009
  • ドキュメントリビジョン:
  • 分類:
  • 対象NOVELL製品およびバージョン: SUSE Linux Enterprise Desktop, SUSE Linux Enterprise Server
  • カテゴリ: