Wednesday, January 14, 2015

Steps to increase SRL volume of Veritas Replicator

Here is brief document to demonstrate how to extend SRL volume of veritas replicator.

Setup

Say you have 2 nodes cluster on Primary site and 2 node cluster on secondary site. VVR configured under Global Cluster (GCO)

Two node SHCFSHA+VVR on Primary site
PrimaryNode01
PrimaryNode02
Two node SHCFSHA+VVR on Secondary site
SecondaryNode01
SecondaryNode02

We have to option:

Option-1: Add a new 5 GB disk to increase SRL vlume
Option-2: Extend existing LUN by 5GB at storage frame and then increase disk size on system



Steps for Option-1: Add a new 5 GB disk to increase SRL volume

Refereed. As it will better IPO scheduling on OS site if now on storage side. Moreover, in this option, we do not deal with existing SRL volume that minimize risk.

Scan disk on all nodes

# for scsi_bus in $(ls /sys/class/scsi_host/); do echo '- - -' > /sys/class/scsi_host/$scsi_bus/scan; done
# vxdisk list
DEVICE       TYPE            DISK         GROUP        STATUS
hparray0_373 auto:cdsdisk    DATA_DISK_1  product_dg    online thinrclm shared
hparray0_995 auto:cdsdisk    -            -            online thinrclm
hparray0_996 auto:cdsdisk    -            -            online thinrclm
hparray0_997 auto:cdsdisk    -            -            online thinrclm
hparray0_998 auto:cdsdisk    SRL_DISK_1  product_dg    online thinrclm shared

# vxdisk -f scandisks

# vxdisk list
DEVICE       TYPE            DISK         GROUP        STATUS
hparray0_373 auto:cdsdisk    DATA_DISK_1  product_dg    online thinrclm shared
hparray0_995 auto:cdsdisk    -            -            online thinrclm
hparray0_996 auto:cdsdisk    -            -            online thinrclm
hparray0_997 auto:cdsdisk    -            -            online thinrclm
hparray0_998 auto:cdsdisk    SRL_DISK_1  product_dg    online thinrclm shared
hparray0_999 auto:none       -            -            online invalid thinrclm

SecondaryNode01# vxdisk list -e
DEVICE       TYPE           DISK        GROUP        STATUS               OS_NATIVE_NAME   ATTR
hparray0_373 auto:cdsdisk   DATA_DISK_1  product_dg   online thinrclm shared sda              tprclm
hparray0_995 auto:cdsdisk   -            -           online thinrclm      sdb              tprclm
hparray0_996 auto:cdsdisk   -            -           online thinrclm      sdc              tprclm
hparray0_997 auto:cdsdisk   -            -           online thinrclm      sdd              tprclm
hparray0_998 auto:cdsdisk   SRL_DISK_1  product_dg   online thinrclm shared sde              tprclm
hparray0_999 auto:none      -            -           online invalid thinrclm sdk              tprclm

Identify disk by udid and confirm disk size. it is to ensure that you got correct disk and playing with correct disk

# vxdisk list hparray0_999|grep udid
udid:      3PARdata%5FVV%5F25B0%5F2AC005C225B0

# fdisk -l /dev/sdk

Disk /dev/sdk: 5.0 GB, 5368709120 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

Disk /dev/sdk doesn't contain a valid partition table


Initialize disk on MASTER node ( important) of BOTH sites. We do not need to do it on slave node in VxVM/CVM environment.

PrimaryNode01# vxdctl -c mode
mode: enabled: cluster active - MASTER
master: PrimaryNode01

SecondaryNode01# vxdisksetup -i hparray0_999


Confirm disk is online on ALL systems

SecondaryNode01# vxdisk list
DEVICE       TYPE            DISK         GROUP        STATUS
hparray0_373 auto:cdsdisk    DATA_DISK_1  product_dg    online thinrclm shared
hparray0_995 auto:cdsdisk    -            -            online thinrclm
hparray0_996 auto:cdsdisk    -            -            online thinrclm
hparray0_997 auto:cdsdisk    -            -            online thinrclm
hparray0_998 auto:cdsdisk    SRL_DISK_1  product_dg    online thinrclm shared
hparray0_999 auto:cdsdisk    -            -            online thinrclm


Extend DG by adding new disk. Run commad on MASTER node of each site

# vxdg -g product_dg free
DISK         DEVICE       TAG          OFFSET    LENGTH    FLAGS
SRL_DISK_1 hparray0_998 hparray0_998 20480064  322576    -
DATA_DISK_1 hparray0_373 hparray0_373 840957952 2808020688 -

# vxdg -g product_dg adddisk SRL_DISK_2=hparray0_999

# vxdg -g product_dg free
DISK         DEVICE       TAG          OFFSET    LENGTH    FLAGS
SRL_DISK_1 hparray0_998 hparray0_998 20480064  322576    -
SRL_DISK_2 hparray0_999 hparray0_999 0         10441864  -           <<<<< New 5GB disk is part of DG now
DATA_DISK_1 hparray0_373 hparray0_373 840957952 2808020688 -

# vxdisk list
DEVICE       TYPE            DISK         GROUP        STATUS
hparray0_373 auto:cdsdisk    DATA_DISK_1  product_dg    online thinrclm shared
hparray0_995 auto:cdsdisk    -            -            online thinrclm
hparray0_996 auto:cdsdisk    -            -            online thinrclm
hparray0_997 auto:cdsdisk    -            -            online thinrclm
hparray0_998 auto:cdsdisk    SRL_DISK_1  product_dg    online thinrclm shared
hparray0_999 auto:cdsdisk    SRL_DISK_2  product_dg    online thinrclm shared   <<< We see new disk belowng to DG and it is shared

Now resize SRL volume - run command on MASTER node of Primary site. SRL_DISK_2 - is diskname used on both sites with vxdg adddisk command
  -- It will extend SRL volume on secondary site too
  -- It will take couple of minuted pretending as if command has hung !! Keep patience
  -- system load may increase drastically untill command will complete

PrimaryNode01# vradmin -g product_dg resizesrl product_rvg +5G pridiskname=SRL_DISK_2 secdiskname=SRL_DISK_2


Confirm SRL volume has been extended.

# vradmin -g product_dg -l repstatus product_rvg |grep "SRL size"
  SRL size:                   14.65 G

# vxdg -g product_dg free
DISK         DEVICE       TAG          OFFSET    LENGTH    FLAGS
SRL_DISK_1 hparray0_998 hparray0_998 20480064  322576    -
SRL_DISK_2 hparray0_999 hparray0_999 10319872  487968   -           <<<<< New 5GB disk is in use now (offset)
DATA_DISK_1 hparray0_373 hparray0_373 840957952 2808020688 -



Steps for Option-2: Extend existing LUN by 5GB at storage frame and then increase disk size on system


Scan new size of disk and confirm new size on all nodes

# vxdg -g product_dg free
DISK         DEVICE       TAG          OFFSET    LENGTH    FLAGS
SRL_DISK_1 hparray0_998 hparray0_998 20480064  322576    -
DATA_DISK_1 hparray0_373 hparray0_373 840957952 2808020688 -

# for scsi_bus in $(ls /sys/class/scsi_host/); do echo '- - -' > /sys/class/scsi_host/$scsi_bus/scan; done

# vxdisk -f scandisks

# fdisk -l /dev/sdk

Disk /dev/sdk: 15.0 GB, 16106127360 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

Disk /dev/sdk doesn't contain a valid partition table


Resize disk on each site by running command on MASTER on each site

# vxdctl -c mode
# vxprint -hrt|grep ^dm
# vxdg -g product_dg  free
# vxdisk resize SRL_DISK_1
NOTE : VxVM version < 6.0.5 have bug that can corrupt your data !!
# vxprint -hrt|grep ^dm
# vxdg -g product_dg free
DISK         DEVICE       TAG          OFFSET    LENGTH    FLAGS
SRL_DISK_1 hparray0_998 hparray0_998 20480064  10764440  -   <<<< New size detected
DATA_DISK_1 hparray0_373 hparray0_373 840957952 2808020688 -


Resize SRl volume by running command on MASTER on Primary site 

PrimaryNode01# vradmin -g product_dg resizesrl product_rvg +5G

Confirm SRL volume has been extended.

# vradmin -g product_dg -l repstatus product_rvg |grep "SRL size"
  SRL size:                   14.65 G



References

Disk re-sizing
Resizing the SRL
How to specify specific disks with vradmin when expanding SRL volume