Friday, March 6, 2015

Replacing physical drive with hot relocation

Check whether vxrelocd daemon is running.
*Note: vxrelocd is the hot-relocation daemon that monitors events
that affect data redundancy. If redundancy failures are detected, vxrelocd
automatically relocates affected data from mirrored or RAID-5 subdisks to
spare disks or other free space within the disk group.


Below command output vxrelocd is not running, so start it manually.
[root@sym1 /]# ps -ef | grep vxrelocd
root      8996  9119  0 03:17 pts/1    00:00:00 grep vxrelocd


[root@sym1 /]# vxrelocd root &

[root@sym1 /]# ps -ef | grep vxrelocd
root      8998  9119  0 03:17 pts/1    00:00:00 /bin/sh - /opt/VRTS/bin/vxrelocd root
root      9047  8998  0 03:17 pts/1    00:00:00 /bin/sh - /opt/VRTS/bin/vxrelocd root
root      9937  9119  0 03:19 pts/1    00:00:00 grep vxrelocd



Check the current DG and disk details:-

[root@sym1 /]# vxdisk -o alldgs list
DEVICE       TYPE            DISK         GROUP        STATUS
emc0_dd1     auto:cdsdisk    appdg01      appdg        online
emc0_dd2     auto:cdsdisk    appdg02      appdg        online
emc0_dd3     auto:cdsdisk    appdg03      appdg        online
emc0_dd4     auto:cdsdisk    appdg04      appdg        online
emc0_dd5     auto:cdsdisk    -            -            online
emc0_dd6     auto:none       -            -            online invalid
emc0_dd7     auto:none       -            -            online invalid
emc0_dd8     auto:none       -            -            online invalid
emc0_dd9     auto:none       -            -            online invalid
emc0_d10     auto:none       -            -            online invalid
emc0_d11     auto:none       -            -            online invalid
emc0_d12     auto:none       -            -            online invalid
sda          auto:none       -            -            online invalid
sdb          auto:none       -            -            online invalid


Create a mirrored volume:

[root@sym1 /]# vxassist -g appdg make appvol 100m layout=mirror


Check the volume details:-
[root@sym1 /]# vxprint -g appdg -htu h
DG NAME         NCONFIG      NLOG     MINORS   GROUP-ID
ST NAME         STATE        DM_CNT   SPARE_CNT         APPVOL_CNT
DM NAME         DEVICE       TYPE     PRIVLEN  PUBLEN   STATE
RV NAME         RLINK_CNT    KSTATE   STATE    PRIMARY  DATAVOLS  SRL
RL NAME         RVG          KSTATE   STATE    REM_HOST REM_DG    REM_RLNK
CO NAME         CACHEVOL     KSTATE   STATE
VT NAME         RVG          KSTATE   STATE    NVOLUME
V  NAME         RVG/VSET/CO  KSTATE   STATE    LENGTH   READPOL   PREFPLEX UTYPE
PL NAME         VOLUME       KSTATE   STATE    LENGTH   LAYOUT    NCOL/WID MODE
SD NAME         PLEX         DISK     DISKOFFS LENGTH   [COL/]OFF DEVICE   MODE
SV NAME         PLEX         VOLNAME  NVOLLAYR LENGTH   [COL/]OFF AM/NM    MODE
SC NAME         PLEX         CACHE    DISKOFFS LENGTH   [COL/]OFF DEVICE   MODE
DC NAME         PARENTVOL    LOGVOL
SP NAME         SNAPVOL      DCO
EX NAME         ASSOC        VC                       PERMS    MODE     STATE
SR NAME         KSTATE

dg appdg        default      default  1000     1422525023.21.sym1
dm appdg01      emc0_dd1     auto     32.00m   1.96g    -
dm appdg02      emc0_dd2     auto     32.00m   1.96g    -
dm appdg03      emc0_dd3     auto     32.00m   1.96g    -
dm appdg04      emc0_dd4     auto     32.00m   1.96g    -

v  appvol       -            ENABLED  ACTIVE   100.00m  SELECT    -        fsgen
pl appvol-01    appvol       ENABLED  ACTIVE   100.00m  CONCAT    -        RW
sd appdg01-01   appvol-01    appdg01  0.00     100.00m  0.00      emc0_dd1 ENA
pl appvol-02    appvol       ENABLED  ACTIVE   100.00m  CONCAT    -        RW
sd appdg02-01   appvol-02    appdg02  0.00     100.00m  0.00      emc0_dd2 ENA



Create a filesystem and mount it:-

[root@sym1 /]# mkfs -t vxfs /dev/vx/rdsk/appdg/appvol
    version 9 layout
    204800 sectors, 102400 blocks of size 1024, log size 1024 blocks
    rcq size 1024 blocks
    largefiles supported


[root@sym1 /]# mount -t vxfs /dev/vx/dsk/appdg/appvol /app
[root@sym1 /]# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             21225712   4738032  15392052  24% /
tmpfs                  1029756         0   1029756   0% /dev/shm
tmpfs                        4         0         4   0% /dev/vx
mgt:/student          21225728   6176640  13953472  31% /student
/dev/vx/dsk/appdg/appvol
                        102400      3189     93018   4% /app
[root@sym1 /]#
[root@sym1 /]#
[root@sym1 /]#


[root@sym1 /]# Suppose the disk emc0_dd2 has failed. You can also fail the disk by overwriting the private region of that disk.

 Overwrite the private region of emc0_dd2 as follows:-
        /bin/dd if=/dev/zero of=/dev/vx/rdmp/emc0_dd2 bs=128k seek=1 count=2 >/dev/null 2>&1
        /sbin/vxdctl disable
        /sbin/vxdctl enable


Check the status of volume and the plex, which contains that disk:-

* The physical device is no longer associated with the disk media name and the
disk group. The failed device in the volume should be relocated to a different
device within the disk group.

* Allow the sufficient time for the vxrelocd daemon to relocate the failed device.

[root@sym1 sf60]# vxprint -g appdg -htu h
DG NAME         NCONFIG      NLOG     MINORS   GROUP-ID
ST NAME         STATE        DM_CNT   SPARE_CNT         APPVOL_CNT
DM NAME         DEVICE       TYPE     PRIVLEN  PUBLEN   STATE
RV NAME         RLINK_CNT    KSTATE   STATE    PRIMARY  DATAVOLS  SRL
RL NAME         RVG          KSTATE   STATE    REM_HOST REM_DG    REM_RLNK
CO NAME         CACHEVOL     KSTATE   STATE
VT NAME         RVG          KSTATE   STATE    NVOLUME
V  NAME         RVG/VSET/CO  KSTATE   STATE    LENGTH   READPOL   PREFPLEX UTYPE
PL NAME         VOLUME       KSTATE   STATE    LENGTH   LAYOUT    NCOL/WID MODE
SD NAME         PLEX         DISK     DISKOFFS LENGTH   [COL/]OFF DEVICE   MODE
SV NAME         PLEX         VOLNAME  NVOLLAYR LENGTH   [COL/]OFF AM/NM    MODE
SC NAME         PLEX         CACHE    DISKOFFS LENGTH   [COL/]OFF DEVICE   MODE
DC NAME         PARENTVOL    LOGVOL
SP NAME         SNAPVOL      DCO
EX NAME         ASSOC        VC                       PERMS    MODE     STATE
SR NAME         KSTATE

dg appdg        default      default  1000     1422525023.21.sym1
dm appdg01      emc0_dd1     auto     32.00m   1.96g    -
dm appdg02      -            -        -        -        NODEVICE
dm appdg03      emc0_dd3     auto     32.00m   1.96g    -
dm appdg04      emc0_dd4     auto     32.00m   1.96g    -

v  appvol       -            ENABLED  ACTIVE   100.00m  SELECT    -        fsgen
pl appvol-01    appvol       ENABLED  ACTIVE   100.00m  CONCAT    -        RW
sd appdg01-01   appvol-01    appdg01  0.00     100.00m  0.00      emc0_dd1 ENA
pl appvol-02    appvol       DISABLED NODEVICE 100.00m  CONCAT    -        RW <----- This plex is disabled.
sd appdg02-01   appvol-02    appdg02  0.00     100.00m  0.00      -        NDEV



Also the disk emc0_dd2 is shown as failed:-

[root@sym1 sf60]# vxdisk -o alldgs list
DEVICE       TYPE            DISK         GROUP        STATUS
emc0_dd1     auto:cdsdisk    appdg01      appdg        online
emc0_dd2     auto:cdsdisk    -            -            online invalid
emc0_dd3     auto:cdsdisk    appdg03      appdg        online
emc0_dd4     auto:cdsdisk    appdg04      appdg        online
emc0_dd5     auto:cdsdisk    -            -            online
emc0_dd6     auto:none       -            -            online invalid
emc0_dd7     auto:none       -            -            online invalid
emc0_dd8     auto:none       -            -            online invalid
emc0_dd9     auto:none       -            -            online invalid
emc0_d10     auto:none       -            -            online invalid
emc0_d11     auto:none       -            -            online invalid
emc0_d12     auto:none       -            -            online invalid
sda          auto:none       -            -            online invalid
sdb          auto:none       -            -            online invalid
-            -         appdg02      appdg        failed was:emc0_dd2



Prepare a new disk for replacing old disk using the disk media name of failed disk:-

[root@sym1 sf60]# vxdg -g appdg -k adddisk appdg02=emc0_dd5
[root@sym1 sf60]# vxdisk -o alldgs list
DEVICE       TYPE            DISK         GROUP        STATUS
emc0_dd1     auto:cdsdisk    appdg01      appdg        online
emc0_dd2     auto:cdsdisk    -            -            online invalid
emc0_dd3     auto:cdsdisk    appdg03      appdg        online
emc0_dd4     auto:cdsdisk    appdg04      appdg        online
emc0_dd5     auto:cdsdisk    appdg02      appdg        online
emc0_dd6     auto:none       -            -            online invalid
emc0_dd7     auto:none       -            -            online invalid
emc0_dd8     auto:none       -            -            online invalid
emc0_dd9     auto:none       -            -            online invalid
emc0_d10     auto:none       -            -            online invalid
emc0_d11     auto:none       -            -            online invalid
emc0_d12     auto:none       -            -            online invalid
sda          auto:none       -            -            online invalid
sdb          auto:none       -            -            online invalid



After sometime, check the status of volume and its plex, which involved failed disk.
We will find that the plex that used to be on the failed disk is now
relocated to another disk in the disk group.

Also the failed disk should now be a part of the disk group.

[root@sym1 sf60]# vxprint -g appdg -htu h
DG NAME         NCONFIG      NLOG     MINORS   GROUP-ID
ST NAME         STATE        DM_CNT   SPARE_CNT         APPVOL_CNT
DM NAME         DEVICE       TYPE     PRIVLEN  PUBLEN   STATE
RV NAME         RLINK_CNT    KSTATE   STATE    PRIMARY  DATAVOLS  SRL
RL NAME         RVG          KSTATE   STATE    REM_HOST REM_DG    REM_RLNK
CO NAME         CACHEVOL     KSTATE   STATE
VT NAME         RVG          KSTATE   STATE    NVOLUME
V  NAME         RVG/VSET/CO  KSTATE   STATE    LENGTH   READPOL   PREFPLEX UTYPE
PL NAME         VOLUME       KSTATE   STATE    LENGTH   LAYOUT    NCOL/WID MODE
SD NAME         PLEX         DISK     DISKOFFS LENGTH   [COL/]OFF DEVICE   MODE
SV NAME         PLEX         VOLNAME  NVOLLAYR LENGTH   [COL/]OFF AM/NM    MODE
SC NAME         PLEX         CACHE    DISKOFFS LENGTH   [COL/]OFF DEVICE   MODE
DC NAME         PARENTVOL    LOGVOL
SP NAME         SNAPVOL      DCO
EX NAME         ASSOC        VC                       PERMS    MODE     STATE
SR NAME         KSTATE

dg appdg        default      default  1000     1422525023.21.sym1
dm appdg01      emc0_dd1     auto     32.00m   1.96g    -
dm appdg02      emc0_dd5     auto     32.00m   1.96g    - <----- appdg02 is now part of DG.
dm appdg03      emc0_dd3     auto     32.00m   1.96g    -
dm appdg04      emc0_dd4     auto     32.00m   1.96g    -

v  appvol       -            ENABLED  ACTIVE   100.00m  SELECT    -        fsgen
pl appvol-01    appvol       ENABLED  ACTIVE   100.00m  CONCAT    -        RW
sd appdg01-01   appvol-01    appdg01  0.00     100.00m  0.00      emc0_dd1 ENA
pl appvol-02    appvol       ENABLED  ACTIVE   100.00m  CONCAT    -        RW
sd appdg03-01   appvol-02    appdg03  0.00     100.00m  0.00      emc0_dd3 ENA <----- this plex is now relocated to another disk in the DG.


[root@sym1 sf60]# vxdisksetup -i emc0_dd2
[root@sym1 sf60]#
[root@sym1 sf60]#
[root@sym1 sf60]# vxdisk -o alldgs list
DEVICE       TYPE            DISK         GROUP        STATUS
emc0_dd1     auto:cdsdisk    appdg01      appdg        online
emc0_dd2     auto:cdsdisk    -            -            online
emc0_dd3     auto:cdsdisk    appdg03      appdg        online
emc0_dd4     auto:cdsdisk    appdg04      appdg        online
emc0_dd5     auto:cdsdisk    appdg02      appdg        online
emc0_dd6     auto:none       -            -            online invalid
emc0_dd7     auto:none       -            -            online invalid
emc0_dd8     auto:none       -            -            online invalid
emc0_dd9     auto:none       -            -            online invalid
emc0_d10     auto:none       -            -            online invalid
emc0_d11     auto:none       -            -            online invalid
emc0_d12     auto:none       -            -            online invalid
sda          auto:none       -            -            online invalid
sdb          auto:none       -            -            online invalid
[root@sym1 sf60]#
[root@sym1 sf60]#
[root@sym1 sf60]#


Use the vxunreloc command to return the plex back to the original device.

[root@sym1 sf60]# vxunreloc -g appdg appdg02
[root@sym1 sf60]#
[root@sym1 sf60]#
[root@sym1 sf60]#
[root@sym1 sf60]# vxdisk -o alldgs list
DEVICE       TYPE            DISK         GROUP        STATUS
emc0_dd1     auto:cdsdisk    appdg01      appdg        online
emc0_dd2     auto:cdsdisk    -            -            online
emc0_dd3     auto:cdsdisk    appdg03      appdg        online
emc0_dd4     auto:cdsdisk    appdg04      appdg        online
emc0_dd5     auto:cdsdisk    appdg02      appdg        online
emc0_dd6     auto:none       -            -            online invalid
emc0_dd7     auto:none       -            -            online invalid
emc0_dd8     auto:none       -            -            online invalid
emc0_dd9     auto:none       -            -            online invalid
emc0_d10     auto:none       -            -            online invalid
emc0_d11     auto:none       -            -            online invalid
emc0_d12     auto:none       -            -            online invalid
sda          auto:none       -            -            online invalid
sdb          auto:none       -            -            online invalid



Check the volume details now.

[root@sym1 sf60]# vxprint -g appdg -htu h
DG NAME         NCONFIG      NLOG     MINORS   GROUP-ID
ST NAME         STATE        DM_CNT   SPARE_CNT         APPVOL_CNT
DM NAME         DEVICE       TYPE     PRIVLEN  PUBLEN   STATE
RV NAME         RLINK_CNT    KSTATE   STATE    PRIMARY  DATAVOLS  SRL
RL NAME         RVG          KSTATE   STATE    REM_HOST REM_DG    REM_RLNK
CO NAME         CACHEVOL     KSTATE   STATE
VT NAME         RVG          KSTATE   STATE    NVOLUME
V  NAME         RVG/VSET/CO  KSTATE   STATE    LENGTH   READPOL   PREFPLEX UTYPE
PL NAME         VOLUME       KSTATE   STATE    LENGTH   LAYOUT    NCOL/WID MODE
SD NAME         PLEX         DISK     DISKOFFS LENGTH   [COL/]OFF DEVICE   MODE
SV NAME         PLEX         VOLNAME  NVOLLAYR LENGTH   [COL/]OFF AM/NM    MODE
SC NAME         PLEX         CACHE    DISKOFFS LENGTH   [COL/]OFF DEVICE   MODE
DC NAME         PARENTVOL    LOGVOL
SP NAME         SNAPVOL      DCO
EX NAME         ASSOC        VC                       PERMS    MODE     STATE
SR NAME         KSTATE

dg appdg        default      default  1000     1422525023.21.sym1
dm appdg01      emc0_dd1     auto     32.00m   1.96g    -
dm appdg02      emc0_dd5     auto     32.00m   1.96g    -
dm appdg03      emc0_dd3     auto     32.00m   1.96g    -
dm appdg04      emc0_dd4     auto     32.00m   1.96g    -

v  appvol       -            ENABLED  ACTIVE   100.00m  SELECT    -        fsgen
pl appvol-01    appvol       ENABLED  ACTIVE   100.00m  CONCAT    -        RW
sd appdg01-01   appvol-01    appdg01  0.00     100.00m  0.00      emc0_dd1 ENA
pl appvol-02    appvol       ENABLED  ACTIVE   100.00m  CONCAT    -        RW
sd appdg02-UR-001 appvol-02  appdg02  0.00     100.00m  0.00      emc0_dd5 ENA <----- Plex is back to appdg02.

No comments:

Post a Comment