サポートTID

カーネル コア ダンプ取得の設定

このドキュメント (3374462J) の最後に記載の 免責条項 に基づき提供されています。

環境

Novell SUSE Linux Enterprise Server
10 Novell SUSE Linux Enterprise Server 11
Novell SUSE Linux Enterprise Desktop 10
Novell SUSE Linux Enterprise Desktop 11
x86 (Intel 32-bit), x86_64 (AMD 64-bit / Intel EM64T), PPC64 (IBM POWER, 64-bit) or IA-64 (Itanium) architecture

状況

カーネルクラッシュまたは動作不良、および分析のためのカーネルコアダンプの取得。

解決方法

前提

Kdump はカーネルコアダンプを /var に保存します。 /var がマウントされているパーティションに、ほぼシステムの物理メモリのサイズの vmcore ファイルのための十分な空きディスクスペース が必要です。 デフォルトでは、システムは5つの vmcore ファイルを保持します。

 

カーネルの汚染状態をチェックします (推奨)

可能な場合はいつでも、カーネルクラッシュは汚染されていないカーネルを使って生成してください。 カーネルの汚染、サポートへの汚染の影響、およびカーネル汚染を避ける方法の推奨は詳細は、TID 3582750、Tainted Kernelを参照してください。

 

magic SysRqの設定 (推奨)

カーネル oops やパニック以外のカーネルの問題に対しては、自動的にカーネルコアダンプは実行されません。 システムがキーボード入力に応答する場合は、"magic SysRq" のキーボードの組み合わせを使って手動でカーネルコアダンプを取得できます (例: 3つのキーを同時に押します: 左Altキー、Print Screen/SysRq キー、および文字キー: ' s' で sync、' c' でコアダンプ) - この機能が有効な場合。

"magic SysRq" 機能に関する一般ドキュメントは、Linuxカーネルソースの Documentation/sysrq.txt ファイルを参照ください。

magic SysRq 機能を永続的に有効にするには、/etc/sysconfig/sysctl を編集し ENABLE_SYSRQ 行を ENABLE_SYSRQ="yes" に変更します。 この変更を有効にするにはリブートします。 実行中のカーネルでこの機能を有効にするには、以下のコマンドを実行します。
 echo 1>/proc/sys/kernel/sysrq

 

シリアルコンソールの設定 (推奨)

いくつかのカーネルの問題では、カーネルコアダンプが起動されず、またシステムがキーボードに応答しません。 このような状況に対しても、シリアルコンソールからのmagic SysRqシーケンスでカーネルコアダンプを実行することが可能かもしれません。

その手順はTID 3456486J、SLESでのリモートシリアルコンソールの設定 (Configuring a Remote Serial Console for SLES)を参照ください。

 

カーネルコアダンプ取得のためのシステム設定 (SLES 10)

  1. kernel-kdump、kdump、および kexec-tools パッケージをインストールします。

    kernel-kdump パッケージには、プライマリカーネルがクラッシュしたときに起動され、プライマリカーネルの状態を取得する環境を提供する "crash" や "capture" カーネルが含まれています。 kernel-dump パッケージのバージョンは、その状態を取得する対象のカーネルと同一でなければなりません。

    パッケージには、プライマリカーネルがクラッシュしたときに起動され、プライマリカーネルの状態を取得する環境を提供する "crash" や "capture" カーネルが含まれています。 kernel-dump パッケージのバージョンは、その状態を取得する対象のカーネルと同一でなければなりません。 kexec-tools パッケージには、プライマリカーネルからcapture kernelを開始することを可能にするツールが含まれています。

  2. プライマリカーネルに適切なパラメータを設定しcapture kernel のためのメモリを確保します。
    x86およびx86_64アーキテクチャでは、メモリによって以下のテーブルを使います。

    メモリ

    crashkernel=

    0 - 12 GB 64M@16M
    13 - 48 GB 128M@16M
    49 - 128 GB 256M@16M
    129 - 256 GB 512M@16M

    PPC64アーキテクチャ: crashkernel=128M@32M
    注意: Xenインストレーションでは、このパラメータは、Dom0 カーネルのmodule行ではなく、Xenハイパバイザに対するるGRUB行に設定されなければなりません。

    以下のように設定します: YaSTを実行し、Systemの Boot Loader を選択します。 Section Management タブで、 デフォルトセクションを選び Edit を選択します。 Optional Kernel Command Line Parameter ラベルのフィールドに設定を追加し、Ok と Finish を選択し設定を保存します。

  3. kdump システムサービスを開始します。

    以下のコマンドを実行:
     chkconfig kdump on

    またはYaST: Systemのselect System Services (Runlevel)を選択し、kdump を選び Enable および Finish を選択します。

  4. 設定を有効にするためにシステムをリブートします。

 

カーネルコアダンプのためのシステム設定 (SLES 11)

  1. kdump、kexec-tools、および makedumpfile パッケージをインストールします。

    SLES 11 では以前のバージョンのSUSE LINUX Enterpriseのような kernel-kdump パッケージは不要です。 技術的理由は、通常のカーネルが再配置可能になり kdump カーネルとして使用可能になりました。 たとえば、通常のカーネルを以前のようなコンパイルされたアドレスだけでなく、任意のアドレスにロードし実行することが可能です。

    kexec-tools パッケージには、プライマリカーネルからcaputure kernelを開始するためのツールが含まれています。

  2. プライマリカーネルに適切なパラメータを設定しcapture kernel のためのメモリを確保します。
    x86およびx86_64アーキテクチャでは、メモリによって以下のテーブルを使います。

    メモリ

    crashkernel=

    0 - 12 GB 64M
    13 - 48 GB 128M
    49 - 128 GB 256M
    129 - 256 GB 512M

    注意: SLES 11では、x86 および x86_64 アーキテクチャでのcrashkernel の16Mオフセットは不要になりました。

    PPC64 アーキテクチャ: crashkernel=128M@32M

    注意: Xenインストレーションでは、このパラメータは、Dom0 カーネルのmodule行ではなく、Xenハイパバイザに対するるGRUB行に設定されなければなりません。

    以下のように設定します: YaSTを実行し、Systemの Boot Loader を選択します。 Section Management タブで、 デフォルトセクションを選び Edit を選択します。 Optional Kernel Command Line Parameter ラベルのフィールドに設定を追加し、Ok と Finish を選択し設定を保存します。

  3. kdump システムサービスを開始します。

    以下のコマンドを実行:
     chkconfig boot.kdump on

    またはYaST: Systemのselect System Services (Runlevel)を選択し、boot.kdump を選び Enable および Finish を選択します。

  4. 設定を有効にするためにシステムをリブートします。

ネットワークダンプ取得の設定 - 非インタラクティブデータ転送の準備

  1. SLES10

    ダンプをネットワークで転送するには scp コマンド (OpenSSHの一部) を使用します。

    ダンプしているシステムでの取得環境は、完全に非インタラクティブなので、データ転送のためのすべての認証は事前に設定する必要があります。そのため ダンプを受信するシステムは、パスワードなしでダンプサーバからの SSH 接続を受け付ける必要があります。 これは以下のように行います:
    • 送信システムで、as the 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
  2. SLES11

    使用するネットワークデバイスを、/etc/sysconfig/kdump の変数(KDUMP_NETCONFIG)に追加します。

     ネットワークデバイスを自動的に設定するには、 "auto" オプションを使います。 これはデフォルトの設定です。
     カスタムセットアップでは、ネットワークデバイスとモジュール (dhcp,static) をコロンで区切った文字列を設定します。

    例: "eth0:static" あるいは "eth1:dhcp"
     "static" を使用する場合、ブートパラメータとして ip=ipspec でIPアドレスを設定しなければなりません。 ipspec は <client>:<server>:<gateway>:<netmask>:<hostname>:<device>:<proto>
     詳細は、mkinitrd(8) を参照下さ。

    ダンプ方法と対象ディレクトリをパラメータに設定します: /etc/sysconfig/kdump の KDUMP_TRANSFER

    サポートされる方法:

     FTP、例 "ftp://user:password@host/var/log/dump"
     SSH、例 "ssh://user:password@host/var/log/dump"
     NFS、例 "nfs://server/export/var/log/dump"
     CIFS (SMB) 、 例 "cifs://user:password@host/share/var/log/dump"

    以下も参照ください: kdump(5)、 URLフォーマットに対する正確な使用が記載されています。

追加情報

制限

Kdump はサービスパック2より前の Xen カーネルではサポートされていません。
IA-64アーキテクチャでは kdump はサービスパック1でサポートされています。

関連ドキュメント

IBM System z Linux serverでのコアダンプ設定

IBM System z システムでは、カーネルクラッシュダンプには別の方法を使用します。
Linux on System z の以下の IBM ドキュメントに記載されています

SLES 9
http://www.ibm.com/developerworks/linux/linux390/april2004_documentation.html
ダンプツールの使用
http://public.dhe.ibm.com/software/dw/linux390/docu/l26bdt02.pdf

SLES 10
http://www.ibm.com/developerworks/linux/linux390/october2005_documentation.html
ダンプツールの使用
http://public.dhe.ibm.com/software/dw/linux390/docu/l26cdt02.pdf

SLES 11
http://www.ibm.com/developerworks/linux/linux390/documentation_novell_suse.html
ダンプツールの使用
http://public.dhe.ibm.com/software/dw/linux390/docu/l26ddt01.pdf

(または、 http://www.ibm.com/developerworks/linux/linux390/history.html) そして s390-tools パッケージがインストールされている必要があります。)

免責条項

このサポート ナレッジベースは、NetIQ/Novell/SUSE顧客、および弊社製品およびそのソリューションに関心のあるパーティへ、情報やアイデアの取得およびそれらの知識を得る為の有効なツールを提供します。 本文書の商品性、および特定目的への適合性について、いかなる黙示の保証も否認し、排除します。

  • ドキュメント ID:3374462J
  • 作成年月日:10-JAN-08
  • 修正年月日:02-FEB-12
    • SUSESUSE Linux Enterprise Desktop
      SUSE Linux Enterprise Server

このドキュメントはあなたの問題を解決しましたか? フィードバックを送る

SUSEサポートフォーラム

経験豊富なシステムオペレーターへの質問を投稿したり、他のSUSEコミュニティのエキスパートと交流したりすることができます。

サポートリソース

このガイドラインでは、SUSEサブスクリプション、Premium Support、教育機関向けプログラム、またはパートナープログラムで提供されるテクニカルサポートの活用方法について説明します。


SUSE Technical Support Handbook Update Advisories

インシデントを開く

テクニカルサポートへのインシデントの報告、サブスクリプションの管理、パッチのダウンロード、ユーザーアクセスの管理を行うことができます。