This document attempts to explain the steps required to import a BCV image of a SRDF (R1) device when using Veritas Volume Manager (VxVM) tags in connection with Veritas DMP as the multipathing driver.
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.
Note: The SRDF (R1) lun is in a write-enabled state at the time of the BCV split operation.
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
Steps:
In this instance, an EMC BCV image has been taken of the EMC SRDF lun "emc0_008c" to BCV lun "emc0_00f4"
1.] As the source EMC SRDF lun is already part of an existing EMC "DeviceGroup", a mapping file has been created containing the source and target LUN mappings.
# cat /bcv-mapping.txt
008C 00F4
The EMC SYMDEV reference in the first column is the source lun "008C", which relates to Veritas disk access (da) name "emc0_008c".
The EMC SYMDEV reference in the second column is the target lun "00F4" for the EMC BCV device, which relates to Veritas disk access (da) name "emc0_00f4".
2.] The EMC Symmetrix ID (SID) can be obtained from the Veritas DMP CLI command "vxdmpadm listenclosure all".
In this instance, the SID is " 000290300822" which can be shortened to just three characters in length "822".
Dopey # vxdmpadm listenclosure all
ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS ARRAY_TYPE LUN_COUNT
===================================================================================
emc0 EMC 000290300822 CONNECTED A/A 6
3.] The BCV copy is shown as " Synchronized " and so can be split.
Dopey # symmir -sid 822 -f /bcv-mapping.txt query
Device File Name : /bcv-mapping.txt
Device's Symmetrix ID : 000290300822
Standard Device BCV Device State
-------------------------- ------------------------------------- ------------
Inv. Inv.
Logical Sym Tracks Logical Sym Tracks STD <=> BCV
-------------------------- ------------------------------------- ------------
N/A 008C 0 N/A 00F4 0 Synchronized
Total ------- -------
Track(s) 0 0
MB(s) 0.0 0.0
Legend:
(*): The paired BCV device is associated with this group.
Note: The "-v" option can be specified with the "symmir query" operation to provide additional verbose output.
4.] Refresh the VxVM disk content.
The extended attribute content reported by VxVM CLI command "vxdisk -e list" can be refreshed by running "vxdisk scandisks"
Dopey # vxdisk scandisks
Dopey # vxdisk -e -o alldgs list
DEVICE TYPE DISK GROUP STATUS OS_NATIVE_NAME ATTR<<<< BCV lun in a Not-Ready (NR) state
emc0_00f4 auto - - error c1t5006048C5368E5A0d281s2 bcv-nr
emc0_00f5 auto:cdsdisk - - online c1t5006048C5368E580d275s2 bcv<<< SRDF lun is an "established" state with the BCV lun "emc0_00f4"
emc0_008c auto:cdsdisk r1-008C DopeyDg online c1t5006048C5368E580d266s2 mirror
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
Note: The EMC SRDF source lun "emc0_008c" will be shown in a "mirror" state by "vxdisk -e list", whilst established with the EMC BCV target lun "emc0_00f4".
The EMC BCV VxVM related diskgroup image cannot be imported until the BCV state has been "split". The BCV lun is in a Not-Ready (NR) state until split.
5.] The BCV lun can be split by running "symmir split".
Dopey # symmir -sid 822 -v -f /bcv-mapping.txt split
Execute 'Split' operation for the 1 specified device(s) in device file '/bcv-mapping.txt' (y/[n]) ? y
'Split' operation execution is in progress for the device list in device file '/bcv-mapping.txt'. Please wait...
SELECTING the list of Standard devices in the group:
Device: 008C [SELECTED]
SELECTING BCV devices associated with the group:
Device: 00F4 [SELECTED]
PAIRING of Standard and BCV devices:
Devices: 008C(S) - 00F4(B) [PAIRED]
STARTING a BCV 'SPLIT' operation.
The BCV 'SPLIT' operation SUCCEEDED.
'Split' operation successfully executed for the device list in device file '/bcv-mapping.txt'.
6.] The BCV lun state can be confirmed by running "symmir query"
Dopey # symmir -sid 822 -f /bcv-mapping.txt query
Device File Name : /bcv-mapping.txt
Device's Symmetrix ID : 000290300822
Standard Device BCV Device State
-------------------------- ------------------------------------- ------------
Inv. Inv.
Logical Sym Tracks Logical Sym Tracks STD <=> BCV
-------------------------- ------------------------------------- ------------
N/A 008C 0 N/A 00F4 0 Split
Total ------- -------
Track(s) 0 0
MB(s) 0.0 0.0
Legend:
(*): The paired BCV device is associated with this group.
7.] Following the "split" event, refresh VxVM by running "vxdisk scandisks"
Dopey # vxdisk scandisks
Update VxVM disk content
Dopey # vxdisk -e -o alldgs list
DEVICE TYPE DISK GROUP STATUS OS_NATIVE_NAME ATTR<<<< LUN state changed from "bcv-nr" to "bcv"
emc0_00f4 auto:cdsdisk - (DopeyDg) online udid_mismatch c1t5006048C5368E5A0d281s2 bcv
emc0_00f5 auto:cdsdisk - - online c1t5006048C5368E580d275s2 bcv<<<< LUN state changed from "mirror" to "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
8.] UDID content.
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.
Dopey # vxdisk -v list emc0_00f4 emc0_008c | egrep '(Device|udid)'
Device: emc0_00f4<<<< UDID from the DDL (kernel). The true UDID of the disk itself.
flags: online ready private autoconfig udid_mismatch autoimport
udid: EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030304634
tag udid_asl=EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303843 <<<< UDID matches that of the source LUN "emc0_008c"
Device: emc0_008c
udid: EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303843
tag udid_asl=EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303843
Note: The UDID values on the source LUN "emc0_008c" will agree, whereas the UDID values on the BCV target LUN will disagree.
The reason being is that the EMC BCV process will replicate a block-for-block copy of the source disk to that of the target disk.
9.] Associate a VxVM tag with the BCV lun.
Note: Product enhancements are now available in the latest patch levels for InfoScale 7.4.2.x and InfoScale 8.0.x removing the need for VxVM tags in some cases.
VxVM introduces a new vxdg option "-o usereplicatedev=only" to control the LUN selection criteria for hardware replicated devices, such as EMC SRDF and Hitachi TrueCopy.
In this instance, the EMC BCV lun is Veritas disk access (da) names "emc0_00f4".
Dopey # vxdisk settag emc0_00f4 bcv_DopeyDg
Confirm the VxVM tag has been set
Dopey # vxdisk listtag
DEVICE NAME VALUE -
emc0_00f4 bcv_DopeyDg
10.] Import the BCV VxVM diskgroup image using the defined VxVM tag and additional vxdg related options as show below.
In this instance, the **new** diskgroup name for the BCV image of the VxVM diskgroup "DopeyDg" will be named "bcv_DopeyDg".
Dopey # vxdg -n bcv_DopeyDg -o tag=bcv_DopeyDg -o useclonedev=on -o updateid import DopeyDg
VxVM vxdg WARNING V-5-1-560 Disk r1-008D: Not found, last known location: emc0_008d
VxVM vxdg WARNING V-5-1-560 Disk r1-008E: Not found, last known location: emc0_008e
VxVM vxdg WARNING V-5-1-560 Disk r1-008f: Not found, last known location: emc0_008f
When Veritas fencing is configured, additional vxdg import options "-o groupreserve=VCS" and "-C" to clear stale hostid information may be required:
Sample syntax:
Dopey # vxdg [-C] -n bcv_DopeyDg -o tag=bcv_DopeyDg -o useclonedev=on -o updateid -o groupreserve=VCS import DopeyDg
Note: As only a single disk is cloned (BCV'ed), the remainder of the disks associated with the source diskgroup image will be reported as "Not found, last known location:
Dopey # vxdisk -e -o alldgs list
DEVICE TYPE DISK GROUP STATUS OS_NATIVE_NAME ATTR<<<< BCV diskgroup image imported using new name "bcv_DopeyDg"
emc0_00f4 auto:cdsdisk r1-008C bcv_DopeyDg online clone_disk c1t5006048C5368E5A0d281s2 bcv
emc0_00f5 auto:cdsdisk - - online c1t5006048C5368E580d275s2 bcv
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
Note: The VxVM "clone_disk" attribute states that the device is a clone of another device. The "clone_disk" is set by the vxdg option "-o useclonedev=on".
Dopey # vxdisk -v list emc0_00f4 emc0_008c | egrep '(Device|udid)'
Device: emc0_00f4
udid: EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030304634
tag udid_asl=EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030304634
Device: emc0_008c
udid: EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303843
tag udid_asl=EMC%5FSYMMETRIX%5F000290300822%5F60060480000290300822533030303843
Note: The "UDID" related content for the BCV lun is synced as part of the import process, as a result of the vxdg option "-o updateid".
11.] Following the successful import process, the volume(s) will need to be started.
a.] Diskgroup content:
Dopey # vxprint -qhtg bcv_DopeyDg
dg bcv_DopeyDg default default 52000 1298401290.69.Dopey
dm r1-008C emc0_00f4 auto 65536 4058368 -
dm r1-008D - - - - NODEVICE
dm r1-008E - - - - NODEVICE
dm r1-008f - - - - NODEVICE
v vol01 - DISABLED ACTIVE 2097152 SELECT - fsgen
pl vol01-01 vol01 DISABLED ACTIVE 2097152 CONCAT - RW
sd r1-008C-01 vol01-01 r1-008C 0 2097152 0 emc0_00f4 ENA
b.] In this instance, VxVM volume "vol01" is started using the vxrecover command.
Dopey # vxrecover -g bcv_DopeyDg -bs
c.] Once the VxVM volume has been started, the filesystem can be mounted.
Note: Ensure the mount point for the filesystem exists, if not create it.
Dopey # mkdir /bcv_vol01
d.] Mount the vxfs filesystem.
Dopey # mount -F vxfs /dev/vx/dsk/bcv_DopeyDg/vol01 /bcv_vol01
UX:vxfs mount: ERROR: V-3-21268: /dev/vx/dsk/bcv_DopeyDg/vol01 is corrupted. needs checking
e.] Fsck required to mark the super-block as "clean". This is expected behaviour.
Dopey # fsck -F vxfs /dev/vx/rdsk/bcv_DopeyDg/vol01
log replay in progress
replay complete - marking super-block as CLEAN
Dopey # mount -F vxfs /dev/vx/dsk/bcv_DopeyDg/vol01 /bcv_vol01
f.] Confirm the filesystem has been mounted
Dopey # df -k /bcv_vol01
Filesystem kbytes used avail capacity Mounted on
/dev/vx/dsk/bcv_DopeyDg/vol01
1048576 17753 966403 2% /bcv_vol01
Dopey # ls /bcv_vol01
hosts lost+found nsswitch.conf vfstab
Note: The defined VxVM tag is removed/deleted when the BCV lun is reestablished.