パスワードを忘れた? アカウント作成
19805 journal

okkyの日記: 停電電報 2

日記 by okky

UPSに繋がっているシステムが停電になったとする。

当然、UPSは停電を検知して、自分がバックアップしている諸デバイスに「停電だー、落ちろー」とメッセージを出す。もろもろのデバイスはシャットダウン処理を行う…。

これらの処理の中には「人間に通達する」という作業が含まれるべきだろう。というのも次のような情報がほしくなるからだ。

  1. 停電が起こったことそのものを知りたい。
    計画的停電であれば、実際に停電になったときにはシステムはすでに人間によって停止されているはずだ(大抵の場合は、という意味だが)。という事は、UPSが「ギャー」と言い出さなくてはいけないようなケースというのは、最初から計画外停電だったと言うこと。
    この場合、アドミニストレーターに停電があった事実を通達して欲しい。
  2. 緊急シャットダウンがどこまでうまく行ったのか知りたい
    緊急シャットダウンがスタートしたものの、ちゃんと終了する前に電池切れ…という事は当然ありえる。ちゃんと終了できたのかそれとも電池切れを起こしたのか、停電が終わった後、再起動をかけてみないと状態が判らないのは不便だ。どうにかして、「ちゃんと終わったかどうか」を知りたい

しかし、これは言うほど簡単ではない。

例えば特定の電話番号に電話をかけるとしてみよう。モデムはUPSからの通電で動くだろう。アナログ電話回線はNTTからの電力供給で生きているだろう。特定の電話番号に電話をかけることは可能だ。

しかし、受ける側の電話は?? ACアダプターを指していないかい??いまどき黒電話は無いよな??

携帯? 基地局が停電になっていないと??

停電の場合は 0a-bbbb-cccc にかけるとしよう。で、もろもろの機械が全部正常にシャットダウンしたら 0a-bbbb-dddd にもかける、としたら??
えー?? 停電だけのためにアドミニストレーターに普段使っている回線の他に2本も電話線引くんですか? 1回線 1bit しか情報送らないのに??

うーむー。というわけでいろいろ考えてひらめいた。

電話が駄目なら電報があるじゃないか

NTT-東日本やNTT-西日本に、「停電電報ボックス」を開発してもらうのだ。物としてはOpenBlocks程度のLinux Boxでいい。

停電を検知したらまず、こいつは電報システムに電話をかけて、PPPコネクションを張り、アドミニストレーターに電報を打つ
『停電です』

もし、全系正常にシャットダウンできたら、再び電話をかけて、アドミニストレーターに電報を打つ
『全系正常に停止しました』

もし、正常にシャットダウンできなかったら、UPSの電池が切れるだろう。当然2番目の電報は打てないので
「電力供給復旧後、正常に上がってくるとは限らないな」
という覚悟が出来る。

これなら、緊急時に1アドミニストレーター当たり電報2本打つだけのコスト + OpenBlocks + ソフト代だ。どんなに暴利を貪っても50万円+年間1万円程度のコストをお客様に負担してもらうだけで十二分な能力が出せるだろう。

というわけで、どうだろうか? > NTTさん
結構、良い商売のネタだと思うのだが?

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2008年02月19日 9時25分 (#1299558)
    > ちゃんと終了できたのかそれとも電池切れを起こしたのか、
    > 停電が終わった後、再起動をかけてみないと状態が判らないのは不便だ。
    > どうにかして、「ちゃんと終わったかどうか」を知りたい

    この時点でかなり難しくない?
    「正常終了時に正常終了の反応を返す」マシンってあるんだろうか?
    「異常終了の反応が無かった事を以って正常と見なす」だと電池切れで落ちても分からないし、
    • by okky (2487) on 2008年02月19日 11時24分 (#1299601) ホームページ 日記

      この時点でかなり難しくない?
      「正常終了時に正常終了の反応を返す」マシンってあるんだろうか?

      ??? 異常時に異常終了の反応を返すマシンの方が珍しいと思いますが… ???

      実際に必要なのは「監視系」って奴です。つまり「サービス」を行っているシステムとは別に(省電力で廉価な)独立したマシンを用意しておいて、そいつに監視させる。

      UPSが必要になる状況なので、こいつが監視するべきなのは「何らかの理由でサービスが停止できない」とか「電源が止まらない」などの「停止不能」状況です。サービスをちゃんと止められた、サーバがちゃんと止められたならOK、とします。

      データセンターとかにあるマシンは、Raidの化け物をバックエンドに持っているので、ものすごい勢いで電気を食います。しかし、バックエンドを停止させようとすると、まずサービスを止めなくてはいけません。サービスを提供するマシン自体が冗長系を持っている場合、そいつら自身の監視系がまたさらにあるものなんですが、この監視系がRaidに依存してたりします(/とか /boot とかを Raid 上に持っている)。

      Raid を止めようとすると、「サービス監視系」も一緒に止めなくてはいけない。すると「ちゃんとサービス監視系も、Raidも停止した」事を監視・報告するシステムが無くなる。それをサービス監視系にさせようとすると、

      1) サービス監視系のStorageに冗長性が無くなる
      2) サービス監視系に必要なプロセッサパワーは大きいので消費電力が…

      という弱点が出てしまいます。

      一番よいのはUPS自身がもっと賢いことなのですが、なぜかUPS自身が十分賢いシステムを見たことがありません…(正確には「賢く」て「安く」て long lasting なものを見たことが無い)。
      --
      fjの教祖様
      親コメント
typodupeerror

※ただしPHPを除く -- あるAdmin

読み込み中...