中オレンジパイゼロ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
オペレーティングシステムが再起動されます。