Recent Comments

BIND+PHPによるDiCEで更新可能なダイナミックDNSサーバ構築
 [09/09] Big Black Ass様
 [09/09] Buy Vicodin様
 [09/09] Stop drinking and take zoloft様
DiCEのプラグイン編集
 [09/09] susie様
 [09/09] ikfepzemjah様
 [09/09] lakia様
日記:携帯ストラップにUSBメモリ
 [09/07] [doxycycline hyclate 100mg]様
日記:Windows7RCがDVDドライブを認識しない
 [09/07] what is doxycycline様
買った(日記):Dynabook SS 1610 11L/2
 [09/07] [doxycycline lyme disease]様

Profile

名前:げんき
職業:ねじ屋さん
趣味:機械いじり
  買ったものや試したことを日記混じりで書きつづっております。

中の人

なかのひと
Graph 2010.9.9
Year:  Month:  Day

<<< RBIO:HDD・CPUの温度監視をして扇風機を自動でON/OFFする。 <<<  ||  >>> Linux:Vine3.2にImageMagickとPHP5とMagickWand for PHPをインストール。 >>>

RBIO:LAN内のサーバを監視して落ちたら強制リセット

2008年10月26日

目的
 うちにはサーバ用・ルータ用の2台の常時稼働マシンがある。どちらも基本的にはある程度安定しているのだが、どうしても時々落ちる。特に夏。
 勝手に再起動してくれる分にはまぁ構わないのだが、高温時にハングアップということが希に起こる。こうなると家にいない限り長時間のサーバダウンは避けられないので、これはいただけない。
 そこで、せっかく2台の常時稼働マシンがあるのだから、お互いに定期的にpingを打って無事を確認し、相手の意識がなければ強制的にリセットスイッチを押してやって再起動させ、長時間のサーバダウンを回避する。

製作:ハードウェア
 リセットスイッチを押すといっても物理的にボタンを押すなんて難しいことをするわけではなく、リレー制御ボード RBIO-3Eを用いてマザーボードのリセットスイッチを短絡させる。
 まず、リセットするときだけ短絡すればいいので、RBIOのリレーのNO(ノーマルオープン)側から配線を作る。
image
この写真で下から2番目・3番目の端子がそれ。

 そしてこの線の反対側は、
image
マザーボードのリセットスイッチと同じ規格のコネクタを付けてやり、更に並列にピンも付けてやる。
ピンを付けるのは、ここにケースのコネクタを刺すことでケースのリセットスイッチも使えるようにするため。実際には電源ボタンがあるのでこれは作らなくても困らないかもしれない。

 こんなものを適当に作ってしまったせいで、
image
そのへんの金属部に触れるだけでリセットされてしまう危険箇所が出来てしまったので、
image
木工用ボンドで固めてやり、絶縁する。

 これまた乾くまで触ることも出来ないので、
image
なんとか乾燥させてやる。

乾いたら、マザーボードのリセットスイッチのところに刺して、並列のピンにケースのリセットスイッチのコネクタを刺して完成。

製作:ソフトウェア
 次は、このスイッチをON/OFFするスクリプトを書く。
 方向性としては、定期的に相手にpingを打って返事がなければ、ただのしかばねのようなので電気ショックを与えてやるというもの。

○仕様
   ・pingを5発打って全く帰ってこなかったらRBIOでリセット。
     →1発だけだと何だか不安なので、5発打って5発ともダメなときに発動。
   ・無限ループで5分ごとに確認。
     →1分1秒を争うサーバではない。5分5発のpingがしんどいわけでもない。
   ・リセット後は10分待つ。
     →5分で起動しきれなかったら一生リセットしてるから。
   ・自分が起動したときと、相手をリセットしたときにログをとる。
     →気分的な問題で。

○ソース
watch_firewall.php

これを、

/usr/bin/php /home/…/…/rbio/watch_firewall.php &
と、バックグラウンドで走らせてやって、今後も再起動時にこれが走るように
/etc/rc.d/rc.local
に、
/usr/bin/php /home/…/…/rbio/watch_firewall.php &
って1行を付け足してやる。

<<< RBIO:HDD・CPUの温度監視をして扇風機を自動でON/OFFする。 <<<  ||  >>> Linux:Vine3.2にImageMagickとPHP5とMagickWand for PHPをインストール。 >>>

アンケート

このページの内容はいかがでしたか?
片手間にポチっと送信してやってください。
役に立った 1
おもしろかった 1
ふつー 0
つまらなかった 0
欲しい情報と違った 0
Score:3

トラックバック

このエントリーのトラックバックURL:
http://www.genkikko.net/mt/mt-tb.cgi/88

コメントを投稿