Veritas Volume Manager 5.1 SP1 RP2 P2 HF1 (Solaris) is now able to refresh the contents of the /etc/vx/disk.info and array.info (using vxddladm -c assign names) when dmp_native_support is enabled

book

Article ID: 100007407

calendar_today

Updated On:

Description

Error Message


# vxddladm assign names

VxVM vxddladm ERROR V-5-1-15685  This operation cannot be done when native stack
support is enabled for one or more dmpnodes

Cause

Product enhancement was required to run "vxddladm -c assign names" when dmp_native_support is enabled.

 * Incident no::2618727  Tracking ID ::2061082

Symptom::"vxddladm -c assign names" command does not work if dmp_native_support tunable is enabled.

Description::If dmp_native_support tunable is set to "on" then VxVM does not allow change in name of dmpnodes. This holds true even for device with native support not enabled like VxVM labeled or Third Party Devices. So there is no way for selectively changing name of devices for which native support is not enabled.

Resolution::This enhancement is addressed by code change to selectively change name for devices with native support not enabled.
 

Resolution

Please contact Veritas Support to obtain the Veritas Volume Manager 5.1 SP1 RP2 P2 HF1 hot-fix.


Applies To

Solaris

Issue/Introduction

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.    

Additional Information

ETrack: 2061082