Friday, March 6, 2015

Replacing physical drives without hot-relocation

[root@server1]# 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:none       -            -            online invalid
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@server1]# vxassist -g appdg make appvol 100m layout=mirror

[root@server1]# 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



[root@server1]# 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@server1]# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             21225712   4711764  15418320  24% /
tmpfs                  1029756         0   1029756   0% /dev/shm
tmpfs                        4         0         4   0% /dev/vx
mgt:/student          21225728   6176640  13953472  31% /student


[root@server1]# mount -t vxfs /dev/vx/dsk/appdg/appvol /app

[root@server1]# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             21225712   4711764  15418320  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


* "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.


[root@server1]# ps -ef | grep vxrelocd
root      4903  9119  0 03:01 pts/1    00:00:00 grep vxrelocd

[root@server1]# pidof vxrelocd
[root@server1]# ps aux | grep vxrelocd
root      5192  0.0  0.0  61176   720 pts/1    S+   03:03   0:00 grep vxrelocd




* Suppose the disk emc0_dd2 has failed. Or you can manually fail the disk by overwriting the disk private region.
Suppose the disk to be failed is :  emc0_dd2
       
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 whether disk has failed:-

[root@server1]# 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:none       -            -            online invalid
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



[root@server1]# 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 has turned disabled.
sd appdg02-01   appvol-02    appdg02  0.00     100.00m  0.00      -        NDEV



Make the new disk ready to replace the old failed disk:-
Intialize it:

[root@server1]# vxdisksetup -i emc0_dd5

[root@server1]# 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


Add the disk to the DG using the disk media name of old disk:

[root@server1]# vxdg -g appdg -k adddisk appdg02=emc0_dd5

[root@server1]# 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


Check the volume status:-


[root@server1]# 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       DISABLED IOFAIL   100.00m  CONCAT    -        RW <----- The plex is still disabled.
sd appdg02-01   appvol-02    appdg02  0.00     100.00m  0.00      emc0_dd5 ENA


Perform the recover of that plex by resynchronizing it with enabled plex using vxrecover.

[root@server1]# vxrecover
[root@server1]# 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 <----- Plex has turned enabled.
sd appdg02-01   appvol-02    appdg02  0.00     100.00m  0.00      emc0_dd5 ENA



[root@server1]# 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


[root@server1]# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             21225712   4712184  15417900  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@server1]# cd /app
[root@server1]# ls -l
total 0
drwxr-xr-x 2 root root 96 Jan 29 02:59 lost+found

No comments:

Post a Comment