ミラーリング
2001. 7. 3

ホームサーバは、まずファイルサーバとして頑張ってもらわないといけないので、信頼性を高くしようと思ったわけです。なにせこんなことが起こった後ですからね(笑)

で、信頼性を高めるにはどうするか・・・ ものぐさの私のことだから、手動でバックアップをとるのは面倒になるだろうと・・・ だったら、ミラーリングがいいんじゃないか・・・ と、考えたのでした。前回はラッキーだったけど、今度は本当にデータがパァになるかも知れないからねぇ。

ちょうどFastTrak66が余っていたので、こいつを有効活用しましょう。ミラーリングならばデータ伝送帯域がATA66の規格帯域を超えることはないだろう、と。

さらに、ディスクが2台も同時に起動して、アクセスされることを考えると、できる限り静かなハードディスクが望ましい・・・ と、言うことで、富士通の流体軸受けスピンドル採用のMPG3409AT-Eを2台使いましょう。こやつは5400回転だから、定常状態でも静かであろう。

<セットアップ>

FT66の2つのIDEスロットにそれぞれマスタードライブとしてMPG3409AT-Eをつなぎましょう。

FT66のBIOS画面でRAIDを構成しましょう。ここまではHDDに対して領域確保もフォーマットもいりません。

詳しいことは取扱説明書に書いてあるので、頑張って読みましょう。

無事RAIDも構成できたし、OSのインストールも無事終了。あ、そうそう、Windows2000をFT66のRAIDディスクにクリーンインストールするときは、以下の手順を踏む必要があります。

  1. Windows2000セットアップフロッピーディスク4枚を作成する(Windows2000 CD-ROMのmakeboot.exeを使う。CD-ROMがDドライブなら、D:\bootdisk\makeboot.exe a:)。
  2. FT66のWindows2000用ドライバをダウンロードしておく。フロッピーに展開しておく。
  3. Windows2000セットアップディスクの1枚目にあるTXTSETUP.SIFファイルをメモ帳か何かで開いて、"Ultra66"と言う文字列を検索し、その行の先頭に";[セミコロン]"を挿入する(コメントアウト)。合計で4行存在するはずである。
  4. Windows2000セットアップディスクを使って、Windows2000をインストールする。
  5. インストールが開始して、青い画面になったらまもなく、画面の下のほうに”Press F6 if you need to install a third-party SCSI or RAID driver”と表示されるので、抜かりなくF6を押す。ちょっとだけ連打するといいかも(笑)
  6. セットアップディスクの3枚目あたりで「FastTrak66のドライバが欲しい」と解釈できるメッセージがでてくるので、すかさずダウンロードしておいたFT66ドライバディスクをフロッピードライブに入れる。
  7. 後はWindows2000インストールがサクサク進むはずである。
ひととおりインストールできたら、本格的に使い始める前に、ちょっと試験をしてみましょう。万が一の場合に慌てないようにね!

<障害テスト>

1台のHDDが壊れたことを想定しましょう。FT66が不調になったことも想定し、FT66でミラーリングされていたHDDを、そのままマザーボードのIDEポートにつないでしまいましょう。さあ、どうなるか!

結果としては、何にも起こりません(笑)
ただ普通にWindows2000が立ち上がるだけ。ま、こうやればHDDが1台でも生き残っていればデータは守られていることが分かりました。これは使いやすいですね。

<障害テスト2>

さあ、もうちょっと続けましょう。

IDEポートに1台(Disk1としましょう)だけつないで、Windows2000を起動して、ファイルを適当に作って、そのまま終了します。これで2つのディスクの内容は異なってしまいました。この状態でRAID1を再構成してみるとどうなるでしょう???

再びFT66に2つのディスクを(Disk1をFT66のIDE1に、Disk2をFT66のIDE2に)つないでみて、起動してみる・・・ なんてことなく起動してしまうんですね。ディスクの内容を見てみると、Disk1の内容で起動しています。

<考察1>

以上のことから、FT66はミラーリングのとき、ReadはDisk1に対して、WriteはDisk1とDisk2に対して行っていることが分かります。

さらに、Disk1とDisk2の内容に不一致があっても検出できないんですね。Disk1、Disk2の状態は、ユーザがしっかりと把握しておく必要があります。

ここまでの状況を整理すると、Disk1とDisk2は内容が異なったままミラーリングされている。Disk1の内容で起動したWindows2000は、ディスクに対してアクセスしているから、Disk1とDisk2はDisk1の内容が上書きされているはずである。Disk1は整合が取れているが、Disk2は全く整合が取られていない状態になっているはずである。Disk2の一部のファイルは破壊されているであろう。

<復旧テスト1>

さて、内容に不一致があったままではいけないので、ミラーセットの同期をとってみましょう。本当に障害が発生した時の同期をとる方法は、FT66のBIOSセットアップ画面の「Rebuild Array<5>」を使うのですが、困ったことに、FT66は今回の操作を「障害」と認識していないようで、Rebuildが使えない・・・ しょうがないので、Arrayを削除して、もう一回Buildしてみましょう。

しかし、ここでトラブル発生!

FT66のセットアップ画面で、Define Arrayを行って、ドライブのコピーを行おうとしたとき、Disk1(正常)からDisk2(不整合)へコピーしようとしたときにエラーが発生してしまったのである。コピーの実行は開始できるんだけど、何回やっても処理が2%進んだところで「エラーが発生して処理が完了できませんでした(英語で)」と言うメッセージとともにストップしてしまうのである。

正常なディスクの内容がコピーできなくなったら、このミラーセットはもうおしまいである。ミラーを解消して、正常ディスクで起動して、内容を他のディスクにコピーすればデータは救われる。他のアプリケーションを使って、ディスクをデュプリケートしてもいいだろう。

でも、ミラーリングの再構成に失敗すると言うのは、なんとも後味が悪い・・・ ディスクの問題なのか、FT66のバグなのか試すために、試しにDisk2 → Disk1へコピーしてみよう。

すると、Disk2 → Disk1は無事完了したのである。Disk1に何らかのエラーの原因がありそうである。不良クラスターかなぁ。それにしても、正常なディスクにエラーの原因があってコピー元として指定できないなんて・・・ なんとも、もどかしい。

物理フォーマットしておいたほうが良さそうだけど、ユーティリティがなかったので、面倒くさいのでこのまま進めてしまいましょう!

Disk2(不整合) → Disk1とコピーしたので、例えミラーセットの構成に成功しても、内容はボロボロのはずである。それを検証するために、Windows2000を起動してみた。デスクトップにたどり着く前に固まってしまった。当然と言えば、当然ですが・・・

気を取り直して、もう一回Windows2000をクリーンインストールしてみましょう。

ちょっと気になっていた「ミラーセットの再構成の失敗」を再度検証すべく、インストールが終了した時点で、再挑戦することにしました。 リベンジ!

FT66のセットアップ画面において、ミラーセットを削除し、またまた構成しました。前回失敗した、Disk1 → Disk2のコピーを試してみると・・・ 大成功???

不良クラスタなら物理フォーマットでも行わない限り復旧しませんので、何が原因だったのか、全く持って不明です。また再発するかもしれませんが、とりあえず今のところは大丈夫だ、と言うことで、このままWindows2000のセットアップを続けることにしました。とさ。


Top