[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:52960] watchdogの終了と起動スクリプトの扱いについて



佐藤と申します。

パッケージ提供のスクリプトに手を加えることなく、芋づる式に「watchdog終
了→デバイス削除」をさせる方法についての妙案がないか悩んでおります。
使ってる環境はDebian GNU/Linux(squeeze,32bit)です。

自分で走らせてるシステムで、watchdogを使うことを検討しています。
デバイスとしては、iTCO_wdt(Intelのチップセット上にあるらしきハードウェ
アwatchdog)があるので、それを使おうと考えています。

watchdogパッケージを使えば、/dev/watchdogに定期的にデータを送ることが
できるのですが、問題は終了などの処理です。
システム終了時にはwatchdog(/usr/sbin/watchdog)が終了することになるため、
一定時間(30秒ぐらいですか)が経過すればハードウェアリセットとなると思い
ますが、正常な終了処理なのでそれは困ります。
他にもバックアップを深夜に作成していて、その際にRunLevel 1を使って処理
を自動化させることがあるため、処理中にリセットされるのもまた困りもので
す。

モジュールiTCO_wdtを削除すればリセットされることはないのはわかっている
ので、watchdogプロセスの終了のタイミングにあわせてrmmodさせればこの問
題は解決します。このためにskeltonからwatchdog-removeなどのスクリプトを
書いてしまえばいいのですが、うっかり

# /etc/init.d/watchdog stop

とかしてしまえば「デバイスは残りっぱなし→リセット」という状態になって
うれしくありません。だからといって/etc/init.d/watchdogに手を入れてしま
うと、watchdogパッケージ更新の際にスクリプトが変更されるおそれが出てし
まいます(もちろん問い合わせがありますが)。

なにかいい方法はないでしょうか。

***

別案として、udevが未使用になった/dev/watchdogを検出してrmmodしてくれる
ような方法もとれればいいのですが、できるんでしょうか…
(watchdogプロセス起動中は、常に/dev/watchdogを開いてます)

起動時にondemandで/dev/watchdogを作らせるのであれば、
/etc/defaults/watchdog内で書くという荒技が可能です(いいのか?)

-- 
佐藤 大輔/densuke@xxxxxxx
follow me! -> http://twitter.com/densuke