2009年1月2日金曜日

RAIDへの挑戦

今回は、RAID(ディスクのミラー化)に挑戦した記録です。RAIDと言うと昔は非常に高価なもので、専用のハードウェアボックスなどで実現されていた。使用用途もサーバ向けが主でPCに使うなんて人は余程のマニアで無いと存在しなかった。それが、拡張ボードで実現され、専用のチップが流通するようになると、マザーボードに組み込まれる事も多くなった。また、CPUが高速化されるに伴って、チップで行う事を限定して、殆どの処理をソフトウェアで実現するようになった。その結果、拡張ボードの値段が2000円もしないくらいの低価格化が実現したのだ。その上に、HDDの値段が劇的に下がったために、PCでも普通に使われるようになったのだ。

RAIDには幾つかモードがあるが、信頼性向上には、1、5、10が主流である。5が一番効率が良いのであるが、最低3つのHDDが必要。10は高速化&信頼性向上が出来るが、4台のHDDが必要。結果的に私の環境では両方共に無理な話なので1の単純なミラー化を行う事にした。RAID-1は極めて単純な構成で、2台のHDDに同じ内容を書き込んで、片方が壊れても、もう一方だけでも動作できるミラーディスクである。2台に同時に書き込むので、若干アクセス速度は下がる(2~3%程度だろう)が、気になるレベルではない。それよりも、バックアップを殆どしない面倒くさがり屋には重宝する仕組みである。

二つのPCに共にRAIDを実現するために、二つの拡張ボードを購入したが、一台は$9程度(P-ATA対応)、他方は$25(S-ATA対応)である。安い方は中国の会社からの購入で少々心配なので、もう一方は少し高いものをチョイスしたと言う訳。先に高い方が届いたので、こちらで試してみた。

届いたのは写真左に写っている小さな箱。右はP-ATAとS-ATA変換ボード。箱には小さな拡張ボードとデバイスドライバの入ったCD、それから小さな一枚のマニュアル。このマニュアル、本当に小さくて老眼が進んできた私の眼では読めない。それに、書いてある事が極めて簡単な事だけ。二つのHDDをセットアップするとディスクの内容は全て初期化されると書かれている。それ以外の設定の仕方は書かれていない。ネットで探したが、この小さなマニュアルのPDFファイルが見つかっただけで、それ以外の情報はなし。うーん、安い商品はこんなものなのだと思い知らされた。

さて、既にOSもインストールし、アプリケーションも一杯インストールされたHDDをミラー化したいのだが、このマニュアルだけでは難しい。類似の商品の紹介ページなどを探して、大よその使い方を調べてみた。一応、OSが入ったHDDもミラー化可能らしいことがわかった。ただ、設定に失敗するとHDDの内容が壊されるので、完全に同じHDDをコピーツールを使って複製してから設定を始めた。この複製も時間が掛かる。320GBもあると高速なディスクでも1時間程度掛かってしまうのだ。

さて、完全に同じ内容の二つのディスクを使って、ボードに接続を試みた。先ず、一台はマザーボード本体に繋いで、ブートできるようにし、他方はRAIDボードに繋いで、認識されるか確認して見た。

・RAIDボードで認識はされた。
・RAIDボードのBOISを起動し、RAID設定を試したが、RAID-1は2台必要(当然)と言うことで、設定はできず。

次に2台ともにRAIDボードに接続して、ボードのBIOSを起動した結果、

・2台共に認識された。
・RAID-1の設定を行った。その時、片方のデータを生かして、他方にコピーするプロセスを選択。これ以外だと、両方共に初期化されるため。
・ここでコピーを実行する。(既にコピーはしてあるが、ここで再度コピーを実行したために又一時間掛かった。
・この後、BIOSを抜けてブートプロセス。HDDにはOSが入っているので、上手く行けば立ち上がる筈。
・ブートプロセスからWindows起動の所でエラーでストップ。

ここで思案を巡らせて、検討を重ねた結果、RAIDを動かすためには、Windows自身にRAIDボードのドライバをインストールしておかないと駄目な事が判明。ブートの段階では、RAIDボードから片方のHDDのデータが読み出されるが、RAID機能は動作せず、Windowsのドライバが動作し始めてから、RAIDの動作が行われる事がわかった。したがって、ブートプロセスは始まるが、Windowsに制御が移った時点でエラーになってデータが読み出せなくなるようだ。

そこで、ボードを刺したまま、マザーボードにHDDを繋いでOSを立ち上げ、その上で付属のCDを使ってデバイスドライバをインストールした。その上で、再度のHDDをボードに繋いで、別のモードで設定を行った。二台繋ぐ設定と、RAIDではないが、一台だけ繋ぐ設定も用意されている。マニュアルにはその意味も全く書いていないので、不安ではあったが、一応設定をして、起動させた結果、RAIDボード経由でOSが立ち上がったのである。

次は、二台繋いで、今度は直ぐにコピーするのではなく、バックグランドでコピーするモードがあったので、そちらを選択して起動させたところ、無事にOSが立ち上がったのである。表面的には分からないが、バックでデータのコピーが行われているようで、若干CPUが動いている。と言っても1%程度の稼働率なので、全く影響がない。これ以降は、普通にディスク繋がっている時と同じに動作するので、RAIDである事を忘れるくらいである。

今度は、OSの入ったHDDを引っ越す話をする予定。

0 件のコメント: