Linux でカーネルウォッチドッグがアクティブかどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Linux でカーネルウォッチドッグがアクティブかどうかを確認する方法を学びます。応答しないシステムを自動的に再起動することでシステムの安定性を確保する重要なコンポーネントであるウォッチドッグタイマーの状態を判断するためのさまざまな方法を調べます。

まず、/proc ファイルシステムを使用してウォッチドッグの状態を確認し、次に dmesg を使用してカーネルメッセージバッファでその初期化を確認し、最後に /etc/systemd でウォッチドッグサービスの設定を調べます。これらの手順により、Linux カーネルウォッチドッグの動作状態を確認する方法を包括的に理解することができます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") subgraph Lab Skills linux/ls -.-> lab-558727{{"Linux でカーネルウォッチドッグがアクティブかどうかを確認する方法"}} linux/cat -.-> lab-558727{{"Linux でカーネルウォッチドッグがアクティブかどうかを確認する方法"}} linux/grep -.-> lab-558727{{"Linux でカーネルウォッチドッグがアクティブかどうかを確認する方法"}} end

cat /proc/sys/kernel/watchdog でウォッチドッグの状態を確認する

このステップでは、Linux のウォッチドッグタイマーについて調べます。ウォッチドッグは、コンピュータが応答しなくなった場合に自動的に再起動するシステムです。これは、ダウンタイムが許容されない重要なシステムにとって非常に重要です。

ウォッチドッグタイマーはカーネルパラメータによって制御されます。/proc ファイルシステム内の特別なファイルを読み取ることで、その状態を確認することができます。/proc ファイルシステムは、プロセスに関する情報やその他のシステム情報を提供する仮想ファイルシステムです。

ウォッチドッグの状態を制御するファイルの内容を読み取るために、cat コマンドを使用します。

ターミナルに以下のコマンドを入力し、Enter キーを押してください。

cat /proc/sys/kernel/watchdog

このコマンドの出力は 0 または 1 になります。

  • 0: ウォッチドッグタイマーが無効になっていることを示します。
  • 1: ウォッチドッグタイマーが有効になっていることを示します。

以下のような出力が表示されるはずです。

0

これは、この環境でウォッチドッグタイマーが現在無効になっていることを意味します。ウォッチドッグの状態を理解することは、それを管理する最初のステップです。

続ける をクリックして次のステップに進んでください。

dmesg でウォッチドッグを確認する

このステップでは、dmesg コマンドを使用してカーネルメッセージバッファを調べます。dmesg は、システムの起動時や動作中に生成されるカーネルからのメッセージを表示します。これらのメッセージには、ハードウェア検出、ドライバーの読み込み、およびウォッチドッグタイマーの初期化を含むシステムイベントに関する情報が含まれることが多いです。

dmesg を使用し、その出力を grep にパイプで渡して、ウォッチドッグに関連するメッセージをフィルタリングします。パイプ (|) は、1 つのコマンドの出力を別のコマンドの入力として送ります。

ターミナルに以下のコマンドを入力し、Enter キーを押してください。

dmesg | grep -i watchdog

このコマンドを分解してみましょう。

  • dmesg: カーネルメッセージバッファを表示します。
  • |: パイプ演算子で、dmesg の出力を grep に送ります。
  • grep: 正規表現に一致する行を検索するための強力なコマンドラインユーティリティです。
  • -i: grep のオプションで、パターンの大文字と小文字の区別を無視します。
  • watchdog: カーネルメッセージ内で検索するパターンです。

出力には、大文字と小文字を区別せずに、「watchdog」という単語を含むすべてのカーネルメッセージが表示されます。起動時にウォッチドッグドライバーが読み込まれたり初期化された場合、次のような出力が表示されることがあります(正確な出力はシステムによって異なります)。

[    0.XXX] Linux version X.X.X-XX-generic (...)
[    X.XXX] watchdog: initialized omap_wdt driver
[    X.XXX] watchdog: watchdog0: watchdog: activate

このような出力が表示された場合、カーネルがウォッチドッグデバイスを検出して初期化したことを示します。出力が表示されない場合は、ウォッチドッグドライバーが読み込まれていないか、このシステムに存在しない可能性があります。

このコマンドは、カーネルがウォッチドッグデバイスを認識して相互作用しているかどうかを確認するのに役立ちます。

続ける をクリックして次に進んでください。

/etc/systemd でウォッチドッグサービスを調べる

このステップでは、/etc/systemd ディレクトリ内のウォッチドッグサービスに関連する設定ファイルを探します。systemd は Linux のシステムおよびサービスマネージャであり、ウォッチドッグのようなサービスを管理することが多いです。systemd ユニット(サービスなど)の設定ファイルは通常、/etc/systemd/system/ に保存されます。

ls コマンドを使用してファイルを一覧表示し、grep を使用して /etc/systemd/system/ ディレクトリ内の名前に「watchdog」を含むファイルを検索します。

ターミナルに以下のコマンドを入力し、Enter キーを押してください。

ls /etc/systemd/system/ | grep watchdog

このコマンドを分解してみましょう。

  • ls /etc/systemd/system/: /etc/systemd/system/ ディレクトリの内容を一覧表示します。
  • |: パイプ演算子で、ls の出力を grep に送ります。
  • grep watchdog: 「watchdog」という単語を含む行を検索します。

ウォッチドッグサービスが systemd を使用して構成されている場合、次のような出力が表示されることがあります。

watchdog.service

これは、watchdog.service という名前の systemd サービスファイルが存在することを示しており、このファイルはおそらくウォッチドッグタイマーの管理を担当しています。このファイルが存在することは、ウォッチドッグ機能が systemd を通じて制御および構成されている可能性があることを示唆しています。

出力が表示されない場合は、このディレクトリに「watchdog」と明示的に名付けられた systemd サービスファイルが存在しないことを意味します。これは必ずしもウォッチドッグがアクティブでないことを意味するわけではありませんが、この場所の標準的な systemd ウォッチドッグサービスユニットファイルによって管理されていないことを示唆しています。

ウォッチドッグサービスがどこで構成されているかを理解することは、その動作を管理する上で重要です。

続ける をクリックしてこの実験を終了してください。

まとめ

この実験では、Linux でカーネルウォッチドッグの状態を確認する方法を学びました。まず、cat /proc/sys/kernel/watchdog コマンドを使用して、ウォッチドッグタイマーが有効か無効かを判断しました。値が 0 の場合は無効、1 の場合は有効であることがわかりました。

その後、dmesg を使用してカーネルメッセージバッファを調べ、その出力を grep -i watchdog にパイプで渡して、ウォッチドッグタイマーに関連するメッセージを検索しました。これにより、システム起動時のウォッチドッグの初期化と状態についての洞察を得ることができます。