okkyの日記: 根本的な欠陥 2
ある所にUPSでバックアップしているシステムがあった。
停電したら、UPSで電力供給しておいて正常終了させるはずのシステムだ。
そのシステムが先日、停電でストップした。
再起動した後、ログを見たら…あれ???
1) シャットダウンシーケンスがUPSから送られて来るはずなのだが、来た形跡がない
2) 実施された形跡もない
3) UPSの電池が切れた所で突然死している事になっている
4) 通電が再開した後のUPSからのシーケンスは全部実施されているし、その旨のログも残っている
5) 実験室で同じ状態を再現しても、1-4の条件は何度でも繰り返し再現されるらしい。らしいというのは、うちの実験室じゃないので現物を見れないのだ。
UPSとシステムとの間には Ethernet Switch が入っている。で、UPSはrshを利用してコマンドを送っているらしい。
さて。正常にシャットダウンを実行しなかった理由は何でしょうか??!
.
まぁ、実際に現地に行っていないので完璧には判らないが。
.
4 の症状から見るに、「全系」に通電が復活しているとこのコマンド送信経路は完全に生きている。1, 2 は「全系」に通電がないとコマンド送信経路が死ぬ事を示している。3はUPSからの通電が、少なくとも電池が生きている限り生きている事を示している。
以上のことから、予測される結論は
UPSとシステムの間に入っている Ethernet Switch の電源が、UPSのバッテリーバックアップ対象になっていない
そのため、UPSとシステムとの通信がいの一番に途絶し、それっきり…
システムが壊れなかったのは、停電が発生してから電源が落ちるまでに時間があったこと、うちのシステムはwrite cacheを実質的にバックエンドストレージ側にしか持っていない事、バックエンドストレージ自体にはスイッチは無く「通電が無くなってからキャッシュのバックアップ等を行い、自発ダウンする」システムになっていること、ファイルシステムがジャーナルを持っていること、の4つのお陰で殆ど全てのデータがディスクにおいてあったから、に過ぎない。
誰? 配線したのは… (某文具とかも扱っている会社さんが、UPSの会社と共同で売ったシステムなので、こういうアホウな配線をしたのはそちらかと思いますが)。
同じミスをした事ある (スコア:1)
SIさんが設計時の打ち合わせで、UPSがサーバをLAN経由でshutdownするソフトを
提案してきたのだが、それをもとに入札仕様書を作成し、提案した所
が落札した。
しかしなぜか、導入時にはシリアル経由でshutdownするソフトを持っ
てきた。当初は理由はわからなかったのだが、停電時に気がついた。
原因は私がLANの配線設計でスイッチを別の部屋に置いて、LANケーブル
を延長するよう設計してたからであった。
Re:同じミスをした事ある (スコア:1)
これがあるのと無いのとでは、「サービスが突如として止まったーーー」とか言うときに解析・復旧までの時間が全然違います。メイン側のスイッチがいかれたのか、サーバーが飛んだのか、制御系を使って遠隔調査できます。
fjの教祖様