Yesterday I reviewed the NumberOfColumns in a storage space (aka virtual disk). We learned that to add space to an existing storage space, you needed to add a number of disks equal to the NumberofColumns.
While this is true for both simple and parity layouts, it is NOT correct for mirror sets. There is another element that we need to take into account. That is the NumberOfDataCopies.
A data copy is a complete copy of the data set. Simple spaces have no redundancy and have only one copy of the data set. Parity spaces have redundancy but not in the form of a complete duplicate of the data set. So it also only has one copy of the data set.
Mirroring is the exception to all this. It has two (or three) complete copies of the data set. So mirroring is the only time you really need to worry about NumberOfDataCopies. If you have six disks and you create a mirror, the virtual disk will be configured like this…
So in this case the NumberOfColumns is three (you only count it per data copy), and the NumberOfDataCopies is two.
Using the following formula will always give you the number of disks required to add to a storage space.
NumberOfColumns * NumberOfDataCopies = Physical disks needed to extend
In our case we will need to add six physical disks every time we want to extent the virtual disk. This will ensure that all columns will get extended correctly.