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

Centos8にカーネルクラッシュダンプをインストールして構成します

この記事では、Centos8にカーネルクラッシュダンプをインストールして構成する方法を学習します。

Kdumpは、クラッシュダンプメカニズムを提供するサービスです。このサービスを使用すると、後で分析するためにシステムのメモリの内容を保存できます。 kdumpは、kexecシステムコールを使用して2番目のカーネル(キャプチャカーネル)を起動します )再起動せずに;次に、クラッシュしたカーネルのメモリの内容をキャプチャします(クラッシュダンプ またはvmcore )そしてそれを保存します。 2番目のカーネルは、システムメモリの予約された部分にあります。

Centos8でのカーネルクラッシュダンプ

まず、次のコマンドを使用して、kdumpがシステムにインストールされているかどうかを確認します。

rpm -q kexec-tools

上記の出力は、kdumpがすでにインストールされていることを示していますが、レガシーバージョンではkumpはデフォルトでインストールされていません。次のコマンドを使用してkdumpをインストールします。

yum install kexec-tools

私の場合、kdumpはCentOS /RHEL8にデフォルトでインストールされています。

kdumpのメモリはシステムの起動時に予約され、メモリサイズはシステムのGrand Unified Bootloader(GRUB)2構成ファイルで構成されます。メモリサイズは、構成ファイルで指定されたcrashkernel=値とシステムの物理メモリのサイズによって異なります。

kdumpサイズの見積もり:

kdump環境を計画および構築するときは、ダンプファイルに必要なスペースの量を知っておく必要があります。次のコマンドは、ダンプファイルに必要なスペースを見積もります。ダンプレベルと除外できるページを決定するのに役立つメモリ使用量レポートを生成します。

makedumpfile --mem-usage /proc/kcore

kdumpメモリ使用量の設定:

クラッシュカーネルオプションは、予約済みメモリを定義するために使用されます。値を指定するか、自動オプションを構成できます。 crackkernel =auto bootオプションは、システムの物理メモリの合計量に応じて、メモリを自動的に予約します。自動として構成されている場合、カーネルは必要な適切な量を自動的に予約します。これは、メモリ不足(OOM)エラーの発生を防ぐのに役立ちます。

次のコマンドを実行して、crashkernelの値を編集します。

nano /etc/default/grub

ファイルを保存して終了します。

次のコマンドを使用して、GRUBファイルを更新します。

grub2-mkconfig -o /boot/grub2/grub.cfg

kdumpターゲットの構成:

カーネルクラッシュがキャプチャされると、コアダンプは、ローカルファイルシステムにファイルとして保存されるか、デバイスに直接書き込まれるか、NFS(ネットワークファイルシステム)またはSSH(セキュアシェル)プロトコルを使用してネットワーク経由で送信されます。一度に設定できるオプションは1つだけで、デフォルトの動作では、vmcoreファイルをローカルファイルシステムの/ var/crashディレクトリに保存します。

ローカルファイルシステムの/var/ crackディレクトリにvmcoreファイルを保存するには、次のコマンドを実行します。

nano /etc/kdump.conf

コアコレクターの構成:

vmcoreダンプファイルのサイズを縮小するために、kdumpではデータを圧縮する外部アプリケーション(コアコレクター)を指定できます。 /etc/kdump.confファイルを編集し、以下に示すように「core_collector makedumpfile -l –message-level1-d31」プロパティを追加します。

nano /etc/kdump.conf

kdumpのデフォルトの失敗応答の構成:

デフォルトでは、kdumpが構成されたターゲットの場所にvmcoreファイルを作成できない場合、システムが再起動し、プロセスでダンプが失われます。この動作を変更するには、failure_action行の先頭から#記号を削除し、「 failure_action poweroff」に置き換えます。 」/etc/kdump.conf構成ファイル内。

nano /etc/kdump.conf

kdumpサービスの有効化と無効化:

これで、kdumpがインストールおよび構成され、次のコマンドを使用してkdumpサービスを有効にして開始します。

systemctl enable kdump.service
systemctl start kdump.service
systemctl status kdump.service

kdumpサービスのテスト:

次のコマンドを実行して、kdumpが実行されているかどうかを確認します。

systemctl is-active kdump

注:次の手順はテストのみを目的としており、本番/ライブシステムでは試さないでください:

次に、次のコマンドを使用してLinuxカーネルを強制的にクラッシュさせます。

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

カーネルがクラッシュし、マシンが別のカーネルで再起動されます。これで、Kdumpがインストールおよび構成されました。


Cent OS
  1. CentOS7にNginxをインストールして構成する方法

  2. CentOS7にRedisをインストールして設定する方法

  3. CentOSにDovecotをインストールして構成します

  1. CentOS7にGitLabをインストールして構成する方法

  2. CentOS7にRedmineをインストールして設定する方法

  3. CentOS8にRedisをインストールして設定する方法

  1. CentOS8にSambaをインストールして設定する方法

  2. CentOS7にGitLabCEをインストールして構成する方法

  3. CentOS7にZabbixをインストールして設定する方法