Striped volumes must have enough devices and free space to grow all columns in parallel

book

Article ID: 100029664

calendar_today

Updated On:

Resolution

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   117463040SELECT   examplevol-01 fsgen
pl examplevol-01 examplevol  ENABLED  ACTIVE   117463296 STRIPE  3/128    RW
sd d01-01       examplevol-01d01     0        39154432 0/0      c4t0d1   ENA
sd d02-01       examplevol-01d02     0        39154432 1/0      c4t0d2   ENA
sd d03-01       examplevol-01d03     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:

dmd01          c4t0d1      auto     2048     60126464-
dmd02          c4t0d2      auto     2048     60126464-
dmd03          c4t0d3      auto     2048     60126464-
dmd04          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 Manager can extend your volume by using the following command:
# vxassist -g maxgrow

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 Volume 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 relayout 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 diskgroup:

dmd01          c4t0d0      auto     2048     60126464-
dmd02          c4t0d1      auto     2048     60126464-
dmd03          c4t0d2      auto     2048     60126464-
dmd04          c4t0d3      auto     2048     60126464-
dmd05          c4t0d4      auto     2048     60126464-
dmd06          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   119560192SELECT   examplevol-01 fsgen
plexamplevol-01 examplevol  ENABLED  ACTIVE   119560320STRIPE  3/128    RW
sdd01-01       examplevol-01 d01    0        391544320/0        c4t0d1  ENA
sdd04-01       examplevol-01 d04    0        699008   0/39154432c4t0d4  ENA
sdd02-01       examplevol-01 d02    0        391544321/0        c4t0d2  ENA
sdd05-01       examplevol-01 d05    0        699008   1/39154432c4t0d5  ENA
sdd03-01       examplevol-01 d03    0        391544322/0        c4t0d3  ENA
sdd06-01       examplevol-01 d06    0        699008   2/39154432c4t0d6  ENA

Issue/Introduction

Striped volumes must have enough devices and free space to grow all columns in parallel