CentOS 7のkdump

CentOS 7のkdump

CentOS 6.9からCentOS 7.5に移行したいと思います。インストール中にkdump有効または無効にするオプションが表示されました。kdump無効にすると、サーバーに悪影響を及ぼすかどうか疑問に思います。後で私のサーバーにデータベースをインストールしたいと思います。これでkdump問題が発生しないことを確認したいと思います。

答え1

kdumpカーネルクラッシュダンプメカニズムです。システムがクラッシュすると、kdumpカーネル衝突ダンプが生成され、さらなる分析に使用できます。エラーの重大度によっては、このクラッシュダンプが追加の分析に使用できる唯一の情報かもしれません。

これは、システムがクラッシュした場合にシステムコールをkdump使用して2番目のカーネルをメモリにロードすることによって機能します。kexec2番目のカーネルは、最初のカーネルメモリの内容をキャプチャします。この情報はクラッシュダンプとして保存されます。

2番目のカーネルをメモリにロードするには、システムメモリの一部を永続的に予約する必要があります。最初のコアはこのメモリ領域にアクセスできません。予約されたメモリ量は、システムアーキテクチャとシステムにインストールされているメモリの合計量によって異なります。たとえば、x86_64このアーキテクチャと2GiBのメモリを搭載したシステムには、少なくとも163968KiB(160.25MiB)が必要ですkdump

kdump(ほとんどの)新規インストールの場合、RHEL 7(および拡張に応じてCentOS 7)には、このメカニズムがデフォルトでインストールおよび有効になります。 Anacondaインストーラは制限された設定オプションを提供しますkdump。他のインストールオプション(Kickstartなど)はデフォルトで有効になっていない可能性がありますkdump

詳細(インストール、設定、使用法)については、kdumpカーネル管理に関するRHEL 7のマニュアルを参照してください。カーネルクラッシュダンプガイド

答え2

kdumpカーネルがクラッシュしたときにカーネルメモリをダンプします。だから

  1. カーネルがクラッシュしない場合、kdumpを安全に無効にすることができます

  2. カーネルの衝突を気にしない場合は、kdumpを無効にするのが安全です。

  3. サポート契約がなく、カーネル衝突を直接デバッグするために必要な知識がなく、カーネル衝突を診断するために誰かにワンタイムコストを支払う意思がない場合は、kdumpを無効にすることが安全です。

それ以外の場合はアクティブなままです。

ほとんどの人にとって(1)が正しい。残りは(2)または(3)が正しいかもしれません。組み込みLinuxを使用して高価値デバイスを作成する場合、kdumpは非常に便利です。

答え3

kdump はカーネル衝突デバッグ用に特別に設計されています。これを有効にすると大きな欠点が1つあります。これは、大量のメモリを消費することです。たとえば、2 GB RAM を搭載したシステムでは、RAM の 8% 未満を使用します。 RAMはサーバーのパフォーマンスを制限する要因であることが多いため、ほとんどのユーザーが「最も弱いリンク」に達するため、重大なダメージを引き起こす可能性があります。 RAMが影響を受ける以外に欠点はありません。

私の質問は:カーネルの競合をデバッグする必要がありますか?

CentOSやRocky Linux、AlmaLinuxなどの最新のクローンはもちろん、商用バージョンのRed Hat Enterprise Linuxも本番環境の安定性のために選択されていることがよくあります。 19年以上本番サーバーを運営している間、CentOSや本番サーバーでカーネルパニックを経験したことはありません。 「信頼性の低い」ディストリビューションを実行しているサーバーでも同様です。

実験的なドライバやデスクトップシステム用の設定を使用して独自のカーネルをコンパイルし、GentooやLFSなどの「最先端の」Linuxシステムを使用しているときにのみカーネルパニックを経験しました。このような場合は、私が経験している状況を知り、kdumpが有効になっていることを確認します。そこでも事故はほとんど起こりません。私は本番サーバー用に多くのカスタムカーネルをコンパイルしましたが、それらのどれもクラッシュしたことはありません。

本番サーバーを実行しているほとんどの人は、kdumpを無効にしたいと思います。 CentOSまたは比較的安定したディストリビューションを使用していて、独自のカーネルをコンパイルしない場合は、この機能を無効にしてください。自分のカーネルをコンパイルする人によっては、自分が使用する設定に自信がある場合は、カーネルを無効にしたい場合があります。

関連情報