Windows Server 200x を使用していたころから、HDDをダイナミックディスクに変換してRAID5で運用してきたりしていました。ただ、Windows 11のような個人向けのOSでも十分な機能が備わり、また”記憶域”を使用するほうが今後のスタンダードな感じがしたので、普通にGUIからパリティ付きの記憶域を作成していました。
Windows 8とか、10とかではパリティディスクの場合列数に気を付けてというのはちらほらありましたが、まさかWindows 11でも通常のGUIから作成する場合、まだその問題があったとは、、やられましたのでメモをしておきます。
・4本以上のDISKでパリティ型の記憶域を作る場合はPower Shellからの作成が必要
・DISKの追加を行うことはできるが、列数が変わらないため効率が悪い
Windows 11のGUIからパリティで記憶域を作った場合

4台の4TBのHDDがプールされていて、そこに2つの記憶域が作成されています。
見た目上は何の問題もない、GUIから物理ディスクの追加をして、4本選んでプールを作って。記憶域をパリティで作ればこんな感じになります。
ところが、Windows PoverShellでこの仮想ディスクを確認するとどのようになるのか。
get-virtualdisk

↑Storage Efficiencyが3分の2になっています。RAID 5で4本のディスクであればパリティが1台に集まっていようが分散されていようが、使用可能なのは4分の3つまり75%程度にならないとおかしいわけです。
get-virtualdisk | ft friendlyname,resiliencysettingname,numberofcolumns,numberofdatacopies,@{expression={$_.size/1TB};Label=”Size(TB)”}

やっぱり4本のディスクをGUIから追加したにもかかわらず、Number of Columnsが3になってます。
つまり、、図にするとこのようなことになっているのだろう。

勘弁していただきたい、、このやり方だとディスクが何本あっても使用効率が3分の2から上がらない。
2本のディスクを冗長性なしで記憶域にした場合、スパンボリュームになるのか、RAID0ボリュームになるのかも異なるというが、それは使用効率は変わらないし、ディスク本数からはわからないことなので仕方のなさ、GUI捜査上の簡単さを重視して強制適用もわかるが、パリティディスクが上記のようになるのは解せない。
当然ながら本来は、

このような形にして使用効率を高めたいので再作成を行います。
Windows PoverShellで列数を指定して作成する
まずは、バックアップを取った後に記憶域および記憶域プールをGUIから削除。
ディスクの管理から見ても、きれいさっぱりした状態。

get-physicaldisk

すべてCanPoolが”True”になっているのと、MediaTypeが”HDD”となっていることを確認。
HealthStatusも問題なし。
続いて、記憶域プールを作るわけですが、FriendlyNameを引き渡したりここは面倒なので、画面からやってしまいます。

つづいて、記憶域を作りたくなってしまいますが。ここでパリティを選んでも、3列で作られてしまうことはわかっているので”スキップ”をします。

new-virtualdisk -storagepoolfriendlyname 記憶域プール -friendlyname 記憶域 -provisioningtype thin -numberofcolumns 4 -resiliencysettingname parity -size 72TB

なんだかStorageEfficiencyが気になりますが、
get-virtualdisk | ft friendlyname,resiliencysettingname,numberofcolumns,numberofdatacopies,@{expression={$_.size/1TB};Label=”Size(TB)”}

カラム数、データコピー数は問題ありません。
シンプロビジョニングなので72TBも4TBのHDD×4本ではたどり着けないわけですが、そこは仮想ディスクを72TBと作りつつボリュームを10TB程度にすることでキャップをかける方針。

データを700GB程度書きこんだところ、StorageEfficiencyも約75%で4本のうち3本が使用されているわけで改善しましたね。

今回は以上です。
コメント