1960 年生まれ,独身フリー・プログラマの生態とは? 日経ソフトウエアの人気連載「フリー・プログラマの華麗な生活」からより抜きの記事をお送りします。2001年上旬の連載開始当初から,2007年に至るまでの生活を振り返って,週2回のペースで公開していく予定です。プログラミングに興味がある人もない人も,フリー・プログラマを目指している人もそうでない人も,“華麗”とはほど遠い,フリー・プログラマの生活をちょっと覗いてみませんか。

 目が覚めると,ダイニングに鎮座した自慢のラックから「ピッ,ピッ」という音が聞こえてきた。ストレージ・サーバーが持つRAID(Redundant Arrays of Inexpensive Disks,安価なディスクを複数使って冗長性を持たせる手法)アダプタの警報音だ。3台あるディスクの1台がフェイル(故障)したのだろう。ここまではさして問題ない。ところが,Linuxのシステム・ログに障害を検出したという記録がない。いったいどのディスクに問題があるのか,皆目見当がつかない。障害が回復可能で,リビルド(再構成)をしているのかさえわからない。

 このマシンには,米Promise TechnologyのSuperTrak SX6000というATA RAIDボード(確か6万円くらいだった)を装着し,ATAの160GBのディスクをRAID 5構成で3台接続してある。RAID 5はパリティ(parity,修復用データ)を複数のディスクに分散格納することで容量と安全性(修復可能性)のバランスを取った高度な方式だが,1台がフェイルした状態では劇的に信頼性が低下する。

 仕方がないので,一度システム(Linux)をシャットダウンし,RAIDアダプタのBIOS ROMに載っているユーティリティでステータスを見ることにする。ところが,リビルド中であることしかわからない。それなら1台ずつユニットを外して,あるいは新品と交換してみればわかるだろうと思ったのが大間違いだった。

 実際にやってみるとアダプタは3台のうち2台が故障したと判断し,ディスクの内容は永久に復旧できなくなってしまった。ATAのディスクが大容量になったなあ,安くなったなあ,ATAのRAIDボードなんてのもあるのか。よし,これでストレージ・サーバーを作るぞ,最初は320GBで様子を見て,将来はテラバイト・ストレージだ!なんて思っていたのだが,ほんの数カ月でこのざまだ。なんてこった。

 Linuxフリークの方にはお叱りを受けるかもしれないが,このとき私は思わず「Windowsの方がまだマシだあぁ」と叫んでいた。Windows NT 3.51が装備するソフトウエアRAIDでRAID 5を組んでいたときはもっと使い勝手がよかったと思う。管理ツールで,どのディスクがなぜフェイルしたか,復旧中なのか,死んでいるのかがすぐわかった。ディスクを追加して容量を増やすのも簡単だった。今回使っていたRAIDアダプタは,Windows用管理ソフトは用意されているが,Linux用はない。このRAIDアダプタだって,Windowsで使っていたら今回のような悲劇とは無縁だったかもしれない。今後何らかのブレークスルーがない限り,LinuxでRAID 5なんて真似は一生やめようと心に誓った私であった。

 被害状況報告。まだ試運転中であったのが幸いして,仕事への直接の影響はほとんどなかった(と強がっておこう)。環境設定ファイルのバックアップ,システム設定のノウハウを記したメモ,システム設定のお助けスクリプトなどもいっさいがっさい失われたので,おぼつかない記憶やほかのマシンのファイルをたどりながら,数日かけて作り直した(仕事の片手間に,と強がっておこう)。ただし,VMwareの仮想ディスク数台が失われ,これはまだ復旧させていない。Linux,Oracle,Sybaseなどのいろんなバージョンの組み合わせを用意してあったのだが,これを再構築してカスタマイズするのにはまだ時間がかかりそうだ。

 問題のストレージ・サーバーはどうしたかって。ATA RAIDアダプタを複数チャネルのATAアダプタとして使い,それに残った2台のディスクを接続し,Linuxが装備するソフトウエアRAIDでRAID 1(ミラーリング)に組み直した。RAID 5だから安心,と思ってバックアップを取り損なっていたものがあったことを反省し,数日かけてバックアップ・スクリプトを作り直した。私の場合バックアップすべきファイルの合計は数GBあり,毎日のようにフル・バックアップするのはつらい。そこで,本格的な差分バックアップをスケジューリングするプログラムを作成した。bashで200行程度ではあるが,もう少し汎用性を高めれば顧客や知人に胸を張って薦められるほどの,会心の作というやつである。

 さて,これで我が家のシステムは,以前にも増して安心して使えるようになったはずだ。と,ほっとした瞬間,知人から,会社にあるマシンがハードディスク障害で起動しなくなった,という相談のメールが届いた。結局レスキュー・モードで再起動して,fsckコマンドを使ってなんとか復旧できたらしい。と,続いて別の知人から,インターネット・サーバーでSCSIのRAID 5がぶっ飛び,データを丸ごと復旧できるかどうかの見通しが立たないというメールが飛び込んできた。みんな,私と同じように苦しんでいるようだ。

 ディスクは昔に比べて強くなったのか,弱くなったのか。それはよくわからない。技術は進歩していると思うが,回転数が上がって発生する熱は増えたし,密度が上がってメカ的に壊れる危険性は増したかもしれない。どちらにせよ,容量が増えたぶんだけ,いざというときのショックが大きくなっていることは確実だ。バックアップがあるから,RAIDにしているから,なんて思っていても,ちょっとしたミスですべてがパァになってしまうこともある。あなたも,明日は我が身だよーん。防災訓練を忘れずにね!