Windows Server 2012 R2と10台のHDDで記憶域プールと仮想ディスクを作った話。

ソフトウェアRAIDと記憶域プール

についてはググってください。
 

記憶域プールを作ってみよう

Windows8とか10でも作れるらしいんだけど、WSのようなGUI機能が無い。
とりあえず作るだけならWSのGUIを使ったほうが楽。
ただし、PowerShellの操作を一通りやっておかないと、何かあった時面倒。
んで、GUI
 
サーバーマネージャーの「ファイルサービスと記憶域サービス」から作っていく。
物理ディスクを束ねてプールとする。
この束ねた時点では、記憶領域を確保するだけで、ストライプにするとかパリティにするとかはまだ決めなくていい。
今回は同じサイズのHDDを使っているけど、バラバラのサイズでもいい

↑2.73TB×10本。
 

↑数秒で終わる。物理ディスクの関連付けを作るだけみたい。
 

仮想ディスクを作る

作成した記憶域プールにアクセスするには、仮想ディスクを作ってからボリュームを作る必要がある。
まずは記憶域プールから領域を切り出して仮想ディスクを作る。
 

↑作った記憶域プールは一つだけ。
 

↑名前をつける。
 

ここで、この記憶域でどのようにデータを配置するかを決める。
Simpleは単に端からファイルを記憶していく。
Mirrorは同じデータを2ヶ所または3ヶ所に置く。RAID1のミラーリング的な。ミラーの片方が死んでもデータは生き残る。
Parityはパリティデータを分散する。RAID5とかRAID6みたいな。今回はパリティで設定。
 

シングルパリティは1ディスク死んでも大丈夫、デュアルパリティは2ディスクまで。
とりあえずデュアルパリティで設定。
 

プロビジョニング種類は、記憶域プールを徐々に拡張していくのか、最初から固定でいくのか。
あとでディスクを追加して拡張できたりもするんだけど、パリティの時は固定しか選べない。
 

↑仮想ディスクはすぐにできる。
 
この時点ではまだボリュームは作成されていない。ドライブレターとか設定してないでしょ?
 

ボリュームを作ってアクセスできるようにする


ボリュームを作っていくけど、容量が19.1TBになっている。
記憶域プールのデュアルパリティは要するにRAID6みたいな感じなんだけど、RAID6の場合に使える領域は(n-2)×物理ドライブサイズになる。
だから今回の2.73TBが10台というケースでは2.73TB×8でだいたい21.8TBが使えるはず。
ただ、記憶域プールのデュアルパリティでは(n-3)×物理ドライブサイズになるようで、結果的に2.73TB×7で19.1TB。
 

↑とりあえず作ろう
 

↑ReFSを選択。ここでボリュームラベルを設定するんだけど、なんか設定されないことがある。バグかな?
 

↑まとめ。
 

記憶域プールから作成する仮想ディスクは初期化が無い。すぐ使える。これはいい。
 

↑ただしいきなり100GB使われる。何だろうw
 

パフォーマンスは?

ファイル置き場にするから、別にそんなに贅沢は言わない。最悪40MB/sくらいでも。

 
6.89MB/s

……マジか。
読み込みはそんなに悪くないけど、デュアルパリティだと書き込みが厳しいのか。
さすがにこれでは使えない。
 

デュアルパリティが遅いのだ、シングルパリティならどうなのだ。

専用のH/Wが書き込んでいるわけではないから、書き込みが遅いのはある程度仕方ない。
じゃあシングルパリティで作ってみたらどうか。
シングルパリティだと容量としては通常のRAID5とほぼ変わらない。3TBが10台の今回だと2.73×9でだいたい24.5TB。
んで、計測。

11.46MB/s
 
60%も速度が向上したぞ!やったー!
 
……遅い……。
 
さて、どうしたものかな。