What to check if mirror resynchronization has stalled

book

Article ID: 100024475

calendar_today

Updated On:

Description

Error Message

vxvm: vxplex: ERROR: Plex in volume is locked by another utility.

Resolution

If the plex has been in recover mode for too long and it seems as if a mirror resynchronization has stalled, it is possible to check if anything is happening on the plex by running the following command:

# vxstat -g -i 5 -c 5 -p


Note: is the name of the disk group and is the name of the plex being synchronized up to.


Running the following command, for instance, will generate the following output:

# vxstat -g newdg -i 5-c 5 -p vol04-02

 
OPERATIONS      BLOCKS          AVGTIME(ms)
YPNAME         READ  WRITE    READ    WRITE  READ  WRITE

pl  vol04-02        0    1287      0    319176  0.0    9.1
pl  vol04-02        0    191      0    47368    0.0    9.1
pl  vol04-02        0    190      0    47120    0.0    8.8
pl  vol04-02        0    189      0    46872    0.0    9.0
pl  vol04-02        0    190      0    47120    0.0    9.3

The output shows that there are "WRITE" operations going to the plex. This means that the resynchronization is working.  If no "WRITE" operations were shown, it would have been safe to say that the mirror was not getting resynchronized.

If there is no activity shown on the plex with the above vxstat command, manually start the resynchronization process by doing the following:

# vxplex -g dis
# vxplex -g att


Note: The last vxplex command will run until the volume is completely synchronized.


If the following error comes up, it just means that the temporary utility fields that VERITAS Volume Manager uses as a locking mechanism need to be cleared up:
vxvm:vxplex: ERROR: Plex in volume is locked by another utility .

This error is shown when the original resynchronization process has died suddenly and these fields did not get cleared up correctly.  If they are cleared up, the vxplex commands will run fine.
 
To determine what to clear up, run the following command:
 
# vxprint -g
 
TYNAME       ASSOC      KSTATE   LENGTH  STATE  TUTIL0  PUTIL0

v  vol04          fsgen          ENABLED  4100096  ACTIVE  ATT1        -
pl vol04-01      vol04           ENABLED  4100576  ACTIVE    -            -
sd disk01-01     vol04-01        ENABLED  2050272      -          -            -
sd disk04-01     vol04-01        ENABLED  2050272      -          -            -
pl vol04-02      vol04           ENABLED  4100576   TEMP     ATT        -
sd disk02-01     vol04-02        ENABLED  2050272      -            -            -
sd disk07-01     vol04-02        ENABLED  2050272      -            -            -
 
From the above output, the "TUTIL0" flag is set for both the volume and the plex (in this case, vol04 and vol04-02, respectively). This must be cleared up from both the volume and the plex. The following command will accomplish this task:
 
# vxedit -g -f set =""

For example:

# vxedit -g rootdg -f set tutil0="" vol04-02

Note: For VxVM setup not using the FMR snapshots, the following vxmend command can also be used to clear the fields.( FMR  snapshot depends on "putil2" field for it's operations and  clearing the field "putil2" can cause undesired result in FMR operations).

vxmend -g clear all ...
 
For this example (to clear the flag for both volume and plex), run:
 
# vxmend -g rootdg clear all vol04 vol04-02

Note: Running the vxprint command again will show that theTUTIL0 states have been cleared up.  
 

 

Issue/Introduction

What to check if mirror resynchronization has stalled