How to swap subdisks used by the SNAPDONE volume's DCO log when there is no free space in the disk group

book

Article ID: 100016967

calendar_today

Updated On:

Resolution

As shown in the following output, the second DCO plex is using a subdisk which is on a disk used by the original data plex and as such, there will be a problem if wanting to split the disk group for the SNAP volume:

# vxprint -htg sdgv1
V  NAME        RVG/VSET/CO  KSTATE   STATE    LENGTH   READPOL  PREF PLEX UTYPE
PLNAME         VOLUME       KSTATE  STATE    LENGTH   LAYOUT    NCOL/WID MODE
SDNAME         PLEX        DISK     DISKOFFS LENGTH   [COL/]OFF DEVICE  MODE
SVNAME         PLEX        VOLNAME  NVOLLAYR LENGTH   [COL/]OFF AM/NM    MODE
SCNAME         PLEX        CACHE    DISKOFFS LENGTH   [COL/]OFF DEVICE  MODE
DCNAME        PARENTVOL    LOGVOL
SPNAME        SNAPVOL      DCO

v  v1          -            ENABLED  ACTIVE  204800  SELECT    -        fsgen
pl v1-01        v1          ENABLED  ACTIVE   204800  CONCAT    -        RW
sd c2t3d0-01    v1-01        c2t3d0  0        204800   0        c2t3d0   ENA
pl v1-02        v1          ENABLED  SNAPDONE 204800  CONCAT    -        WO
sd c2t8d0-01    v1-02        c2t8d0  0        204800   0        c2t8d0   ENA
dc v1_dco       v1          v1_dcl      
v  v1_dcl      -            ENABLED  ACTIVE  144      SELECT    -        gen
pl v1_dcl-01    v1_dcl       ENABLED  ACTIVE  144      CONCAT    -        RW
sd c2t8d0-02    v1_dcl-01    c2t8d0   204800  144      0         c2t8d0  ENA
pl v1_dcl-02    v1_dcl       DISABLED DCOSNP  144      CONCAT    -        RW
sd c2t3d0-02    v1_dcl-02    c2t3d0   204800  144      0         c2t3d0  ENA

When a disk group split is attempted in such a configuration, the following error occurs:
# vxassist -g sdg snapshot v1
# vxdg split sdg tdg SNAP-v1

Resulting error:
# vxdg split sdg tdg SNAP-v1
VxVM vxdg ERROR V-5-1-4597
       Objects specified are not self contained.
       (not all subdisks on c2t3d0 are selected).
       See the '-o expand' option in the vxdg(1m) manpage
       Objects specified are not self contained.
       (not all subdisks on c2t8d0 are selected).
       See the '-o expand' option in the vxdg(1m) man page

If free space is available in the disk group, a new temporary subdisk could be created using the vxmake command, and then the second DCO subdisks can be swapped by "moving" (vxsd mv) the first subdisk to the temporary subdisk, followed by moving the second subdisk to the now freed first subdisk, and then moving the temporary subdisk to the second subdisk, and finally removing the temporary subdisk.

When no free space is available, the following steps can be used to swap the second DCO subdisks when the volume is in SNAPDONE state:

1. vxplex -g sdg dis v1_dcl-02
2. vxsd -g sdg dis c2t3d0-02
3. vxsd -g sdg mv c2t8d0-02 c2t3d0-02
4. vxplex -g sdg assoc v1_dcl-02c2t8d0-02
5. vxplex -g sdg att v1_dclv1_dcl-02
6. vxmend -g sdg offv1_dcl-02

When "snapshot", if the second plex of DCO is in the "DISABLED" state, it will become the DCO plex for the SNAP volume.
 

Issue/Introduction

How to swap subdisks used by the SNAPDONE volume's DCO log when there is no free space in the disk group