When
planning to add physical disk space to existing storage pools and
VD, there are several considerations to make before adding the additional
physical disks or storage enclosures. For more information about the
expanding an existing DSMS solution, see the
Dell
Storage with Microsoft Storage Spaces Deployment Guide
.
When adding a new storage enclosure to the SOFS cluster
or just new physical disks to an existing storage enclosure follow
these guidelines:
- For an up-to-date list of validated storage enclosures
and physical disks to confirm that the new configuration is supported,
see the
Dell Storage with Microsoft Storage Spaces
Support Matrix
.
- For ensuring that you are following the proper cabling
guidance, if adding a new storage enclosure, see the
Dell Storage with Microsoft Storage Spaces Cabling Guide.
After verifying all newly added disks are
available to the cluster, you can now create new or expand an existing
storage pool or VD. Dell recommends when expanding a storage pool
to add physical disks in a quantity equal to the column count multiplied
by the number of data copies plus any additional disks required for
automatic rebuilds. For example, for a two-way mirror VD, if the column
count is four, you must add a minimum of eight disks to the pool to
expand the VD.
Run the following PowerShell command
to find out the number of columns used by a specific VD.
Get-VirtualDisk –FriendlyName <vdName> | FL NumberOfColumns
The reason for the recommendation is to ensure
that you are able to expand VDs that are already very low on usable
disk space. For a write operation to a VD to be successful, data is
striped across the number of disks indicated by the column count.
If you add fewer disks to the storage pool, there may be new free
disk space now in the pool, but you may find you are not able to expand
the disk space of the VD, because there will not be enough disks available
with free space to allow for a full stripe to be written.
For example, for a 2x3 configuration with three
DSMS 1400 storage enclosures, each
with eight HDDs and four SSDs, a quantity of 24 HDDs and 12 SSDs are
included in a storage pool called MyPool1. The pool has one VD that
was created by using storage tiers—2wayVD1, with two-way mirroring
and a column count of five. The plan is to add an extra
DSMS 1400 enclosure with eight new
HDDs and four new SSDs.
For this
example, MyPool1 is full with data and the HDD tier, to where no usable
disk space remains in 2wayVD1. Eight new HDDs are added to MyPool1.
However, 2wayVD1 has a column count of five, which means a total of
10 disks are required for a full stripe, one stripe across five disks
for first data copy and one stripe across another five disks for the
second data copy. Because only eight HDDs were added to the pool after
the original disks in the pool are out of disk space, the HDD tier
cannot be expanded to take advantage of the newly added disk.
There is one more factor to consider when adding physical
disks or storage enclosures with the intent of expanding existing
VDs, which were created with enclosure awareness. Enclosure awareness
spreads the data copies of each VD across three or more storage enclosures.
However, when adding new physical disks or storage enclosures, VDs
created on the newly added storage disk space may not be enclosure
aware. This occurs if there is no sufficient free disk space or there
are no enough physical disks in existing storage enclosures to spread
the new data copies in a method, which satisfies the enclosure awareness
requirements.
Run the following PowerShell command
for adding a new physical disks to an existing pool.
Add-PhysicalDisk -StoragePoolFriendlyName <poolName>
-PhysicalDisks<physicalDiskObject> -Usage AutoSelect
Run the following PowerShell command for extending
a VD with storage tiers.
Resize-StorageTier –FriendlyName <vdName> -Size <newVDSize>
Run the following PowerShell command for extending
a volume.
Resize-Partition –DiskNumber <diskNumber> -Size <newVolumeSize>
For example, a physical disk, which is labeled
PhysicalDisk13, is assigned to variable
$pd. The disk
is then added to an existing pool MyPool1 with the
Usage attribute
set to
AutoSelect. A VD named 2wayVD1, is 30 GB and currently
exists in the pool. In this example, the VD is extended to 60 GB,
and the volume must be extended to match the new VD size.
$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