The procedure to recover from the failure of a data change object (DCO) volume depends on the DCO version number.
See the Veritas Volume Manager Administrator's Guide.
Persistent FastResync uses a DCO volume to perform tracking of changed regions in a volume. If an error occurs while reading or writing a DCO volume, it is detached and the badlog
flag is set on the DCO. All further writes to the volume are not tracked by the DCO.
The following sample output from the vxprint
command shows a complete volume with a detached DCO volume (the TUTIL0
and PUTIL0
fields are omitted for clarity):
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE ...
dm mydg01 c4t50d0s2 - 35521408 - -
dm mydg02 c4t51d0s2 - 35521408 - -
dm mydg03 c4t52d0s2 - 35521408 - FAILING
dm mydg04 c4t53d0s2 - 35521408 - FAILING
dm mydg05 c4t54d0s2 - 35521408 - -
v SNAP-vol1 fsgen ENABLED 204800 - ACTIVE
pl vol1-03 SNAP-vol1 ENABLED 204800 - ACTIVE
sd mydg05-01 vol1-03 ENABLED 204800 0 -
dc SNAP-vol1_dco SNAP-vol1 - - - -
v SNAP-vol1_dcl gen ENABLED 144 - ACTIVE
pl vol1_dcl-03 SNAP-vol1_dcl ENABLED 144 - ACTIVE
sd mydg05-02 vol1_dcl-03 ENABLED 144 0 -
v vol1 fsgen ENABLED 204800 - ACTIVE
pl vol1-01 vol1 ENABLED 204800 - ACTIVE
sd mydg01-01 vol1-01 ENABLED 204800 0 -
pl vol1-02 vol1 ENABLED 204800 - ACTIVE
sd mydg02-01 vol1-01 ENABLED 204800 0 -
v vol1_dcl gen DETACHED 144 - DETACH
pl vol1_dcl-01 vol1_dcl ENABLED 144 - ACTIVE
sd mydg03-01 vol1_dcl-01 ENABLED 144 0 -
pl vol1_dcl-02 vol1_dcl DETACHED 144 - IOFAIL
sd mydg04-01 vol1_dcl-02 ENABLED 144 0 RELOCATE
This output shows the mirrored volume, vol1
, its snapshot volume, SNAP-vol1
, and their respective DCOs, vol1_dco
and SNAP-vol1_dco
. The two disks, mydg03
and mydg04
, that hold the DCO plexes for the DCO volume, vol1_dcl
, of vol1
have failed. As a result, the DCO volume, vol1_dcl
, of the volume, vol1
, has been detached and the state of vol1_dco
has been set to BADLOG
. For future reference, note the entries for the snap objects, vol1_snp
and SNAP-vol1_snp
, that point to vol1
and SNAP-vol1
respectively.
You can use such output to deduce the name of a volume's DCO (in this example, vol1_dco
), or you can use the following vxprint
command to display the name of a volume's DCO:
# vxprint [-g
diskgroup
] -F%dco_name
volume
You can use the vxprint
command to check if the badlog
flag is set for the DCO of a volume as shown here:
# vxprint [-g
diskgroup
] -F%badlog
dco_name
This command returns the value on
if the badlog
flag is set. For the example output, the command would take this form:
# vxprint -g mydg -F%badlog vol1_dco
Use the following command to verify the version number of the DCO:
# vxprint [-g
diskgroup
] -F%version
dco_name
This returns a value of 0 or 20. For the example output, the command would take this form:
# vxprint -g mydg -F%version vol1_dco
The DCO version number determines the recovery procedure that you should use.
See "Recovering a version 0 DCO volume" on page 27.
See "Recovering a version 20 DCO volume" on page 28.