Veritas Volume Manager (VxVM) 6.0 includes a product enhancement for which permits the use of "vxddladm -c assign names" when dmp_native_support is enabled. This enhanced functionality has been back ported to VxVM 5.1 SP1 RP2 P2 HF1 for Solaris only.
The below commands were not allowed whilst dmp_native_support is “on” .
- vxdmpadm setattr dmpnode <> name=<>
- vxdmpadm setattr enclosure <> name=<>
- vxddladm [-c] assign names
- vxddladm excludearray
# vxddladm get namingscheme
NAMING_SCHEME PERSISTENCE LOWERCASE USE_AVID
============================================================
Enclosure Based Yes Yes Yes
# vxddladm set namingscheme=ebn use_avid=yes persistence=no
VxVM vxddladm ERROR V-5-1-15950 Cannot change
naming-scheme/persistence/lowercase/use_avid values as OS native support is
enabled on some DMP devices.
The reason for this is that the the dmp_native_support solutions relies on the device name for the mapping between the native volume and underlying devices. Therefore its required that the names of the underlying DMP devices do NOT change.
Product Enhancement (Etrack 2061082) now enables the user to remove the stale (0xffff) entries from the /etc/vx/disk.info and /etc/vx/array.info using the "vxddladm -c assign names" command.
Example
The following steps remove EMC SYMDEV “emc0_02c1” (not part of an active zpool) from a Solaris server whilst dmp_native_support is turned on.
Note: The following process is not possible prior to 6.0.
# vxdmpadm gettune all
Tunable Current Value Default Value
------------------------------ ------------- -------------
dmp_cache_open on on
dmp_daemon_count 10 10
dmp_delayq_interval 15 15
dmp_restore_state enabled enabled
dmp_fast_recovery on on
dmp_health_time 60 60
dmp_log_level 1 1
dmp_low_impact_probe on on
dmp_lun_retry_timeout 0 0
dmp_path_age 300 300
dmp_pathswitch_blks_shift 9 9
dmp_probe_idle_lun on on
dmp_probe_threshold 5 5
dmp_restore_cycles 10 10
dmp_restore_interval 300 300
dmp_restore_policy check_disabled check_disabled
dmp_retry_count 5 5
dmp_scsi_timeout 30 30
dmp_sfg_threshold 1 1
dmp_stat_interval 1 1
dmp_monitor_ownership on on
dmp_native_multipathing off off
dmp_monitor_fabric on on
dmp_monitor_osevent on on
dmp_native_support on off <<<<<<
# vxdmpadm settune dmp_native_support=on
Tunable value will be changed immediately
# vxdmpadm native ls
DMPNODENAME POOL NAME
=============================================
disk_0 -
emc0_02bf symc13
emc0_02c0 symc13
emc0_02c1 -
emc0_02c2 -
emc0_02c3 -
emc0_02c4 -
emc0_02c5 -
emc0_02c6 -
# vxdisk rm emc0_02c1
# grep -i 02c1 /etc/vx/disk.info
EMC%5FSYMMETRIX%5F000290300822%5F22002C1000 c1t5006048C5368E580d368 0x4c00018 0x2 emc0_02c1 EMC 000290300822
SYMCLI commands
# symmask -sid 822 -wwn 200000017301bbeb remove devs 02c1 -dir 1c -p 0
# symmask -sid 822 -wwn 200000017301bbeb remove devs 02c1 -dir 1c -p 1
# symmask -sid 822 refresh
Refresh Symmetrix FA/SE directors with contents of SymMask database 000290300822 (y/[n]) ? y
Symmetrix FA/SE directors updated with contents of SymMask Database 000290300822
# symcfg -sid 822 discover
Attempting discovery of Symmetrix 000290300822
This operation may take up to a few minutes. Please be patient...
Solaris commands
# cfgadm -alo show_FCP_dev | grep -i unus
c1::5006048c5368e580,368 disk connected configured unusable
c1::5006048c5368e5a0,367 disk connected configured unusable
# cfgadm -o unusable_FCP_dev -c unconfigure c1::5006048c5368e580
# cfgadm -o unusable_FCP_dev -c unconfigure c1::5006048c5368e5a0
# devfsadm -Cvc disk
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E580d368s7
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E5A0d367s5
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E5A0d367s2
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E580d368s0
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E580d368s4
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E5A0d367s6
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E5A0d367s1
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E580d368s3
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E5A0d367s3
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E580d368s1
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E580d368s6
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E5A0d367s4
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E5A0d367s0
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E580d368s2
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E580d368s5
devfsadm[8005]: verbose: removing file: /dev/rdsk/c1t5006048C5368E5A0d367s7
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E580d368s3
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E5A0d367s1
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E5A0d367s6
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E580d368s4
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E580d368s0
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E5A0d367s2
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E5A0d367s5
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E580d368s7
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E5A0d367s7
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E580d368s5
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E580d368s2
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E5A0d367s0
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E5A0d367s4
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E580d368s6
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E580d368s1
devfsadm[8005]: verbose: removing file: /dev/dsk/c1t5006048C5368E5A0d367s3
# grep 0xff /etc/vx/disk.info
EMC%5FSYMMETRIX%5F000290300822%5F22002C1000 c1t5006048C5368E580d368 0xffffffff 0x2 emc0_02c1 EMC 000290300822
# vxdisk scandisks
# grep 0xff /etc/vx/disk.info
EMC%5FSYMMETRIX%5F000290300822%5F22002C1000 c1t5006048C5368E580d368 0xffffffff 0x2 emc0_02c1 EMC 000290300822
Even with active Solaris zpools online, with SF 6.0 it is now possible to remove 0xffff entries from the /etc/vx/disk.info file using the intended "vxddladm -c assign names" for luns that are not part of a Solaris zpool.
# vxddladm -c assign names
# grep 0xff /etc/vx/disk.info
# vxdmpadm native ls
DMPNODENAME POOL NAME
=============================================
disk_0 -
emc0_02bf symc13
emc0_02c0 symc13
emc0_02c2 -
emc0_02c3 -
emc0_02c4 -
emc0_02c5 -
emc0_02c6 -
Note: emc0_02c1 is no longer listed.