Vplex Volume Resize
Vplex Volume Resize
Local only volumes can be expanded by using concatenated volume expansion. For
distributed volumes, there was no convenient way to expand the virtual volume. (You would
have to break the distributed volume, expand the underlying device and rejoin the
distributed virtual volume with a complete resync)
2.
If you are using array based local replication functionality (aka snaps and clones)
(Look at ViPR with VPLEX for an example of how you can do this), then when you
concatenate different volumes to create a larger volume, those local replicas are no longer
useful.
3.
Concatenating volumes (especially those coming from different arrays or from
different performance tiers from different arrays) is generally not a good practice from a
performance standpoint. There are two reasons why: First, imagine the two portions of the
same volume having different performance characteristics. Secondly, for I/Os that cross the
volume boundaries, you end up having to break I/Os into multiple smaller parts which
usually (again, 80:20 rule in play here) leads to poorer relative performance.
Supported
Geometries for virtual volume expansion
Supported virtual volumes can be:
1.
A local virtual volume that is fully mapped to a single storage volume (1:1 mapped,
RAID-0)
2.
A local virtual volume that is mirrored across two storage volumes (RAID-1, R1)
3.
A distributed virtual volume that is mirrored completely across two storage volumes
(Distributed RAID-1, DR1)
If you confirm that the virtual volume you need meets the criteria above, you are ready to
expand!
virtualvolumeexpand
[v|virtualvolume]contextpath
[e|extent]extent
[f|force]
NOTE: I have listed the optional extent parameter above to be complete. This is used by the
concatenation expansion method not by the storage volume expansion method.
To expand the volume, you issue the above command with the specific virtual volume that
you need to expand. The command makes some checks (more on that later) and lo and
behold, you have expanded the virtual volume without ever stopping I/Os.
Things to remember
This section captures an assortment of varied details that are important to know or tips and
tricks about the command that I find useful.
1.
Migrate the virtual volume to a larger storage volume to become 1:1 mapped
From there you should be able to perform the virtual volume expansion as above.
4.
The newly added capacity of the virtual volume will be zero initialized (i.e. VPLEX will
write zeroes to the new capacity) prior to the additional capacity being exposable to the
host. The reason to do this is especially true on mirrored volumes (R1s or DR1s) since from
a host perspective, the added capacity should return the *same* data on read from either
leg. In other words, as with everything else, VPLEX ensures single disk consistency even
with distributed virtual volumes when the capacity is added
5.
Today RecoverPoint protected virtual volumes cannot be expanded while the
protection is in effect. This is something we are looking at for future releases. For now, you
can turn off the RP protection and then expand the virtual volume and re-engage the RP
protection for that virtual volume
6.
If a virtual volume is undergoing migrations, or if the system is undergoing a nondisruptive upgrade or if the system or the virtual volume has a failing health check, then
VPLEX will block expansion of the virtual volume
VOLUME EXPANSIONVPLEX