Article ID: 10044, created on Apr 6, 2012, last review on Mar 6, 2015

  • Applies to:
  • Virtuozzo
  • Virtuozzo containers for Linux
  • Virtuozzo hypervisor

症状

カーネルクラッシュダンプを構成すると、Parallels Cloud Server、Parallels Server Bare Metal または Parallels Virtuozzo Containers for Linux をインストールしたハードウェアサーバでのカーネルパニックのトラブルシューティングに役立つ場合があります。

解決策

  1. ハードウェアノードに kexec-tools ツールをインストールします。

    [root@pvcfl46x64 ~]# yum install kexec-tools

    注:RHEL 6.x ベースのディストリビューションでは、kexec-tools は自動的にインストールされ、残りの構成も適用されます。これらの手順を使用して、構成を確認することができます。

  2. バージョン 4.7 より前の PVC では、カーネルオプション crashkernel=128M@16M(i386 または x86_64 の場合)または crashkernel=256M@256M(Itanium)で GRUB 構成をアペンドします。4.7 以降では、i386 および x86_64 アーキテクチャに crashkernel=129M@0M を使用することを検討してください。

    [root@pvcfl46x64 ~]# grep crash /etc/grub.conf
    kernel /boot/vmlinuz-2.6.18-028stab070.14 ro root=LABEL=/1 debug console=ttyS0,115200 console=tty crashkernel=128M@16M

    注:2.6.32-042stabXXX カーネルより新しいリリースでは、"crashkernel=129M@0M" オプションを p.2 で使用してください。

  3. HW を再起動します。

  4. HW で Kdump を有効化します。

    [root@pvcfl46x64 ~]# chkconfig kdump on
    [root@pvcfl46x64 ~]# chkconfig --list kdump
    kdump 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  5. kdump の構成に指定されたパーティションが、カーネルダンプの格納に十分な容量であることを確認してください。空き容量は、RAM と同サイズのダンプを複数保存するのに十分な容量が必要です。

    [root@pvcfl46x64 ~]# cat /etc/kdump.conf
    path /vz/crash
  6. HW で Kdump を開始します。

    [root@pvcfl46x64 ~]# service kdump start No kdump initial ramdisk found. [root@pvcfl46x64 ~]# service kdump start
    No kdump initial ramdisk found. [WARNING]
    Rebuilding /boot/initrd-2.6.18-028stab070.14kdump.img
    Starting kdump: [ OK ]

    注:Parallels Server Bare Metal マシンでクラッシュダンプを構成している場合は、kdump を起動/再起動する前に Parallels モジュールを「ブラックリスト」に追加します。

    [root@psbm5~]# tail -n1 /etc/kdump.conf
    blacklist extra/parallels/

    あるいは、initrd イメージを作成する前に Parallels Hypervisor を停止して、モジュールがイメージに含まれないようにすることもできます。

    # service parallels-server stop
    # touch /etc/kdump.conf
    # service kdump restart
  7. 外部サーバにダンプを格納したい場合、適切なサーバを使用するように "/etc/kdump.conf" を編集します。

    [root@pvcfl46x64 ~]# cat /etc/kdump.conf 
    net root@10.55.63.11
  8. 設定を伝達します。

    [root@pvcfl46x64 ~]# service kdump propagate
    Generating new ssh keys... done.
    root@10.55.63.11's password:
    /root/.ssh/kdump_id_rsa.pub has been added to ~root/.ssh/authorized_keys2 on 10.55.63.11
    [root@pvcfl46x64 ~]#
  9. Kdump を再起動します。

    [root@pvcfl46x64 ~]# service kdump restart
    Stopping kdump: [ OK ]
    Detected change(s) the following file(s):
    /etc/kdump.conf
    Rebuilding /boot/initrd-2.6.18-028stab070.14kdump.img
    Starting kdump: [ OK ]
    [root@pvcfl46x64 ~]#

カーネルがクラッシュすると、ダンプを "/var/crash/pvcfl46x64/" で確認できます。

実稼働サーバ以外のサーバでは、次のように構成をテストすることができます。実稼働サーバでは、データの損失を予防するために重要なサービスを停止したことを確認してください。

# echo 1 > /proc/sys/kernel/sysrq
# echo c > /proc/sysrq-trigger

すべて問題なければ、サーバコンソールに次のような出力が表示されます。

Console screen with a kernel crash

クラッシュダンプは次のように表示されます。

[root@pvcfl46x64 ~]# ls -la /var/crash/2011-03-03-05\:55/
total 649940
drwxr-xr-x 2 root root 4096 Mar 3 05:56 .
drwxr-xr-x 3 root root 4096 Mar 3 05:55 ..
-r-------- 1 root root 2018588492 Mar 3 05:56 vmcore

追加情報

Parallels Containers ユーザガイド:

Dedoimedo.com にも、カーネルクラッシュ時のトラブルシューティングで役に立つ情報が数多く用意されています。

再起動不要なセキュリティアップデートのために Ksplice Uptrack ソリューションを使用している場合、生成されたクラッシュダンプは Parallels サポートでの解析に適していません。このようなダンプは、Ksplice チームにご提出ください。

以下も参照してください。

10055 Windows でメモリダンプ生成を構成するには

a26b38f94253cdfbf1028d72cf3a498b e8e50b42231236b82df27684e7ec0beb d02f9caf3e11b191a38179103495106f 2897d76d56d2010f4e3a28f864d69223 0dd5b9380c7d4884d77587f3eb0fa8ef

Email subscription for changes to this article