Powered By Blogger

Wednesday, December 24, 2014

How to Resize the Stripe Volume in VXVM:

How to Resize the Stripe Volume in VXVM:
Volume Manager has the following internal restrictions regarding the extension of striped volume columns:
  • Device(s) used in one column cannot be used in any other columns in that volume.
  • All stripe columns must be grown in parallel.
Use the following commands to determine if you have enough devices or free space to grow your volume.
# vxprint -htqg datadg examplevol
v examplevol - ENABLED ACTIVE 117463040 SELECT examplevol-01 fsgen
pl examplevol-01 examplevol ENABLED ACTIVE 117463296 STRIPE
3/128 RW
sd d01-01 examplevol-01 d01 0 39154432 0/0 c4t0d1 ENA
sd d02-01 examplevol-01 d02 0 39154432 1/0 c4t0d2 ENA
sd d03-01 examplevol-01 d03 0 39154432 2/0 c4t0d3 ENA

The above volume is a 3 column stripe volume. You can determine this by examining the plex line following STRIPE where you can see 3/128. This value is shown in COLUMNS/STRIPE_WIDTH format.

The disk group in this example contains the following devices:

dm d01 c4t0d1 auto 2048 60126464 -
dm d02 c4t0d2 auto 2048 60126464 -
dm d03 c4t0d3 auto 2048 60126464 -
dm d04 c4t0d4 auto 2048 60126464 -

Attempting to grow this volume using only the currently available devices will produce the following error:

# /etc/vx/bin/vxresize -g datadg examplevol +1g
VxVM vxassist ERROR V-5-1-436 Cannot allocate space to grow volume to 119560192 blocks
VxVM vxresize ERROR V-5-1-4703 Problem running vxassist command for volume examplevol, in diskgroup datadg

You can also predetermine how much space Volume Manage can extend your volume by using the following command:
# vxassist -g <dg> maxgrow <volume>

In this example, the following is the result:
# vxassist -g datadg maxgrow examplevol
VxVM vxassist ERROR V-5-1-1178 Volume examplevol cannot be extend within the given constraints

Because VM requires a unique device for each stripe, and there is only one device available for the three column volume, the grow operation cannot run. To resolve this issue you must add enough storage devices to satisfy the above constraints or use a re-layout operation to convert the volume's column count. For additional information on performing a relayout operation see the supplemental material below.

In the example, two additional devices have been added to the disk group:
dm d01 c4t0d0 auto 2048 60126464 -
dm d02 c4t0d1 auto 2048 60126464 -
dm d03 c4t0d2 auto 2048 60126464 -
dm d04 c4t0d3 auto 2048 60126464 -

dm d05 c4t0d4 auto 2048 60126464 -
dm d06 c4t0d5 auto 2048 60126464 -

And the resize operation completes without complaint:

# /etc/vx/bin/vxresize -g datadg examplevol +1g
# vxprint -htqg datadg examplevol

v examplevol - ENABLED ACTIVE 119560192 SELECT examplevol-01 fsgen
pl examplevol-01 examplevol ENABLED ACTIVE 119560320 STRIPE 3/128 RW
sd d01-01 examplevol-01 d01 0 39154432 0/0 c4t0d1 ENA
sd d04-01 examplevol-01 d04 0 699008 0/39154432 c4t0d4 ENA
sd d02-01 examplevol-01 d02 0 39154432 1/0 c4t0d2 ENA
sd d05-01 examplevol-01 d05 0 699008 1/39154432 c4t0d5 ENA
sd d03-01 examplevol-01 d03 0 39154432 2/0 c4t0d3 ENA
sd d06-01 examplevol-01 d06 0 699008 2/39154432 c4t0d6 ENA

No comments:

Post a Comment