ポートマルチプライヤでHDD4台をソフトウエアRAID構成してみた

WHS2011のHDDに余裕が無くなっていました。タイの洪水でHDDの価格が上がってしまったので不急のファイルはBlu-Ray Discに焼くなどしてやり繰りしていました。

次にHDDを追加するときは4TBでRAIDを組むつもりでしたがまだまだ価格は高いです。そこは3TBであきらめ容量を増やす事にしました。

今まではRAIDのケースを使っていましたが、今回のRAIDはWHS2011のソフトウエアRAIDを使ってみようと思います。そのためにはマザーボードにたくさんのHDDをつながなくてはなりませんのでSATAのポートマルチプライヤを使ったケースを使ってみます。ポートマルチプライヤとはUSBのハブみたいなもので、ひとつのSATAポートに最大5台のSATAを接続できるようにするものです。

パソコンにHDDをつないですぐにできると思っていましたが、かなりはまりました・・・・。

ホームサーバなので本格的なRAIDボックスなど高価で買えません。そこで安いRAIDボックスCG-HDC4EUS35を使っていました。
これはeSATAとUSB3.0の2つの接続方法を選ぶ事ができ、イザとなれば他のPCでもデータを簡単に読むことができます。
HDDが壊れたら交換手順をブログネタにできるなぁと思っていましたが幸いまだHDDが故障した事がありません。
このケースの一つ前のモデルも使っていますが何事も無く動いてます。合わせて2TB×4のRAIDが2台ですね。

今回もこのケースを使っても良かったのですが、うちでのサーバの設置場所の都合で不便な点があるため違う方法を試してみたかったのです。
その不便な点とは、HDDの故障を知ることができないというものです。
ケースには故障したHDDを知らせるLEDがもちろん付いています。いつでも見える場所にRAIDボックスを置けば良いのですが、うちではロフトの上にサーバを設置しているため故障の状態を知ることはできません。
パソコン側でHDDの故障がわかればまだ何とかなりますが、残念ながらこのRAIDボックスではHDDの一部が壊れたことを知ることはできません。せめてS.M.A.R.T.情報が見えれば何の問題も無いんですけどね・・・。

これ以外にもハードウエアRAIDでは恐ろしい故障があります。それはRAIDカードの故障です。HDDではなくHDDのコントローラが壊れてしまう場合ですね。こうなるとHDDの情報を読み出すのは絶望的になります。ロフトに設置していると家中の熱気が一番高いところにあるロフトに集まってくるためサーバの設置場所としては最悪なんですよね・・・。

もちろん高価なRAIDカードを使えばこれらの心配はなくなりますが、値段が一桁余裕で上がりますから使ってられません。
こんな不安もありソフトウエアRAIDを試してみたいと思っていました。

ソフトウエアRAIDを使うにはすべてのHDDをパソコンと直接接続しなくてはなりません。ここで問題になるのがマザーボードについているSATAポートの数です。通常は6つ程度しかポートはありませんので6台以上HDDをつなぐ事ができませんね。古いHDDと共存させるにはSATAのポートを増やすしかありません。

SATAのポートを増やすにはSATAの拡張カードを増設するのがまっとうな方法です。どんなカードがあるか調べると・・・ぜんぜんポートの数が増えないですね。安いカードは2ポートしか付いていません。たくさんポートがある製品を探すと・・・桁がひとつ上がります。やはり、HDDをたくさんつなごうとすると本格的サーバ製品ばかりになってしまいます。

そこでもうひとつの手段としてSATAのポートマルチプライヤというものがあります。PMPとか略してる場合もあります。これはUSBのハブみたいにひとつのSATAに複数のSATAポートを付けて必要な時に切り替える事でたくさんのポートが動くように見せかけるものです。つまり、原理上同時にポートへのアクセスが生じるとデータの転送速度は遅くなります。
RAID5を組むとすべてのHDDへ同時にアクセスが発生してしまいます。どの程度遅くなってしまうかも興味があります。

ここで一つ確認事項を書いておきます。
WINDOWS7を使っている方はOSのソフトウエアRAID5を利用することはできません。ミラーボリュームとストライプボリュームは利用できますが、RAIDボリュームは作れません。メニューがグレーで表示され選択できないです。
サーバーOS限定の機能になってしまったようです。WHS2011ではもちろん作成できます。

とりあえず目に付いたセンチュリー 裸族の集合住宅 USB3.0/eSATA接続3.5インチSATA-HDDケース CRSJ35EU3を買ってみました。

HDDが4台入りeSATAとusb3.0のどちらかで接続できます。これをマザーボードのSATAポートからeSATAに変換してつなげば良いのかな?

と、ここでなんとなく関門がある事が判ってきます。ポートマルチプライヤを使った製品の動作条件には必ず”ポートマルチプライヤに対応したSATAポート”につなげと書いてあります。自分の持っているパソコンのSATAポートがポートマルチプライヤに対応しているかなんてほとんどの人は知らないでしょう。対応していないとどうなるか?というと、4台のHDDは認識できず1台だけ認識します。残り3台は使えないです。

そもそもチップセットのSATAがポートマルチプライヤに対応しているかどうか?というのすら調べてもわかりません。 Intel® Matrix Storage Technologyには
Features Benefits
Intel® ICH10R, ICH9R, ICH9DO Six port SATA controller with RAID, eSATA, and port multiplier support, providing storage benefits of Intel® Matrix Storage Technology, Intel® Rapid Recover Technology, and Intel® Turbo Memory
 などと記述があります。これはちょっと古い世代になります。私のサーバで使っているマザーボードはh67なのでこれには当てはまりません。
eSATA port multiplier support on DH67CF board / H67 chipset には、
Currently, port multipliers are supported on the chipset side, on Intel® ICH10R, controllers. However, the functionality has not been fully implemented to the Intel(R) Rapid Storage Technology (driver) yet. We expect a new version of the software will add full support for the feature.
なる記述があります。新しいバージョンのIRSTではポートマルチプライヤをサポートしたいなぁってことです。2011年7月の話ですので1年が経過しています。
とりあえず最新の Intel(R) Rapid Storage Technologyをインストールしてみました。
さて、試した結論としてはHDDは1台しか認識されませんでした! ということでポートマルチプライヤには対応していないようです。

次に試したのはUSB3.0での接続です。USBで接続すると難しいことを考えなくとも4台のHDDが別々に認識されます。お手軽です。そして、HDDのS.M.A.R.T.情報も4台すべての情報がCrystalDiskInfoで取得できます。
さて、これでいいや! と思ってしまいますが、今回私がやりたかったことはこれでは駄目なんです。WHS2011などでソフトウエアRAIDを組もうとすると(ミラー/ストライプも同様)エラーが表示されてRAIDを組むことができません。
何が原因かというと、RAIDやストライプを利用するにはHDDをダイナミック ディスクに変換しなくてはならないのですが、USB接続されたHDDはダイナミック ディスクを利用することができません。
ダイナミック ディスクに関するハードウェアの制限 に書いてあります。
要は取り外し可能なHDDじゃ駄目だよ、という事です。HDDを組で使うので取り外されたら困りますからね。

ということでUSB接続も駄目でした。となると、残る方法はポートマルチプライヤに対応したSATAカードを増設する事です。

ポートマルチプライヤに対応しているSATAカードを選ぶ際には、そのカードで使用されているブリッジチップが重要な選択基準となります。いろいろな会社からSATAカードが出ていますが、中身のICとしては今のところ3社くらいしかありません。Silicon Image社、Marvell社とAsmedia社ですね。

老舗?はSilicon Imageですが設計が古いままのようでちょっと遅いみたいです。でも情報はたくさんあるみたいなので安全第一ならここですね。ただし、S.M.A.R.T.情報はすべてのHDDで取得できない場合があるようです。最近はMarvellが速度も速く使う人も増えているようです。そして、Asmediaですが・・・ホームページにドライバダウンロードのページが見当たりません。かなり不安・・・。今のところ一番情報が少ないのはAsmedia社のSATAカードみたいです。

そこでブログネタとしてはAsmedia社が一番いい!と選択することにしました。購入したカードは玄人志向 SATA3+USB3.0-PCIE です。

SATA2ポートの他にUSB3.0が2ポート付いています。怪しさ満載でいいですね。
このカードはPCI-Express x1 のスロットでは使えないのが注意点です。PCI-Express x4以上のスロットが必要です。これはPCI-Express x1ではSATAの2ポートで通信の帯域幅を使い切ってしまいUSB3.0と共存した場合に著しく速度が落ちる可能性があるためです。SATAとUSB3.0とで2倍の帯域幅があれば良いので、スロットの規格上PCI-Express x4以上という事になります。
最近のマザーボードでPCI-Express x4のスロットがあるのも珍しいと思います。多くの場合はPCI-Express x16のスロットに挿すと思います。グラフィックカードを挿すスロットと同じ形のところですね。

もう一つの注意点として、このカードに接続したHDDからOSをブートする事はできません。起動のためのBIOSが搭載されていませんのでパソコンの起動時にはカードに接続したHDDは動きません。OSが起動した後に動き出します。

さて、拡張カードを早速買って取り付けてみました。ドライバは付属のCDからインストールしました。最新版とかどこにあるか判りませんから・・・。

マザーボードはASUS P8H67-Vです。特に問題も無くSATAもUSB3.0も動いているようです。
裸族の集合住宅にHDDを4台入れて動かしてみます。

ケースに入れたHDDはSeagate Barracuda 7200 3TB ST3000DM001 が3台、Western Digital Caviar Green 3.0TB WD30EZRX が1台です。Westan Digitalは去年購入した物を混ぜています。全部同じに揃えた方がブログ記事的には良かったのでしょうが、ミラー運用していたものをミラー解除して一つを今回再利用しています。(冗長なし状態なので早くRAID5の運用を開始しないと・・)

ディスク管理画面を見ると無事4台のHDDが見えています。ポートマルチプライヤは有効になっているようです。そして、S.M.A.R.T.情報をCrystalDiskInfoで確認すると問題なく4台とも取得できています。これはいいかも。

まず1台だけシンプルボリュームを作成しベンチマークを取ってみました。拡張カード自体にボトルネックが存在するか確認するためです。Seagateの方でベンチマークをとってみました。

SATA接続


今のHDDってこんなに速くなってたんですね・・・。最初見たときキャッシュのせいで計れてないと思っちゃいました。このカードにボトルネックは無さそうです。
せっかくなのでUSB3.0側でのベンチマークも見てみます。

USB3.0接続

十分速いですね。SATA3+USB3.0-PCIEはできる子みたいです。裸族の集合住宅のUSB3.0変換もHDD程度の速度なら問題ないようです。SATAとUSBの同時ベンチマークを取りたかったのですが他にHDDケースが無いので測れませんでした。機会があれば試したいと思います。

ST3000DM001のシーケンシャルがこんなに速いとRAIDを組むのがもったいないです。ポートマルチプライヤのRAID5をHDD4台で組むので速度は1/4程度になるはずです。

・・・RAID5の構築が完了するのを待っています。終わる気配がしない・・・
・・・丸2日と半日でやっと完了しました・・・
・・・途中、不安になってやり直したりしたので4日かかりました・・・

ということで、本来の目的のソフトウエアRAID5を組んだときのベンチマークがこれです。
CPUはCore i5-2500T 2.3GHzを使っています。パリティの計算負荷は気にならないレベルだと思います。

ソフトRAID5

まずはREADから見てみます。
シーケンシャルREADは意外と遅くなっていませんね。読み出し時にはストライプと同じように分散してアクセスされます。ポートマルチプライヤで1本のSATAを分割して使った状況でも、結局1台だけつないだと同じような事になったのでしょう。
512kのREADは1/3程度になってしまいました。4kのREADがほとんど落ちてないので目立ちます。

WRITEの方を見てみます。
予想以上に速度が落ちてます。1/4どころの落ち込みではありません。1/10です。
WD30EZRXが足を引っ張ってるにしても遅いし、
ソフトウエアでポートマルチプライヤという最悪の組み合わせにしても落ちすぎです。何か間違えているのでしょうか・・・
とはいえ、シーケンシャル以外はそれほど酷い値ではありません。安いRAIDケースだともっと悪かったりします。HDDのST3000DM001ががんばってくれてる気もします。

何かの参考になればと、先ほど紹介したRAIDボックスCG-HDC4EUS35のベンチマークを載せておきます。ただし、使用容量95%も使いUSB3.0接続ですので参考程度に見てください。

CG-HDC4EUS35 USB3.0 WD 2TBx4

ソフトウエアRAIDではアクセスの多くないデータを置く場所に使うとは判っていました。でもここまでWRITE速度が落ちてしまうと使う気が起きません。
普段使うファイルの読み書き程度ならOSのキャッシュがごまかしてくれますけど、
8TBの容量を20MB/sで書き込んだらいったい何時になったら書き終わるか? と考えると・・・4日半・・・

ソフトウエアRAIDにしてHDDの状況をモニタできるようにしたいという要求は満たし安全になりましたが、別の危険な状況がクローズアップされます。それは再構築にかかった時間です。今後HDDにトラブルが発生し交換した時、再構築の3日間程度は冗長性のない状態で動きます。これはRAID5ならハードウエア/ソフトウエアに関係なく生じる問題ですね。
また、他のHDDにトラブルが発生した時、今回のHDDは一時退避先としてはWRITE速度が遅く実質使えないと思われます。

そして、その不安を増すもう一つの問題点。

HDDの温度

CrystalDiskInfo で温度情報を見てみると・・・60度近くなってます。8月のエアコンを入れていない昼間の状況でした。一番右の温度が低いのはWD30EZRXです。噂とおりST3000DM001は速いんですけど熱すぎですね。

こんな状況なのでRAID6でないと怖いですね。RAID6では2台のHDDが同時に壊れてもデータの読み書きができます。1台故障してもまだ冗長性を保てるわけです。ただし、同じ容量のHDDが2台分安全のために使われますので、6台以上のHDDで構成しないならミラー運用の方がお手軽でいいです。個人で使う場合6台同じHDDを揃えるのもためらわれます。どんどん良いHDDが出てきますから。

そんなわけで今回のRAIDをこのまま使うか考え直しています。ミラーでいいんじゃないかなぁ、と。

このまま使うにしてもミラーにしてももう少し速くしたいです。ちょっとした改善策としては裸族の集合住宅をもう1台買う事を考えています。ミラーやRAIDに使うHDDの組を別々のケースに入れてSATAポートのアクセスを分散させるのです。
ポートマルチプライヤでポートを増やすにしても、RAIDの組を一つのポートマルチプライヤでつないでしまうのは無理があります。アクセスが同時に発生しますから極力別のSATAポートが動くようにすれば少しは速度が上がるのではないでしょうか。

以上、ソフトウエアRAIDの話をWEBであまり見かけないので試してみました。
記事が長くなってしまったのでここらへんで一区切りします。


コメント

最近のコメント

Threaded Recent Comments will be here.