Veritas Volume Manager 5.1 SP1 RP2 will automatically tag diskgroups with version 140 or higher with clone_disk attribute following a vxdg deport and import operation
Problem
Following an upgrade to Veritas Volume Manager 5.1 SP1 RP2, diskgroups with version 140 or higher are tagged with the clone_disk attribute regardless of the LUN type (non-cloned disks are impacted).
Etrack: e2165394 - CLONE: dg imported by selecting wrong disks. After destroying original dg, when try to import clone devices without useclonedev option with dgname, then it import dg with original disks.
Overview: In e2165394, the USECLONEDEV flag is set implicitly for diskgroup import operations where the dgname -> dgid mapping is retrieved as a cloned disk. Similarly, if no original disk is found during the disk join operation, the USECLONEDEV flag is set implicitly during the dg import process. This leads to unintended conversion of the “ udid_mismatch ” flag, triggering the “ clone_disk ” flag to set incorrectly if all disks in the diskgroup report the “ udid_mismatch ” flag (due to ASL changes, or where the LSN length has changed).
Fix: Explicit and implicit setting of USECLONEDEV is identified and used in further decision making during flag changes. The “ clone_disk ” flag is to be set only if USECLONEDEV is specified explicitly i.e. using '-o useclonedev =on' option or where the user has manually executed the “ vxdisk updateudid < da -name>” command against a disk for which is not related to an imported diskgroup at the time.
We are also combining another related fix in the same incident. For older diskgroup version (dg version < 140) where the USECLONEDEV flag gets set due to above mentioned scenarios, a license error is displayed during the dg_import_finish () code path. The license error occurs since the USECLONEDEV import is not supported for older diskgroups .
Fix: In order to fix this, dg version check is added while setting USECLONEDEV flag on dg record.
Cause
Product Defect reference:
Etrack 2621923: dg ver 140 disk attribute clone_disk is reported following a vxdg deport and import operation
(Parent Etrack is 2553729 - Pinnacle: Install_Upgrade: Status of the EMC Clariion disk changed to "online clone_disk" after upgrade from 5.0MP1P4-6.0)
LSN CODE CHANGE:
The udid creation logic remains the same: vid, '_', pid, '_', cab_serial_no, '_', lun_serial_no, however, with VxVM 5.1 we changed the lookup location of the LUN_SERIAL_NO(LSN) for EMC luns. Where the 5.1 version of the ddlemc.c ASL now retrieves the LSN from the same disk location that LSN matches with the one displayed by the EMC syminq interface. Changing the LSN will change the UDID make-up, thus, triggering a udid_mismatch between the VxVM versions.
Etrack: 1456374 – DDL: EMC Symmetrix ASL needs to report the LSN that is shown by SymCLI
Currently the LUN serial number displayed by VxVM utilities for an EMC Symmetrix device does not match with that reported by the array management CLI (symcli). This needs to be addressed so as to allow better communication between the system and storage administrators.
The LSN is now being generated as follows using the vxscsiinq data for the specified EMC lun :
Bytes 36 & 37 of Page 0 + '0' + AVID (Bytes 132-135 of page 0) + Bytes 41-43 of page 0
Solution
VxVM 5.1 SP1 RP2 P2 HF5 for Solaris addresses this code regression issue, whereby the clone_disk is set in the correct circumstances.
Please contact Veritas to obtain this hot-fix.
Applies To
How to reproduce the issue
Diskgroup is created using VxVM 5.0 MP3 and a diskgroup version of "140", the diskgroup is then deported.
Example
# vxdisksetup -fi emc0_0054
# vxdisksetup -fi emc0_0055
# vxdg init 50MP3dg emc0_0054 emc0_0055
# vxdisk -o alldgs list | grep 50MP3
emc0_0054 auto:cdsdisk emc0_0054 50MP3dg online
emc0_0055 auto:cdsdisk emc0_0055 50MP3dg online
# vxdg list 50MP3dg
Group: 50MP3dg
dgid: 1321883761.47.rdgv240sol13
import-id: 1024.46
flags: cds
version: 140
alignment: 8192 (bytes)
ssb: on
autotagging: on
detach-policy: global
dg-fail-policy: dgdisable
copies: nconfig=default nlog=default
config: seqno=0.1028 permlen=48144 free=48140 templen=2 loglen=7296
config disk emc0_0054 copy 1 len=48144 state=clean online
config disk emc0_0055 copy 1 len=48144 state=clean online
log disk emc0_0054 copy 1 len=7296
log disk emc0_0055 copy 1 len=7296
The diskgroup is then deported and the VxVM version is upgraded to 5.1 SP1 RP2.
# vxdg deport 50MP3dg
# vxdisk -o alldgs list | grep 50MP3
emc0_0054 auto:cdsdisk - (50MP3dg) online
emc0_0055 auto:cdsdisk - (50MP3dg) online
Following the VxVM upgrade to 5.1 SP1 RP2, the diskgroup is imported and automatically tagged with the "clone_disk" attribute.
# modinfo | grep vx
31 7ba98000 50ca8 288 1 vxdmp (VxVM 5.1SP1RP2 DMP Driver)
33 7a200000 21c708 289 1 vxio (VxVM 5.1SP1RP2 I/O driver)
35 7afa8f80 1190 290 1 vxspec (VxVM 5.1SP1RP2 control/status d)
210 7abfd180 d40 291 1 vxportal (VxFS 5.1_SP1RP2 portal driver)
211 7be00000 202170 21 1 vxfs (VxFS 5.1_SP1RP2 SunOS 5.10)
# vxdisk -o alldgs list | grep 50MP3dg
emc0_0054 auto:cdsdisk - (50MP3dg) online
emc0_0055 auto:cdsdisk - (50MP3dg) online
# vxdg import 50MP3dg
The diskgroup now inherits the "clone_disk" attribute for no valid reason:
# vxdisk -o alldgs list | grep 50MP3dg
emc0_0054 auto:cdsdisk emc0_0054 50MP3dg online clone_disk
emc0_0055 auto:cdsdisk emc0_0055 50MP3dg online clone_disk
EMC Lun Serial Number (LSN) differences between 5.0 MP3 and 5.1 SP1 RP2
EMC LSN long with 5.0 MP3
EMC LSN short with 5.1 SP1 RP2
Example for 5.0 MP3 RP5 HF1
# modinfo | grep vx
29 13b85a8 43940 290 1 vxdmp ( VxVM 5.0MP3RP5HF1: DMP Driver)
31 7be00000 214320 291 1 vxio ( VxVM 5.0MP3RP5HF1 I/O driver)
33 7bff2d68 c78 292 1 vxspec ( VxVM 5.0MP3RP5HF1 control/ statu )
# vxdisk -x LUN_SERIAL_NO -p list emc0_0054 emc0_0055
DEVICE LUN_SERIAL_NO
emc0_0054 60060480000290300822533030303534
emc0_0055 60060480000290300822533030303535
Example for 5.1 SP1 RP2 P2
# modinfo | grep vx
29 1358948 50c90 288 1 vxdmp ( VxVM 5.1SP1RP2P2 DMP Driver)
30 7be00000 21ce58 289 1 vxio ( VxVM 5.1SP1RP2P2 I/O driver)
32 13a2c00 1190 290 1 vxspec ( VxVM 5.1SP1RP2P2 control/status)
206 7ae29050 d40 291 1 vxportal ( VxFS 5.1_SP1RP2 portal driver)
207 7aa00000 202170 21 1 vxfs ( VxFS 5.1_SP1RP2 SunOS 5.10)
# vxdisk -x LUN_SERIAL_NO -p list emc0_0054 emc0_0055
DEVICE LUN_SERIAL_NO
emc0_0054 2200054000
emc0_0055 2200055000
Figure 1.0