結論
「シンプル」な記憶域を作る場合、GUI設定で作成すると並列に書き込みしない設定になり遅い。 理論値(約2倍)に近づくにはCUIから設定する必要がある。
CUIで記憶域を設定するpowershellコマンドは以下。
New-VirtualDisk -StoragePoolFriendlyName "記憶域プール" -FriendlyName "記憶域" -ResiliencySettingName Simple -ProvisioningType Fixed -NumberOfColumns 2 -WriteCacheSize 0 -UseMaximumSize
記憶域プールはGUIで作っても大丈夫です。コントロールパネルの記憶域から作ってください。
「ミラー」「パリティ」の場合は未調査です。
続きを読むでは、詳細説明や計測方法などを書いています。
記憶域とは
Windows公式の、複数ドライブをまとめて1つのドライブとして扱う機能のこと。 ソフトウェア的にRAIDを再現する機能と考えて大丈夫だと思います。
Microsoft公式の説明ページはここ
GUIも用意されており、比較的手軽にRAIDのようなものを組むことができます。 が、GUI設定だと設定項目が少ないという問題点がある。
CUIとGUIでの速度差検証
2台のHDDで記憶域を作るときを想定して検証を行いました。 事前準備(記憶域プール作成)の手順は省略します。
使用するHDD2台
それぞれのHDDは以下のようなスペックである。
RAID1を組んだら300[MB/s]は超えそうですね。
GUIから記憶域を作成する
GUIで「シンプル」設定で記憶域を作成する。
作られた記憶域のR/W速度を計測した結果がこちら。
少し物足りない速度になっているのがわかる。 HDD1とHDD2の平均速度に近い値で、事前に想定したRAID1程度の速度より遅いです。 これは記憶域の仕様上の問題ではないようです。
CUIから記憶域を作成する
似た設定でCUIを使って「シンプル」設定で記憶域を作成する。
作られた記憶域のR/W速度を計測した結果がこちら。
このようになぜかCUIから設定すればもう少し早くなる。
補足: GUIから記憶域を作るとNumberOfColumnsが1になるからのようです。CUIでNumberOfColumnsを2に指定することで、2台同時に書き込みをするようになりR/W速度が向上します
結論
2台(以上)のHDDで「シンプル」の記憶域を作成する場合、 CUIから設定したほうがR/W性能が良い。
その他
記憶域プールの挙動に関してメモ代わりに書いておきます。
- 2TB/1TBのHDDで[NumberOfColumns 2]の記憶域を作ったとき
- ProvisioningTypeがfixedだと、2TBまでしか作れない
- ProvisioningTypeがthinだと、3TBでも作れるが実際に動かすと2TBで容量不足になる
2TB/1TBのHDDで[NumberOfColumns 1]の記憶域を作ったとき
- ProvisioningTypeがfixedで3TBまで作れる。実際に3TB書き込み可能
2TB/1TBのHDDでfixed2TB,thin2TB
- 固定側を先に作れば一応作成はできる
- ただし、thinのフォーマットに失敗する。固定2フォーマットは完了する
- 2TB/1TBのHDDでthin2TB,thin2TB
- 作れる
- ただし、2つの記憶域合計で3TB程度になると書き込めなくなる