« 博論の進捗状況ほか 8月2週版 | メイン | 富士登山2007 アタックプラン »

入構禁止期間の停電から復帰する方法 [ サーバ運営 ]

入構禁止期間の定期停電から,見事復帰を遂げたlongwangとsepat.
停電時の研究室環境がどうなっていたのか.
どのような方法で復帰したのか.
博論を放置してでも,それを皆様にお知らせしたい.

まず,環境.
入構禁止前に行ったのは,NAS・玄箱・プリンタ・Windowsサーバ(damrey)の停止.
それ以外はいつも通りの状況にしておきました.
つまり,ルータもスイッチも動いている状態です.
要するに,ネットワークは使える状況にしておきます.
サーバ類もlongwangとsepatは稼働状態のままです.
ただし,longwangとsepatには停電前にシャットダウンするようにatしてます.

本来は停電前にサーバ群をatでシャットダウンさせて,20日に電源投入を行う予定だったが,
subversionが使えないと困る院生がいたようなので,停電後に復帰できるようにした.
その設定は至って簡単.
longwangのatを取り消すだけ.

longwangはBIOSのState After Power FailureをLast Stateにしてあるので,
停電等で電源断が行われた後に,電源が復帰すれば,元の状態に戻ります.
つまりは,停電直前まで動いていたのならば,電源復帰後に起動するのです.
常時稼働を前提としたサーバらしい設定項目です.
というわけで,停電時に不慮の電源断を被りますが,それを耐えきれば,停電後に自動復帰します.
過去の経験からいって,longwangのトラフィックもHDDアクセスも対したことはありません.
突然にして電源が落ちたところで,そう簡単には壊れません.
そういう信頼の元の設定です.

さて,停電後に見事に復帰したlongwang.
勝負はここからです.
実は,sepatの管理者はオレではないので,細かい設定を行っていない.
特に,sepatにはAPCのUPSがつながっているので,停電時には放っておくと安全にシャットダウンされます.
不慮の電源断ではないので,State After Power Failureは適用されない.
というか,そもそもそんな設定項目があるかどうかも知らない.
なので,今まではsepatの世話をしていなかったんです.オレの管理外だし.

しかし,ここでは敢えて挑戦したい.sepatも復帰させたい.
というわけで,WOLによる復帰を試みました.
WOLが正しく実行されるためには,以下の条件を満たす必要がありました.
・NICのWOLが有効になっていること
・そのNICが内部LANに接続されていること

入構禁止期間なので,その両方を確認することができなかったので,とりあえずやってみた.
longwangからsepatに対して,マジックパケットを送出します.
今回は仙石氏Wake-On-Lanを利用させていただきました.
使い方は簡単.

$ gcc -o wol wol.c
$ ./wol xxx.yyy.zzz.255 XX:XX:XX:XX:XX:XX

"xxx.yyy.zzz.255"にはsepatのネットワークのブロードキャストアドレス,
"XX:XX:XX:XX:XX:XX"にはsepatのMACアドレスを入れます.

後はpingを打ち込んで復帰したかどうかを確認するだけです.
今回は運良く復帰しました.
WOLが有効なNICが内部LANに繋がっていたようだ.運が良い.


以上が入構禁止期間の停電からサーバを復帰させる方法です.
ほーら.簡単でしょ?
ただ,よくよく考えれば,BIOSのAuto Power Onを停電終了予定時刻に設定しておいた方が・・・


参考:
愚行録 ver.blog: リモート起動&シャットダウン