This document attempts to explain the steps required to validate that the EMC SRDF synchronization update has been refelected by VxVM when using DMP.
In this instance, the configuration consists of "4" EMC SRDF "R1" devices presented to production server "Dopey" from EMC Symmetrix id (SID) "822".
An additional "4" EMC SRDF "R2" devices have been presented to DR server "Bashful" from EMC Symmetrix ID (SID) "414".
Figure 1.0
Note: As of 5.0 MP3 onwards, the VxVM CLI command "vxdisk -e list" is capable of reporting the extended attribute based content for EMC BCV, BCV-NR, MIRROR, SRDF-R1, SRDF-R2, TDEV device states and EMC lun types.
In addition to the extended attribute content, the VxVM CLI "vxdisk" content can be customized with the use of additional attributes.
Dopey # vxdisk -pxh
VxVM vxdisk ERROR V-5-1-13920 Attribute "h" is not valid
The Supported Attributes :
DGID VID PID ANAME
ATYPE TPD_SUPPRESSED NR_DEVICE CAB_SERIAL_NO
LUN_SERIAL_NO PORT_SERIAL_NO CUR_OWNER LIBNAME
LUN_OWNER LUN_TYPE SCSI_VERSION REVISION
TPD_META_DEVNO TPD_META_NAME TPD_LOGI_CTLR TPD_PHY_CTLR
TPD_SUBPATH TPD_DEVICES ASL_CACHE ASL_VERSION
UDID ECOPY_DISK ECOPY_TARGET_ID ECOPY_OPER_PARM
DEVICE_TYPE DYNAMIC TPD_HIDDEN_DEVS LOG_CTLR_NAME
PHYS_CTLR_NAME DISK_GEOMETRY MT_SAFE FC_PORT_WWN
FC_LUN_NO HARDWARE_MIRROR TPD_CONTROLLED TPD_PARTITION_MAP
DMP_SINGLE_PATH DMP_VMDISK_IOPOLICY DDL_DEVICE_ATTR DDL_THIN_DISK
Example
The local server "Dopey" has a VxVM diskgroup named "DopeyDg" containing four SRDF R1 type luns.
1.] The disk contents are then replicated using EMC SRDF to the remote server "Bashful" for which has four corresponding SRDF R2 type luns.
Local:
Dopey # vxdisk -e list | grep srdf-r1
emc0_008c auto:cdsdisk r1-008C DopeyDg online c1t5006048C5368E580d266s2 srdf-r1
emc0_008d auto:cdsdisk r1-008D DopeyDg online c1t5006048C5368E5A0d223s2 srdf-r1
emc0_008e auto:cdsdisk r1-008E DopeyDg online c1t5006048C5368E5A0d229s2 srdf-r1
emc0_008f auto:cdsdisk r1-008f DopeyDg online c1t5006048C5368E580d269s2 srdf-r1
2.] During the SRDF synchronization process, VxVM on the remote server will not reflect the correct diskgroup/disk related content, until the SRDF related disks have been fully synchronized.
Dopey # symrdf -g DopeyDg query
Device Group (DG) Name : DopeyDg
DG's Type : RDF1
DG's Symmetrix ID : 000290300822 (Microcode Version: 5773)
Remote Symmetrix ID : 000290301414 (Microcode Version: 5773)
RDF (RA) Group Number : 11 (0A)
Source (R1) View Target (R2) View MODES
-------------------------------- ------------------------ ----- ------------
ST LI ST
Standard A N A
Logical T R1 Inv R2 Inv K T R1 Inv R2 Inv RDF Pair
Device Dev E Tracks Tracks S Dev E Tracks Tracks MDA STATE
-------------------------------- -- ------------------------ ----- ------------
DEV08C 008C RW 0 1788 RW 0072 WD 0 0 S.. SyncInProg
DEV08D 008D RW 0 0 RW 0073 WD 0 0 S.. Synchronized
DEV08E 008E RW 0 6434 RW 0074 WD 0 0 S.. SyncInProg
DEV08F 008F RW 0 4342 RW 0075 WD 0 0 S.. SyncInProg
Total -------- -------- -------- --------
Track(s) 0 12564 0 0
MB(s) 0.0 785.2 0.0 0.0
Legend for MODES:
M(ode of Operation): A = Async, S = Sync, E = Semi-sync, C = Adaptive Copy
D(omino) : X = Enabled, . = Disabled
A(daptive Copy) : D = Disk Mode, W = WP Mode, . = ACp off
Remote:
Bashful # vxdisk -e list | grep srdf-r2
emc1_0072 auto:none - - online invalid c1t5006048C536979A0d65s2 srdf-r2
emc1_0073 auto:none - - online invalid c1t5006048C536979A0d66s2 srdf-r2
emc1_0074 auto:none - - online invalid c1t5006048C536979A0d67s2 srdf-r2
emc1_0075 auto:none - - online invalid c1t5006048C536979A0d68s2 srdf-r2
3.] Once the SRDF synchronization process has completed, refresh the VxVM content on the remote host.
Synchronization complete
Local:
Dopey # symrdf -g DopeyDg query
Device Group (DG) Name : DopeyDg
DG's Type : RDF1
DG's Symmetrix ID : 000290300822 (Microcode Version: 5773)
Remote Symmetrix ID : 000290301414 (Microcode Version: 5773)
RDF (RA) Group Number : 11 (0A)
Source (R1) View Target (R2) View MODES
-------------------------------- ------------------------ ----- ------------
ST LI ST
Standard A N A
Logical T R1 Inv R2 Inv K T R1 Inv R2 Inv RDF Pair
Device Dev E Tracks Tracks S Dev E Tracks Tracks MDA STATE
-------------------------------- -- ------------------------ ----- ------------
DEV08C 008C RW 0 0 RW 0072 WD 0 0 S.. Synchronized
DEV08D 008D RW 0 0 RW 0073 WD 0 0 S.. Synchronized
DEV08E 008E RW 0 0 RW 0074 WD 0 0 S.. Synchronized
DEV08F 008F RW 0 0 RW 0075 WD 0 0 S.. Synchronized
Total -------- -------- -------- --------
Track(s) 0 0 0 0
MB(s) 0.0 0.0 0.0 0.0
Legend for MODES:
M(ode of Operation): A = Async, S = Sync, E = Semi-sync, C = Adaptive Copy
D(omino) : X = Enabled, . = Disabled
A(daptive Copy) : D = Disk Mode, W = WP Mode, . = ACp off
Remote:
Bashful # vxdisk scandisks
Bashful # vxdisk -e -o alldgs list | grep srdf-r2
emc1_0072 auto:cdsdisk - (DopeyDg) online c1t5006048C536979A0d65s2 srdf-r2
emc1_0073 auto:cdsdisk - (DopeyDg) online c1t5006048C536979A0d66s2 srdf-r2
emc1_0074 auto:cdsdisk - (DopeyDg) online c1t5006048C536979A0d67s2 srdf-r2
emc1_0075 auto:cdsdisk - (DopeyDg) online c1t5006048C536979A0d68s2 srdf-r2
4.] How to validate the UDID related content and SRDF relationships
The UDID (Unique Disk Identifier) is composed of the VID (Vendor ID), PID (Product ID), CAB_SERIAL_NO (Enclosure Serial Number) and LUN_SERIAL_NO (LUN serial number).
Note: The "udid" value represents the UDID from the DDL (Device Discovery Layer). The second "udid_asl" value represents the UDID that is held on disk.
Figure 2.0
Local:
Dopey # vxdisk -px UDID -x LUN_SERIAL_NO -x DDL_DEVICE_ATTR list | grep r1
emc0_008c 60060480000290300822533030303843 EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303843 srdf-r1
emc0_008d 60060480000290300822533030303844 EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303844 srdf-r1
emc0_008e 60060480000290300822533030303845 EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303845 srdf-r1
emc0_008f 60060480000290300822533030303846 EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303846 srdf-r1
The UDID values on the source LUNS will agree, whereas the UDID values on the target LUNS will disagree.
The reason being is that EMC SRDF will replicate a block-for-block copy of the source disk to that of the target disk.
Dopey # vxdisk -v list emc0_008c emc0_008d emc0_008e emc0_008f | egrep '(Device|udid)'
Device: emc0_008c
udid: EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303843
tag udid_asl=EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303843
Device: emc0_008d
udid: EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303844
tag udid_asl=EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303844
Device: emc0_008e
udid: EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303845
tag udid_asl=EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303845
Device: emc0_008f
udid: EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303846
tag udid_asl=EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303846
Note: The UDID values for the above source LUNS all agree as expected.
Remote:
Bashful # vxdisk -px UDID -x LUN_SERIAL_NO -x DDL_DEVICE_ATTR list | grep r2
emc1_0072 60060480000290301414533030303732 EMC%5FSYMMETRIX%5F000290301414%5F60060480000290301414533030303732 srdf-r2
emc1_0073 60060480000290301414533030303733 EMC%5FSYMMETRIX%5F000290301414%5F60060480000290301414533030303733 srdf-r2
emc1_0074 60060480000290301414533030303734 EMC%5FSYMMETRIX%5F000290301414%5F60060480000290301414533030303734 srdf-r2
emc1_0075 60060480000290301414533030303735 EMC%5FSYMMETRIX%5F000290301414%5F60060480000290301414533030303735 srdf-r2
Bashful # vxdisk -v list emc1_0072 emc1_0073 emc1_0074 emc1_0075 | egrep '(Device|udid)'
Device: emc1_0072
udid: EMC%5FSYMMETRIX%5F000290301414%5F60060480000290301414533030303732
tag udid_asl=EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303843 <<< differs
Device: emc1_0073
udid: EMC%5FSYMMETRIX%5F000290301414%5F60060480000290301414533030303733
tag udid_asl=EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303844 <<< differs
Device: emc1_0074
udid: EMC%5FSYMMETRIX%5F000290301414%5F60060480000290301414533030303734
tag udid_asl=EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303845 <<< differs
Device: emc1_0075
udid: EMC%5FSYMMETRIX%5F000290301414%5F60060480000290301414533030303735
tag udid_asl=EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303846 <<< differs
Note: As expected the UDID values on disk differ to what is held in the kernel/DDL. The UDID values stored on disk for the R2 devices correspond to those of the source luns (R1 devices).