2009年9月11日

[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@xxxxx
follow me! -> http://twitter.com/densuke


投稿者 xml-rpc : 2009年9月11日 11:00
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/88464
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。