次のコマンドを使用してソフトウェア監視デバイスを作成しました。
$ sudo modprobe softdog soft_margin=60
ソフトウェア監視が初期化されたことをオペレーティングシステムログで確認できます。
Jul 12 09:49:00 patroni4 kernel: softdog: Software Watchdog Timer: 0.08 initialized. soft_noboot=0 soft_margin=60 sec soft_panic=0 (nowayout=0)
ウォッチドッグを介してノードの再起動をトリガするために実装しましたecho a | sudo tee /dev/watchdog
。
ノードが再起動されましたが、ログにはウォッチドッグによって再起動がトリガーされたことを示す内容はありません。soft_noboot=1
OSログでオプションを設定すると、メッセージが表示されますsoftdog: Triggered - Reboot ignored
。
ウォッチドッグの実装によっては、ウォッチドッグがノードの再起動をトリガするときにログメッセージが必要です。 https://github.com/spacex/kernel-centos7/blob/master/drivers/watchdog/softdog.c
static void watchdog_fire(unsigned long data)
{
if (soft_noboot)
pr_crit("Triggered - Reboot ignored\n");
else if (soft_panic) {
pr_crit("Initiating panic\n");
panic("Software Watchdog Timer expired");
} else {
pr_crit("Initiating system reboot\n");
emergency_restart();
pr_crit("Reboot didn't ?????\n");
}
}
オペレーティングシステム:CentOS Linuxバージョン7.9.2009(コア)Linux lin1 3.10.0-1160.62.1.el7.x86_64
ウォッチドッグが再起動をトリガしたかどうかを確認するには?この情報はなぜ記録されないのですか?どういうわけかロギングを有効にできますか?
情報ありがとうございます。
答え1
ウォッチドッグによっては、再起動する前に最後のログを要求するか、現在のタイムスタンプを含むフラグファイルを生成できます。
last reboot
コマンドまたはオペレーティングシステムを使用して、いつでも最後の起動時間を要求できますlast reboot -n1
。
2つのタイムスタンプを比較するだけです。ウォッチドッグタイムスタンプとブート時間の違いが再起動するのに十分な場合、答えは「はい」です。