On Linux, suppressed device (path) name re-used for another device after reboot

book

Article ID: 100034316

calendar_today

Updated On:

Description

Error Message

There is no error message.

Cause

On Linux, OS device name isn't persistent and it's by design.
VxVM suppressed devices infomation recoreded old device name, so we need to be careful not to confuse suppressed devices and non-suppressed devices.

Resolution


For example,
  1)  Suppress devices from VxVM view by using vxdiskadm command  (vxdiskadm -> select 17  --> select 2 ).
      
# vxdiskadm
Volume Manager Support Operations
Menu:: VolumeManager/Disk
 1      Add or initialize one or more disks
 2      Encapsulate one or more disks
   :
   :
 16     Make a disk available for hot-relocation use
 17     Prevent multipathing/Suppress devices from VxVM's view 
 18     Allow multipathing/Unsuppress devices from VxVM's view
   :
   :
 ?      Display help about menu
 ??     Display help about the menuing system
 q      Exit from menus
 
Select an operation to perform: 17

Exclude Devices
Menu:: VolumeManager/Disk/ExcludeDevices
 
  VxVM  INFO V-5-2-5950
This operation might lead to some devices being suppressed from VxVM's view
(This operation can be reversed using the vxdiskadm command).
 
Do you want to continue ? [y,n,q,?] (default: y)
 
 
Volume Manager Device Operations
Menu:: VolumeManager/Disk/ExcludeDevices
 
 1      Suppress all paths through a controller from VxVM's view
 2      Suppress a path from VxVM's view
 3      Suppress disks from VxVM's view by specifying a VID:PID combination
 4      Suppress all paths to a disk
 5      Prevent multipathing of all disks on a controller by VxVM
 6      Prevent multipathing of a disk by VxVM
 7      Prevent multipathing of disks by specifying a VID:PID combination
 8      List currently suppressed devices
 
 ?      Display help about menu
 ??     Display help about the menuing system
 q      Exit from menus
 
Select an operation to perform: 2
   :
   :
   :  
Enter a pathname or pattern : [,all,list,list-exclude,q,?] list
PATH       (DMPNODE)
----       ---------
sda        sda
sdb        sdb
sdan       disk_0
sdt        disk_0
sdw        disk_0
sdam       disk_1
sdr        disk_1
sdu        disk_1
sdaa       disk_2
sdap       disk_2
sdx        disk_2
sdag       disk_3
sdf        disk_3
sdi        disk_3
sdao       disk_4
sdv        disk_4
sdy        disk_4
sdah       disk_5
sdh        disk_5
sdk        disk_5
sdab       disk_6
sdad       disk_6
sdar       disk_6
sdae       disk_7
sdc        disk_7
sdd        disk_7
sdac       disk_8
sdaq       disk_8
sdz        disk_8
sdaf       disk_9
sde        disk_9
sdg        disk_9
sdak       disk_10
sdn        disk_10
sdq        disk_10
sdal       disk_11
sdo        disk_11
sds        disk_11
sdai       disk_12
sdj        disk_12
sdm        disk_12
sdaj       disk_13
sdl        disk_13
sdp        disk_13
Hit RETURN to continue.
 
    Select  sdac/sdaq/sdz  and suppress disk_8 from VxVM's view, then /etc/vx/vxvm.exclude file recoreded those path names.


# more /etc/vx/vxvm.exclude
exclude_all 0
paths
sdac pci-0000:03:00.1-fc-0x23110002ac007071-lun-101 3pardata0_0_98
sdaq pci-0000:03:00.0-fc-0x22120002ac007071-lun-101 3pardata0_0_98
sdz pci-0000:03:00.0-fc-0x20120002ac007071-lun-101 3pardata0_0_98

#
controllers
#
product
#

    2) reboot then Linux OS device(path) name could be changed

     sdz and sdac was used for disk_8 but after reboot those are used for disk_1 and disk_11.
#vxdmpadm getsubpaths all
NAME         STATE[A]   PATH-TYPE[M] DMPNODENAME  ENCLR-NAME   CTLR           ATTRS      PRIORITY
=================================================================================================
sdab         ENABLED(A)   -          disk_0       disk         c3              -         -
sdad         ENABLED(A)   -          disk_0       disk         c4              -         -
sdaj         ENABLED(A)   -          disk_0       disk         c5              -         -
sdaa         ENABLED(A)   -          disk_1       disk         c4              -         -
sdag         ENABLED(A)   -          disk_1       disk         c5              -         -
sdz          ENABLED(A)   -          disk_1       disk         c3              -         -
sdt          ENABLED(A)   -          disk_10      disk         c4              -         -
sdu          ENABLED(A)   -          disk_10      disk         c3              -         -
sdy          ENABLED(A)   -          disk_10      disk         c5              -         -
sdac         ENABLED(A)   -          disk_11      disk         c5              -         -
sdw          ENABLED(A)   -          disk_11      disk         c3              -         -
sdx          ENABLED(A)   -          disk_11      disk         c4              -         -
sdn          ENABLED(A)   -          disk_12      disk         c3              -         -
sdo          ENABLED(A)   -          disk_12      disk         c4              -         -
sds          ENABLED(A)   -          disk_12      disk         c5              -         -
sdq          ENABLED(A)   -          disk_13      disk         c4              -         -
sdr          ENABLED(A)   -          disk_13      disk         c3              -         -
sdv          ENABLED(A)   -          disk_13      disk         c5              -         -
sdah         ENABLED(A)   -          disk_2       disk         c3              -         -
sdam         ENABLED(A)   -          disk_2       disk         c5              -         -
sdap         ENABLED(A)   -          disk_2       disk         c4              -         -
sdh          ENABLED(A)   -          disk_3       disk         c3              -         -
sdi          ENABLED(A)   -          disk_3       disk         c4              -         -
sdm          ENABLED(A)   -          disk_3       disk         c5              -         -
sdae         ENABLED(A)   -          disk_4       disk         c3              -         -
sdaf         ENABLED(A)   -          disk_4       disk         c4              -         -
sdal         ENABLED(A)   -          disk_4       disk         c5              -         -
sdk          ENABLED(A)   -          disk_5       disk         c3              -         -
sdl          ENABLED(A)   -          disk_5       disk         c4              -         -
sdp          ENABLED(A)   -          disk_5       disk         c5              -         -
sdak         ENABLED(A)   -          disk_6       disk         c3              -         -
sdao         ENABLED(A)   -          disk_6       disk         c5              -         -
sdar         ENABLED(A)   -          disk_6       disk         c4              -         -
sdc          ENABLED(A)   -          disk_7       disk         c4              -         -
sdd          ENABLED(A)   -          disk_7       disk         c3              -         -
sdf          ENABLED(A)   -          disk_7       disk         c5              -         -
sde          ENABLED(A)   -          disk_9       disk         c3              -         -
sdg          ENABLED(A)   -          disk_9       disk         c4              -         -
sdj          ENABLED(A)   -          disk_9       disk         c5              -         -
sda          ENABLED(A)   -          sda          other_disks  c2              -         -
sdb          ENABLED(A)   -          sdb          other_disks  c2              -         -
#
 
   3) try to unsuppress or suppress paths again by using vxdiskadm command.
       pathname "list" and "list-exclude" showed same device (path) names for multiple devices.

Enter a pathname or pattern : [,all,list,list-exclude,q,?] list
PATH       (DMPNODE)
----       ---------
sda        sda
sdb        sdb
sdab       disk_0
sdad       disk_0
sdaj       disk_0
sdaa       disk_1
sdag       disk_1
sdz        disk_1
sdah       disk_2
sdam       disk_2
sdap       disk_2
sdh        disk_3
sdi        disk_3
sdm        disk_3
sdae       disk_4
sdaf       disk_4
sdal       disk_4
sdk        disk_5
sdl        disk_5
sdp        disk_5
sdak       disk_6
sdao       disk_6
sdar       disk_6
sdc        disk_7
sdd        disk_7
sdf        disk_7
sde        disk_9
sdg        disk_9
sdj        disk_9
sdt        disk_10
sdu        disk_10
sdy        disk_10
sdac       disk_11
sdw        disk_11
sdx        disk_11
sdn        disk_12
sdo        disk_12
sds        disk_12
sdq        disk_13
sdr        disk_13
sdv        disk_13
Hit RETURN to continue.
 
 
 
Enter a pathname or pattern : [,all,list,list-exclude,q,?] list-exclude
Devices excluded from VxVM:
--------------------------
 
Paths :         sdac             sdaq             sdz
 
Controllers : None
 
VID:PID : None
 
--------------------------


 So we need to check /etc/vx/vxvm.exclude file and confirm which device (path) we want to suppress or unsuppress again.
 
 

Issue/Introduction

On linux, OS device name isn't persistent, so there is the possibility that same device (path) name could be used for another device even though that device is suppressed from VxVM's view.