GNU/Linux >> Linux の 問題 >  >> Cent OS

RHEL7およびCentOS7でKdumpを有効にする方法

Kdumpは、システムまたはカーネルがクラッシュしたときにクラッシュダンプをキャプチャするために使用されるカーネル機能です。 kdumpを有効にするには、カーネルパニックまたはクラッシュが発生した場合にkdumpカーネルを実行するために使用される物理RAMの一部を予約する必要があります。

カーネルクラッシュまたはカーネルパニックが発生すると、実行中のカーネルは「 kexec(kdumpkernel)」を実行します。 ‘そしてリザーブメモリからkdumpカーネルをロードし、RAMとスワップの内容をローカルディスクまたはリモートディスクのvmcoreファイルにコピーして、最後にボックスを再起動します。

クラッシュダンプを分析することで、システム障害の理由または根本的なケースを見つけることができます。 OSをサポートしている場合は、分析のためにクラッシュダンプをベンダーと共有できます。

この記事では、RHEL7およびCentOS7でkdumpを有効にする方法を示します

ステップ:1yumコマンドを使用して「kexec-tools」をインストールします

以下のyumコマンドを使用して、「kexec-tools」パッケージがインストールされていない場合にインストールします。

 [[email protected]〜]#yum install kexec-tools 

ステップ:2GRUB2ファイルをKdumpカーネル用にメモリを予約するように更新します

GRUB2ファイルを編集します( / etc / default / grub )、パラメータ「 crashkernel =」を追加します ‘ GRUB_CMDLINE_LINUX で始まる行の‘ ‘

 GRUB_CMDLINE_LINUX ="rd.lvm.lv =centos / swap vconsole.font =latarcyrheb-sun16 rd.lvm.lv =centos / root crackkernel =128M vconsole.keymap =us rhgbquiet" 

以下のコマンドを実行して、grub2構成を再生成します。

 [[email protected]〜]#grub2-mkconfig -o /boot/grub2/grub.cfg 

UEFIファームウェアの場合は、以下のコマンドを使用してください

 [[email protected]〜]#grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg 

上記のコマンドは、再起動後に128MBのRAMを予約するようにbootlaoderに通知します。

以下のコマンドを使用して、ボックスを再起動します:

 [[email protected]〜]#shutdown -r now 

ステップ:3ファイル(/etc/kdump.conf)のダンプの場所とデフォルトのアクションを更新します

クラッシュダンプまたはvmcoreファイルをローカルファイルシステムに保存するには、ファイル「/etc/kdump.conf」を編集します ‘と設定に従って場所を指定します。私の場合、別のローカルファイルシステム( / var / crash )を使用しています )。ファイルシステムのサイズはシステムのRAMのサイズと同じにするか、ファイルシステムの空き領域はRAMのサイズと同じにすることをお勧めします。 Kdumpでは、「コアコレクター」オプション( core_collector makedumpfile -c )を使用してダンプデータを圧縮できます。 )ここで、-cは圧縮に使用されます。

kdumpがダンプファイルを指定された場所に保存できない場合、デフォルトのアクションが実行されます。これはデフォルトのディレクティブに記載されています。私の場合、デフォルトのアクションは再起動です。

kdump.confファイルの以下の3つのディレクティブを更新します。

 [[email protected]〜]#vi /etc/kdump.confpath / var / crackcore_collector makedumpfile -cdefault restart 

ダンプを保存するためのさまざまなオプション:

ステップ:4kdumpサービスを開始して有効にします

 [[email protected]〜]#systemctl start kdump.service [[email protected]〜]#systemctl enable kdump.service [[email protected]〜]#

ステップ:5システムを手動でクラッシュさせてKdumpをテストします

システムをクラッシュさせる前に、以下のコマンドを使用して、kdumpサービスが実行されているかどうかを確認してください。

 [[email protected] crack]#systemctl is-active kdump.service [[email protected] crack]#service kdump status 

kdump構成をテストするために、以下のコマンドを使用してシステムを手動でクラッシュさせます。

 [[email protected]〜]#echo 1> / proc / sys / kernel / sysrq; echo c> / proc / sysrq-trigger 

これにより、クラッシュダンプファイル( vmcore )が作成されます )「 / var / crash」の下 ‘ファイルシステム。

 [[email protected]〜]#ls -lR / var / crash / var / crack:total0drwxr-xr-x。 2ルートルート42Mar4 03:02 127.0.0.1-2016-03-04-03:02:17 / var / crash / 127.0.0.1-2016-03-04-03:02:17:total 135924-rw- ------。 1ルートルート139147524Mar403:02vmcore-rw-r--r--。 1ルートルート356403月4日03:02vmcore-dmesg.txt[[メール保護]〜]#

手順:6「crash」コマンドを使用してクラッシュダンプを分析およびデバッグします

クラッシュは、クラッシュダンプまたはvmcoreファイルをデバッグおよび分析するためのユーティリティまたはコマンドです。

クラッシュを使用するには、次の2つのパッケージがインストールされていることを確認してください:‘ crack&kernel-debuginfo

 [[email protected]〜]#yum install crack 

「kernel-debuginfo」パッケージをインストールするには、最初にデバッグリポジトリを有効にします。リポジトリファイル/etc/yum.repos.d/CentOS-Debuginfo.repo

を編集します

「enbled=0」を「enabled=1」に変更します

 [[email protected]〜]#yum install kernel-debuginfo 

kernel-debuginfoをインストールしたら、以下のクラッシュコマンドを実行してみてください。クラッシュプロンプトが表示され、コマンドを実行してプロセス情報、システムがクラッシュしたときに開いているファイルのリストを見つけることができます。

 [[email protected]〜]#crash /var/crash/127.0.0.1-2016-03-04-14\:20\:06/vmcore / usr / lib / debug / lib / modules / `uname- r` / vmlinuxcrash> 

ps」と入力します ‘システムがクラッシュしたときに実行されていたプロセスを一覧表示するコマンド。

クラッシュ>ps

システムがクラッシュしたときに開いていたファイルを表示するには、クラッシュプロンプトで「files」コマンドを入力します。

 crash> filesPID:5577 TASK:ffff88007b44f300 CPU:0 COMMAND: "bash" ROOT:/ CWD:/ root FD FILE DENTRY INODE TYPE PATH 0 ffff880036b85000 ffff8800796fa540 ffff88007966f4d0 CHR / dev / pts / 0 1 ffff / sysrq-trigger 2 ffff880036b85000 ffff8800796fa540 ffff88007966f4d0 CHR / dev / pts / 0 10 ffff880036b85000 ffff8800796fa540 ffff88007966f4d0 CHR / dev / pts / 0255 ffff880036b85000 ffff8800796fa540 

「sys」コマンドと入力します クラッシュしたときのシステム情報を一覧表示します。

 crash> sys KERNEL:/usr/lib/debug/lib/modules/3.10.0-327.10.1.el7.x86_64/vmlinux DUMPFILE:/var/crash/127.0.0.1-2016-03-04-14 :20:06 / vmcore CPU:1日付:2016年3月4日金曜日14:20:01稼働時間:00:02:00平均負荷:0.75、0.48、0.19タスク:115ノード名:cloud.linuxtechi.comリリース:3.10.0- 327.10.1.el7.x86_64バージョン:#1 SMP Tue Feb 16 17:03:50 UTC 2016マシン:x86_64(2388 Mhz)メモリ:2 GBパニック: "SysRq:クラッシュをトリガーする"クラッシュ> 

クラッシュプロンプトでコマンドのヘルプを表示するには、「 help 」と入力します ‘、例を以下に示します。

これで記事は終わりです。楽しんだら、遠慮なく共有してください。

また読むCentOS7にownCloudをインストールする方法


Cent OS
  1. CentOS / RHEL 6 で IPv6 を有効にする方法

  2. CentOS / RHEL 5 で IPv6 を有効にする方法

  3. CentOS/RHEL 5、6、7 で X11 転送を有効にする方法

  1. Centos /RHEL8でスワップパーティションを作成して有効にする方法

  2. CentOS / RHEL 7 :すべての tty コンソールを無効にして 1 つだけ有効にする方法

  3. CentOS/RHEL 8 で IPv6 を有効にする方法

  1. CentOS / RHEL 7 で IPv6 を有効にする方法

  2. CentOS/RHEL 5 および 6 で FTP を有効にする方法

  3. CentOS/RHEL 7 および 8 で CIFS モジュールのデバッグ オプションを有効にする方法