MIRACLE

メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

テクノロジー情報

カテゴリ:その他
2007年3月2日
MIRACLE LINUX V4.0 対応 MIRACLE LINUX V4.0 for x86-64 対応

[題名]

diskdumpを取得するには

[対象となる製品のバージョン]

MIRACLE LINUX V4.0 - Asianux Inside
MIRACLE LINUX One V4.0 - Asianux Inside
MIRACLE LINUX V4.0 - Asianux Inside for x86-64
MIRACLE LINUX One V4.0 - Asianux Inside for x86-64

[diskdumpとは]

MIRACLE LINUX V4.0にはシステムクラッシュ時にカーネルのメモリダンプをディスクに作成するdiskdumpという機能を実装しています。
これによりシステムクラッシュ時の解析が可能となります。

[前提条件]

diskdumpの出力先が下記のドライバを使用するデバイスであることが必要です。

  • megaraid
  • aic7xxx
  • aic79xx
  • ide-disk
  • sym53c8xx
  • mptfusion
  • ipr
  • sata_promise
  • sata_sx4
  • ata_piix
  • usb-storage
  • cciss (注1)

また、上記のデバイスに搭載メモリより大きいサイズの専用パーティションが必要になります。
マシンに搭載メモリより大きいサイズの専用パーティションが作成できない場合は、usb-storageを使用するUSB-HDDなどでも代用できます。

(注1) diskdumpにccissを使用する場合は別途次の手順を実行する必要があります。
ただし、ML40 SP2以降のカーネル(kernel-2.6.9-42.7AX)では以下の手順は必要ありませんので、実施しないようお願いします。

  1. /etc/modprobe.conf を次のように変更してください。
    変更前: alias scsi_hostadapter cciss
            ↓
    変更後: alias scsi_hostadapter cciss_dump
            options cciss_dump dump_drive=0
    

    ※dump_driveの値はダンプデバイスが/dev/cciss/c0dXpYの場合はXになります。

  2. initrd の再作成を行います。その後再起動してください。
    # mkinitrd -f /boot/initrd-`uname -r`.img `uname -r`
    

[設定項目]

  1. 出力先のデバイスを/etc/sysconfig/diskdumpに設定します。

    /dev/sdb5を出力先に指定する場合は下記のようにします。
    ※出力先に指定するパーティションはフォーマットされますので既存パーティションを指定するのは避ける必要があります。

    #
    # DEVICE=/dev/sdc8
    #
    DEVICE=/dev/sdb5
    

    ※出力先(/dev/sdb5)はマウントもファイルシステムの作成も必要ありません。

  2. diskdumpで使用できるように、1.で設定した出力先をフォーマットします。
    # /sbin/service diskdump initialformat
    /dev/sdb5: 100.0%
    
  3. diskdumpサービスを起動します。
    # /sbin/service diskdump start
    

[diskdumpのテスト]

次のコマンドを実行すると、意図的にカーネルパニックを発生させることができますのでこれを利用してdiskdumpの動作から上記の設定が正しく行われているか確認できます。

※実際にカーネルパニックが発生するので、運用中のサーバでのテストは避けてください。

# echo c > /proc/sysrq-trigger ----(1)

まず、上記のコマンドが有効になっているか確認します。

# sysctl -a | grep kernel.sysrq
grep kernel.sysrq = 1

上記の様に値が"1"になっている場合は有効になっています。
"0"なっている場合は無効になっているので、下記コマンドで有効にします。

# echo 1 > /proc/sys/kernel/sysrq

では実際にカーネルパニックを発生させます。
(1)のコマンドを実行します。すると数十秒後リブートがかかります。

マシンのリブート後のdiskdumpサービス起動時にデータは/etc/sysconfig/diskdumpで設定したデバイスから/var/crash/127.0.0.1-yyyy-mm-dd-hh:mm/vmcore にコピーされます。
(マシン起動時に自動起動していない場合は、手動でdiskdumpサービスを起動する必要があります)
この時/varの容量に注意してください。vmcoreは搭載メモリと同容量近くのサイズがあります。

vmcoreファイルはcrashコマンドを使用して分析することができます。
crashコマンドについての詳細はオンラインマニュアルを参照してください。

[更新履歴]

2007年3月2日 修正
2006年3月2日 新規作成

会社情報 採用情報 個人情報保護方針 情報セキュリティ基本方針 商標等取り扱い事項 English
Copyright(c)2000-2013 MIRACLE LINUX CORPORATION. All Rights Reserved.