既存のストレージプールおよび仮想ディスクに物理ディスク容量の追加を予定している場合、物理ディスクまたはストレージエンクロージャを追加する前にいくつかの考慮事項があります。既存の DSMS ソリューションの拡張の詳細は、『 Dell Storage with Microsoft Storage Spaces Deployment Guide』(Dell Storage with Microsoft Storage Spaces 導入ガイド)を参照してください。
新しく追加されたすべてのディスクが利用可能であることを確認したら、ストレージプールまたは仮想ディスクを新規作成するか、または既存のものを拡張することができます。デルは、ストレージプール拡張時には、列数にデータのコピー件数を掛けたものに自動再構築に必要な追加ディスク数を加算した仮想ディスクを追加することをお勧めしています。たとえば、2 方向ミラーの仮想ディスクの場合、列数が 4 なら、最低 8 つのデータをプールに追加して、仮想ディスクを拡張します。
次の PowerShell コマンドを実行して、特定の仮想ディスクで使用される列の数を確認します。
Get-VirtualDisk –FriendlyName <vdName> | FL NumberOfColumns
これを推奨する理由は、使用可能なディスク容量が既に相当少なくなっている仮想ディスクを、拡張できるようにするためです。仮想ディスクへの書き込み動作を正常に実行させるには、データを、列数で示されるディスクの数全体でストライピングします。ストレージプールにより少ないディスクを追加すると、その時には新しい空きディスクスペースがプール内にあるかもしれませんが、完全なストライピングを書き込むために使用可能な、空き容量のある十分なディスクがないため、仮想ディスクのディスクスペースは拡張できないことがわかります。
たとえば、それぞれに 8 つの HDD と4 つの SSD を装備した 3 つの DSMS 1400 ストレージエンクロージャによる 2 x 3 構成では、MyPool1 と呼ばれるストレージプールに 24 の HDD と 12 の SSD が含まれています。プールには、ストレージ階層 2wayVD1 を使用して 2 方向ミラーリングと列数 5 で作成された、仮想ディスクが 1 つあります。計画として、新しい 8 つの HDD と 新しい 4 つの SSD で 1 つの DSMS 1400 エンクロージャを追加するとします。
この例では、MyPool1 がデータと HDD 階層で一杯のため、2wayVD1 内に使用可能なディスク容量は残っていません。8 つの新しい HDD が MyPool1 に追加されます。ただし、2wayVD1 には列数が 5 あり、つまり完全なストライピングには合計 10(最初のデータコピー用の 5 つのディスクに 1 ストライプ、2 番目のデータコピー用の別の 5 つのディスクに 1 ストライプ)のディスクが必要です。プール内にあった元のディスクのディスク容量がなくなった後に追加された HDD は 8 つしかないため、新しく追加したディスクを利用したくても、HDD 階層を拡張することができません。
エンクロージャアウェアネスで作成された既存仮想ディスクを拡張する意図で物理ディスクまたはストレージエンクロージャを追加する際、もう 1 つの事項を考慮する必要があります。エンクロージャアウェアネスは、各仮想ディスクのデータコピーを 3 つ以上のストレージエンクロージャに分散します。ただし、新しい物理ディスクまたはストレージエンクロージャを追加する際は、新しく追加されたストレージディスク容量に作成された仮想ディスクは、エンクロージャアウェアでない可能性があります。これは、ディスク空き容量が十分でないか、またはエンクロージャアウェアネス要件を満たす方法で新しいデータコピーを分散するのに必要なディスク空き容量が、既存のストレージエンクロージャにない場合に発生します。
新しい物理ディスクを既存プールに追加するために、次の PowerShell コマンドを実行します。
Add-PhysicalDisk -StoragePoolFriendlyName <poolName> -PhysicalDisks<physicalDiskObject> -Usage AutoSelect
ストレージ階層を使って仮想ディスクを拡張するために、次の PowerShell コマンドを実行します。
Resize-StorageTier –FriendlyName <vdName> -Size <newVDSize>
ボリュームを拡張するために、次の PowerShell コマンドを実行します。
Resize-Partition –DiskNumber <diskNumber> -Size <newVolumeSize>
たとえば、 PhysicalDisk13 というラベルがついた物理ディスクは、変数 $pd に割り当てられます。ディスクは、次に Usage 属性が AutoSelect に設定された状態で、既存のプール MyPool1 に追加されます。VD2wayVD1 という名前の付いた仮想ディスクは 30 GB で、現在はプールにあります。この例では、仮想ディスクは 60 GB まで拡張され、ボリュームを新しい仮想ディスクのサイズと一致するように拡張する必要があります。
$pd = Get-PhysicalDisk –CanPool $true -FriendlyName PhysicalDisk13
Add-PhysicalDisk -StoragePoolFriendlyName "MyPool1" -PhysicalDisks $pd -UsageAutoSelect
Resize-StorageTiers –FriendlyName 2wayVD1 –Size 60GB
$vd = Get-VirtualDisk -FriendlyName 2wayVD1
$diskNum = Get-Disk –VirtualDisk $vd
$partNum = Get-Partition –DiskNumber $diskNum.Number
$size = Get-PartitionSupportedSize –DiskNumber $diskNum.Number
Resize-Partition –DiskNumber $diskNum.Number –PartitionNumber$partNum.PartionNumber –Size $size.SizeMax