すべてのLinuxシステムでウォッチドッグを有効にできますか?

すべてのLinuxシステムでウォッチドッグを有効にできますか?

オレンジパイゼロRaspbianサーバーを実行するときに単にrootとしてコマンドを実行すると、監視機能を簡単に使用できますecho 1 > /dev/watchdog。このコマンドをしばらく実行するとシステムが確実に再起動されるため、システムの電源を入れたままにするには、このコマンドを定期的に繰り返す必要があると思います。ルートIDを使用して監視デバイスを実装し、cron起動時に次のスクリプトを実行させることができます。

#!/bin/bash
while [ true ]; do
    echo 1 > /dev/watchdog
    sleep 5
done

このスクリプトはOrange Pi Zeroで正常に実行されますが、Ubuntu 18.04を実行しているデスクトップコンピュータでは次のコマンドが実行されます。echo 1 > /dev/watchdogまったく動作しません。Linuxを実行しているすべてのデバイスでウォッチドッグを有効にできますか?

ベストアンサー1

監視装置には、ハードウェアとソフトウェアの2種類があります。 Orange Piでは、SOCチップはハードウェア監視機能を提供します。初期化されている場合は頻繁にpingを実行する必要があり、そうでない場合はボードのリセットが行われます。

しかし、ハードウェア監視機能を備えたデスクトップはあまりないので、カーネルでソフトウェアバージョンを提供します。カーネルは追跡を試み、強制的に再起動を試みます。カーネル自体が破損しても何もリセットをトリガしないため、これはハードウェア監視より劣ります。しかし、動作します。

ソフトウェアウォッチドッグはsoftdogモジュールをロードして初期化できます。

% modprobe softdog
% dmesg | tail -1
[  120.573945] softdog: Software Watchdog Timer: 0.08 initialized. soft_noboot=0 soft_margin=60 sec soft_panic=0 (nowayout=0)

デフォルトでは、60秒のタイムアウトがあることがわかります。

私がそうすれば

% echo > /dev/watchdog
% dmesg | tail -1
[  154.514976] watchdog: watchdog0: watchdog did not stop!

ウォッチドッグがタイムアウトしないことがわかります。

その後、マシンを1分間アイドル状態にしてコンソールで確認しました。

[  214.624112] softdog: Initiating system reboot

オペレーティングシステムが再起動されます。

おすすめ記事