![]()
|
SysAdmin Topics
|
Testing Data Consistency During Multipathing Switchover(a submission from BigAdmin community, March 2009) Note: This was tested on Solaris 10 OS and it should work on Solaris 9 as well. Removing EMC PowerPath and enabling MPXIO on Solaris server while the filesystems are in usePlan: 1. Create Disk group using EMC PowerPath pseudo devices Intention: I have initialized two pseudo devices under Veritas as shown below: bash-3.00# vxdisk list DEVICE TYPE DISK GROUP STATUS Disk_0 auto:none - - online invalid Disk_1 auto:none - - online invalid EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error emcpower0s2 auto:none - - online invalid emcpower1s2 auto:none - - online invalid emcpower2s2 auto:sliced MP_Test01 MP_Test online emcpower3s2 auto:sliced MP_Test02 MP_Test online Created a regular volume: bash-3.00# vxprint \-t TestVolume Disk group: MP_Test V NAME RVG/VSET/CO KSTATE STATE LENGTH READPOL PREFPLEX UTYPE v TestVolume - ENABLED ACTIVE 41932800 SELECT - fsgen Created filesystem on it and mounted it on /test: bash-3.00# df \-kh Filesystem size used avail capacity Mounted on /dev/md/dsk/d0 3.9G 2.0G 1.9G 52% / /devices 0K 0K 0K 0% /devices ctfs 0K 0K 0K 0% /system/contract proc 0K 0K 0K 0% /proc mnttab 0K 0K 0K 0% /etc/mnttab swap 29G 1.3M 29G 1% /etc/svc/volatile objfs 0K 0K 0K 0% /system/object /platform/sun4u-us3/lib/libc_psr/libc_psr_hwcap1.so.1 3.9G 2.0G 1.9G 52% /platform/sun4u-us3/lib/libc_psr.so.1 /platform/sun4u-us3/lib/sparcv9/libc_psr/libc_psr_hwcap1.so.1 3.9G 2.0G 1.9G 52% /platform/sun4u-us3/lib/sparcv9/libc_psr.so.1 fd 0K 0K 0K 0% /dev/fd /dev/md/dsk/d30 3.9G 613M 3.3G 16% /var swap 29G 0K 29G 0% /tmp swap 29G 32K 29G 1% /var/run /dev/md/dsk/d40 2.0G 15M 1.9G 1% /export /dev/vx/dsk/MP_Test/TestVolume 20G 191M 19G 1% /test Wrote some data into the mountpoint:
bash-3.00# ls \-l /test
total 248446
-rw-r{-}{-}r-\- 1 root root 45000192 Feb 12 10:42 EMCPower.SOLARIS.4.5.0.tar
\-rwxr-xr-x 1 nobody nobody 2702848 Aug 24 2005 VRTSvlic.tar
\-rwxr-xr-x 1 nobody nobody 79499776 Aug 24 2005 VRTSvxfs.tar
drwxr-xr-x 2 root root 96 Feb 12 11:52 lost+found
drwx-----\- 2 root root 96 Feb 12 12:02 sdk
Now, I have removed the package EMCPower. Below o/p shows the list of devices before rescanning devices: bash-3.00# vxdisk list DEVICE TYPE DISK GROUP STATUS Disk_0 auto:none - - online invalid Disk_1 auto:none - - online invalid EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_0 auto - - error emcpower0s2 auto:none - - online invalid emcpower1s2 auto:none - - online invalid emcpower2s2 auto:sliced MP_Test01 MP_Test online emcpower3s2 auto:sliced MP_Test02 MP_Test online bash-3.00# vxprint \-t TestVolume Disk group: MP_Test V NAME RVG/VSET/CO KSTATE STATE LENGTH READPOL PREFPLEX UTYPE v TestVolume - ENABLED ACTIVE 41932800 SELECT - fsgen This change had taken place in format:
bash-3.00# echo \| format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c2t5006016939A039D1d0 <drive type unknown>
/pci@1e,600000/pci@0/pci@1/pci@0/pci@8/lpfc@2/fp@0,0/ssd@w5006016939a039d1,0
1. c2t5006016139A039D1d0 <drive type unknown>
/pci@1e,600000/pci@0/pci@1/pci@0/pci@8/lpfc@2/fp@0,0/ssd@w5006016139a039d1,0
2. c3t5006016B39A039D1d0 <drive type unknown>
/pci@1e,600000/pci@0/pci@1/pci@0/pci@8/lpfc@2,1/fp@0,0/ssd@w5006016b39a039d1,0
3. c3t5006016339A039D1d0 <drive type unknown>
/pci@1e,600000/pci@0/pci@1/pci@0/pci@8/lpfc@2,1/fp@0,0/ssd@w5006016339a039d1,0
4. c4t500000E016721B00d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/scsi_vhci/disk@g500000e016721b00
5. c4t500000E016723320d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/scsi_vhci/disk@g500000e016723320
6. c4t6006016016E71E00A8DE771C9AF7DD11d0 <DGC-RAID5-0326 cyl 32766 alt 2 hd 64 sec 10>
/scsi_vhci/ssd@g6006016016e71e00a8de771c9af7dd11
7. c4t6006016016E71E00ACBA29FE99F7DD11d0 <DGC-RAID5-0326 cyl 32766 alt 2 hd 64 sec 10>
/scsi_vhci/ssd@g6006016016e71e00acba29fe99f7dd11
8. c4t6006016016E71E00B4669D129AF7DD11d0 <DGC-RAID5-0326 cyl 32766 alt 2 hd 64 sec 10>
/scsi_vhci/ssd@g6006016016e71e00b4669d129af7dd11
9. c4t6006016016E71E0066325E069AF7DD11d0 <DGC-RAID5-0326 cyl 32766 alt 2 hd 64 sec 10>
/scsi_vhci/ssd@g6006016016e71e0066325e069af7dd11
Specify disk (enter its number): Specify disk (enter its number):
Rescanning devices and checking: bash-3.00# vxdisk scandisks bash-3.00# vxdisk list DEVICE TYPE DISK GROUP STATUS Disk_0 auto:none - - online invalid Disk_1 auto:none - - online invalid Disk_2 auto:sliced MP_Test02 MP_Test online Disk_3 auto:sliced MP_Test01 MP_Test online Disk_4 auto:none - - online invalid Disk_5 auto:none - - online invalid EMC_CLARiiON0_0 auto - - error EMC_CLARiiON0_1 auto - - error EMC_CLARiiON0_1 auto - - error EMC_CLARiiON0_1 auto - - error EMC_CLARiiON0_1 auto - - error EMC_CLARiiON0_1 auto - - error EMC_CLARiiON0_1 auto - - error EMC_CLARiiON0_2 auto - - error EMC_CLARiiON0_3 auto - - error Now, pseudo devices are gone. But the respective disks that were mapped to the pseudo devices are under DG as it was; and the volume on the disks is running fine and the data is intact.
bash-3.00# vxprint \-t TestVolume
Disk group: MP_Test
V NAME RVG/VSET/CO KSTATE STATE LENGTH READPOL PREFPLEX UTYPE
v TestVolume - ENABLED ACTIVE 41932800 SELECT - fsgen
bash-3.00# ls \-l /test
total 248446
-rw-r{-}{-}r-\- 1 root root 45000192 Feb 12 10:42 EMCPower.SOLARIS.4.5.0.tar
\-rwxr-xr-x 1 nobody nobody 2702848 Aug 24 2005 VRTSvlic.tar
\-rwxr-xr-x 1 nobody nobody 79499776 Aug 24 2005 VRTSvxfs.tar
drwxr-xr-x 2 root root 96 Feb 12 11:52 lost+found
drwx-----\- 2 root root 96 Feb 12 12:02 sdk
I now enabled MPXIO: bash-3.00# luxadm display /dev/rdsk/c4t6006016016E71E0066325E069AF7DD11d0s2 DEVICE PROPERTIES for disk: /dev/rdsk/c4t6006016016E71E0066325E069AF7DD11d0s2 Vendor: DGC Product ID: RAID 5 Revision: 0326 Serial Num: APM000749007 Unformatted capacity: 10240.000 MBytes Read Cache: Enabled Minimum prefetch: 0x0 Maximum prefetch: 0x0 Device Type: Disk device Path(s): /dev/rdsk/c4t6006016016E71E0066325E069AF7DD11d0s2 /devices/scsi_vhci/ssd@g6006016016e71e0066325e069af7dd11:c,raw Controller /devices/pci@1e,600000/pci@0/pci@1/pci@0/pci@8/lpfc@2,1/fp@0,0 Device Address 5006016b39a039d1,2 Host controller port WWN 10000000c95eb0c7 Class primary State ONLINE Controller /devices/pci@1e,600000/pci@0/pci@1/pci@0/pci@8/lpfc@2,1/fp@0,0 Device Address 5006016339a039d1,2 Host controller port WWN 10000000c95eb0c7 Class secondary State STANDBY Controller /devices/pci@1e,600000/pci@0/pci@1/pci@0/pci@8/lpfc@2/fp@0,0 Device Address 5006016939a039d1,2 Host controller port WWN 10000000c95eb0c6 Class primary State ONLINE Controller /devices/pci@1e,600000/pci@0/pci@1/pci@0/pci@8/lpfc@2/fp@0,0 Device Address 5006016139a039d1,2 Host controller port WWN 10000000c95eb0c6 Class secondary State STANDBY Errored disk list is flushed away, and the data is available.
bash-3.00# vxdisk list
DEVICE TYPE DISK GROUP STATUS
Disk_0 auto:none - - online invalid
Disk_1 auto:none - - online invalid
Disk_2 auto:sliced MP_Test02 MP_Test online
Disk_3 auto:sliced MP_Test01 MP_Test online
Disk_4 auto:none - - online invalid
Disk_5 auto:none - - online invalid
bash-3.00# ls \-l /test
total 248446
-rw-r{-}{-}r-\- 1 root root 45000192 Feb 12 10:42 EMCPower.SOLARIS.4.5.0.tar
\-rwxr-xr-x 1 nobody nobody 2702848 Aug 24 2005 VRTSvlic.tar
\-rwxr-xr-x 1 nobody nobody 79499776 Aug 24 2005 VRTSvxfs.tar
drwxr-xr-x 2 root root 96 Feb 12 11:52 lost+found
drwx-----\- 2 root root 96 Feb 12 12:02 sdk
Conclusion: Data that was created on pseudo devices will be available on the disks mapped to the pseudo devices, even after the EMC PowerPath is removed and MPXIO is enabled. Should you have any question or need more information on this please write it on http://unixarena.blogspot.com/ |