XPのストライプボリューム(RAID-0)を試す

最近、仕事で大きなデータを扱うことが多くなり、PCの性能アップを検討しています。
演算速度はCPUやメモリーを交換・増設すれば解決できますが、ファイルの読み書きはハードディスクを交換してもほとんど同じです。
(昔のST-506やIDEの時代に比べればSerial-ATAは圧倒的に速いのですが、それでもメモリー内での処理に比べれば2~3桁ほど遅い)

速くするためにはi-RAMという手もありますが、DDR1のメモリーが最近DDR2より高くなってきているし、いまさらDDR1を買うとツブシが利かないので、 ハードウェアRAID(RAID-0)を組もうと思ったのですが、P5B-VMのオンボードコントローラが対応していなくて (内臓+外付けなら可能。だけどそんな使い方するユーザーいないぞ。なに考えてんだASUS!)、 玄人志向のSATA2REI3-LPPCIを試してみたのですが、Sil3124のRAID-0が激遅でした(素よりもちょっと速い程度)。
仕方が無いので、Windowsの標準ソフトウェアRAIDを使ってみることにしました。

余談だけど、Intel系のMicroATXマザーで、オンボードDVI+オンボードRAID+オンボードGbLANのマザーってほとんど無いのね...

Windows XP/2000には色々なパーティションタイプが設定できます。(但しProfessional以上)
速度を重視するなら、ストライプボリューム(RAID-0)となりますので、ハードディスクの台数の違いでどうなるか試してみました
ちなみに、NT4.0の時は、ストライプセットと呼ばれていましたね。

表1.使用マシンのスペック
マザーボード ASUS P5B-VM
CPU Intel Core2Duo E6300
Memory DDR2 6400 512M×2 JEDEC
ブートドライブ HGST HDT725032VLA360(320G)
追加ドライブ HGST HDS721616PLA380(160G)
追加ドライブ HGST HDS721616PLA380(160G)
使用OS Windows XP Professional w/SP2
使用ベンチマークプログラム HDBENCH 3.4.0.3 by EP82改/かず様
その他 クロックアップなし、すべてノーマル

私は日立マニアではありませんが、HDTシリーズがハードディスクの中で一番消費電力が小さい(と言っても1W前後少ない)ので、最近はHGSTのを使っています

まずは、通常の1パーティションで計測


図1.通常の1パーティション

図2.HDBENCHの結果

まあ、こんなもんですね。


それでは、ストライプボリュームを作ってみましょう。
ストライプボリュームを使うには、まずディスクタイプをベーシックから ダイナミックに変換しなければなりません。追加のディスク1、2をダイナミックにしてから、ストライプボリュームを作成して。。


図3.ドライブ2台でストライプボリュームのパーティション

図4.HDBENCHの結果

すごいですね。約2倍になりました。


調子に乗って、ブートドライブも、ストライプボリュームに組み込んでみましょう。
ブートドライブもダイナミックに変換して、 先ほどのストライプボリュームを削除してから新規に3つのドライブを使って、ストライプボリュームを作ります


図5.ドライブ3台でストライプボリュームのパーティション

図6.HDBENCHの結果

おお、3倍になりました。
ここまでだと単純にドライブ数に比例して速度が上がるみたいです。
READ/WRITEで200,000超えたの初めてなので、涙出てきます(;_;)


ただ、ストライプボリューム(RAID-0)はフェイルセーフでは無いので、単純にディスクの速度を上げるためだけの手法なんですが、 Windows 2000/2003 Serverには、フェイルセーフを重視したミラーボリューム(RAID-1)、パリティ付きストライプボリューム(RAID-5)の作成が可能です。
試しに、2003ServerをインストールしてRAID-5ボリュームを作成してみました。


図7.ドライブ3台でRAID-5ボリュームのパーティション

図8.HDBENCHの結果

READに関しては、2台のストライプと同じですが、WRITEが激遅です。
おそらく、パリティの計算をソフトウェアでやるので時間がかかっているのだと思います。
(が、ストレージクラスドライバの作り方次第で、シーケンシャルWriteは早くなりそうだと思いますが・・・)
最近は、ストレージのバイト単価も下がっているので、わざわざRAID-5を使う必要がないので、MicrosoftもRAID-01とかRAID-10のサポートも 追加してくれればいいのに・・。


フェイルセーフが必要なければTEMPフォルダとか、ページングファイルをストライプボリュームに置けば結構快適になりそうな気がします。
最近は、IntelのMatrixArrayも同じようなことが出来るそうですが、やはり自由にボリュームレイアウトが選べる点がソフトウェアRAIDの利点ですね。