昨日の停電で、サーバにダメージ

| コメント(0)

昨水曜(16日)は、前の週に仕掛けた自動portsツリー更新が行われる日である。

早朝から、ゆるゆると、処理は進んでいたのだが、この日は朝から暗い空で、午後には雷雨となった。

夕方、午後5時頃には、とうとう、停電した。

停電していた時間は、正確にはわからないが、感覚的には、10〜20分くらいである。

沖縄電力のホームページでは、この手の災害情報は出ていない。
たぶん、雷撃で地絡して遮断器が動作して、再閉路成功、というところなのだろうと思う。

家には、サーバ用にUPSがある。
有るには有るのだが、とうの昔にバッテリが老朽化して、もはやUPSの体を為していない。
古いバッテリの処分先が決まらなくて、新しいバッテリに交換できなくていたのである。
先月、さすがにこのまま放置できないと思い、購入元に連絡をとってみたら、メーカが古いバッテリを引き取ってくれることがわかった。
ただし、送料は自腹である。
送料を負担しても、有害危険物として処分しようとしたら、それどころでない煩わしさがあるので、仕方が無い。
懐具合を見ながら、バッテリを交換しようと考えた。
そうこうしている内の、昨日の停電である。

通電したと同時に、サーバは起動し、一見、何事も無い風に、動いていた。
しかし、portsツリーの更新に続けて、アプリケーションのアップデートをやっている最中に、いきなり電源が落ちたので、やはり、ファイルシステムに不整合が出ていた。

近頃のマシンでは、ディスクへの書き込みは、一時メモリにキャッシュし、適当にまとめてから本当に書き込みする、いわゆる「遅延書込」によって、処理スピードをあげている。

家のFreeBSDのサーバでも、重い処理が走っているときなどは、数秒に1回程度しか実際に書き込みはしない。
その分、処理速度はディスク書き込み速度に足を引っ張られないので、そこそこ速いのだが、突然の電源断では「お手上げ」である。
電源が突然落ちると、かなり高い確率で、書き込みを遅延させたデータが、flush前に、失われるのだ。

それが嫌なら、UPSを設置するか、ノートPCなどの自立電源を持つマシンにするしかない。

しかし、10分以上の時間、電源を維持できるUPSは、それなりに高価だ。
今回の様に、(停電復旧時間としては最短だったのだとは思うが)長い時間停電すると、UPSのバッテリも切れる。
そうすると、UPSからの割り込みで、自動的にサーバを shutdown するようにしないと、いずれ、同じ運命をたどる。

それはさておき、我が家のFreeBSDサーバでは、ファイルシステムは、UFS+遅延書き込み+soft-updates という構成である。

この仕組みだと、ファイルの書き込みは、中途半端に成功する、ということはない。
成功するか、失敗する(=書き込まれない)かの、どちらかになる。
半端な状態が無い、というのは、かなり安心できることである。
しかし、こんな保証があろうが無かろうが、爾後の処理は同じだ。

  1. # shutdown -r now で、再起動し、シングルモードに切り替える。
  2. > /sbin/fsck -y 修復したデバイス名とパスをメモる。
  3. > /sbin/shutdown -r now で、再起動する。
  4. メモしたパスのファイル・ディレクトリを見て、おかしなものは、必要に応じて別にバックアップし、削除する。
  5. OSソースを同期する。(# cvsup /usr/share/example/cvsup/stable-supfile)
  6. portsツリーを同期する。(# cvsup /usr/share/example/cvsup/ports-supfile)
  7. 「world」とカーネルを再構築する。
  8. portsから導入したアプリケーションを全て強制再構築する。(# portupgrade -af)
  9. データベース等を、必要に応じて、バックアップから戻す。
こんな感じである。

カーネル&「world」の再構築に約2時間(1.1GHz-Celeron 32-bit)かかる。
portsから入れたアプリケーションの全再構築だと、約30時間(520ports)かかる。
当然、今も作業中である。

完了するまでは、サーバの動作が重くてたまらない。
しばらくの辛抱である。

コメントする

このブログ記事について

このページは、山椒魚が2009年6月17日 15:02に書いたブログ記事です。

ひとつ前のブログ記事は「キャラすけ、またまた右肢にケガ」です。

次のブログ記事は「またもやサーバダウン」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

おすすめサイト

おすすめ

サーバ/OS技術書

技術書一般

  • 長沢工:天体の位置計算 増補版

    長沢工:天体の位置計算 増補版

    天体の視位置を計算する「位置天文学」の入門書。ロングセラー。刊行が古いために、具体的計算に使われている星表等の定数は、1984年以前の計算システムによるものである。しかし、現在、新刊で入手可能な同種の書籍は限られており、天体位置計算の考え方が変った訳ではないので、現在でも充分に役立つだろう。