Thursday, December 30, 2010

vxvm:vxvol reports error when trying to start a volume

Problem

vxvm:vxvol reports error when trying to start a volume.

Error

vxvm:vxvol: ERROR: Volume has no CLEAN or non-volatile ACTIVE plexes

Solution

Description:
=========
Starting a volume reports the error above. The vxprint output shows that the plexes for the volume are in "DISABLED RECOVER" state.
Solution:
=======
The following commands must be run on a plex to change the state of the plex to "CLEAN". The volume can then be started,  but a fsck may be required before mounting the file system.

# vxmend -o force off <plex>
# vxmend on <plex>
# vxmend fix clean <plex>
# vxvol start <volume>
# fsck -F vxfs /dev/vx/rdsk/<diskgroup>/<volume>
# mount -F vxfs /dev/vx/dsk/<diskgroup>/<volume> /mountpoint


Here is an example:
The disk group dg01 has 2 volumes, apps and home. Trying to start all the volumes reported the following error:
# vxvol -g dg01 startall
vxvm:vxvol: ERROR: Volume home has no CLEAN or non-volatile ACTIVE plexes

# vxprint -g dg01 -th     <== Showed the following
...
dg dg01 2 2 123000 1021305687.1295.obp1

dm appsdisk c0t1d0s2 sliced 11555 71112735 -
dm appsmirror c1t1d0s2 sliced 11555 71112735 -
dm homedisk c2t0d0s2 sliced 14135 35349424 -
dm homemirror c3t0d0s2 sliced 14135 35349424 -

v apps - ENABLED ACTIVE 70840320 SELECT - fsgen
pl apps-01 apps ENABLED ACTIVE 70841169 CONCAT - RW
sd appsdisk-01 apps-01 appsdisk 0 70841169 0 c0t1d0s2 ENA
pl apps-02 apps ENABLED ACTIVE 70841169 CONCAT - RW
sd appsmirror-01 apps-02 appsmirror 0 70841169 0 c1t1d0s2 ENA

v home - DISABLED ACTIVE 16896000 SELECT - fsgen
pl home-01 home DISABLED RECOVER 16897232 CONCAT - RW
sd homedisk-01 home-01 homedisk 0 16897232 0 c2t0d0 RLOC
pl home-02 home DISABLED RECOVER 16897232 CONCAT - RW
sd h omemirror-01 home-02 homemirror 0 16897232 0 c3t0d0 ENA

The following commands need to be run on one of the plexes before trying to start the volume 'home':
# vxmend -o force off home-01
# vxmend on home-01
# vxmend fix clean home-01
The volume will then start successfully using the cleaned plex (the second plex, 'home-02' will automatically resync using plex 'home-01'):

# vxvol start home

Note:
It may be necessary to run fsck on the file system before mounting it:

# fsck -F vxfs /dev/vx/rdsk/<diskgroup>/<volume>
# mount -F vxfs /dev/vx/dsk/<diskgroup>/<volume> /mountpoint

No comments:

Post a Comment