Problem
Device name consistency across multiple nodes with Storage Foundation 5.0 MP3
Solution
Storage Foundation enables consistent EBN (Enclosure Based Names) across nodes in a cluster or standalone servers connected to the same storage.
There is a compelling need for the device names to be consistent in a symmetric cluster (Cluster Volume Manager) configuration. For any shared meta-data update (CVM transaction), the CVM master is the coordinator for the update protocol.
If the system administrator generates a list of devices for the update from the slave and tries to start the meta-data update operation from the master, the master will either end up updating the configuration on the wrong set of devices or the operation will fail.
Storage Foundation 5.0 MP3 utilizes array-level attributes like LUN Serial Number and Array Volume ID (AVID) to provide a sorted list of devices with consistent naming across all nodes in the cluster. Since EBNs are tied to the array volume identifier(AVID), they are consistent across all the nodes connected to the same storage.
In the following example, the EMC CLARiiON devices can be seen from both nodes. However, the HDS AMS devices are unique to each node. This makes the life of the system and storage administrator far easier.
VxVM view of devices from server "dopey":
dopey # vxdisk -o alldgs list
DEVICE TYPE DISK GROUP STATUS
ams_wms0_20 auto:sliced - - online
ams_wms0_21 auto:sliced - - online
ams_wms0_22 auto:sliced - - online
ams_wms0_23 auto:cdsdisk - - online
ams_wms0_24 auto:cdsdisk - - online
ams_wms0_25 auto:cdsdisk - - online
disk_0 auto:sliced - - online
disk_1 auto:none - - online invalid
emc_clariion0_83 auto:sliced emc_clariion0_83 emcdg online
emc_clariion0_84 auto:sliced emc_clariion0_84 emcdg online
emc_clariion0_85 auto:cdsdisk emc_clariion0_85 emcdg online
emc_clariion0_86 auto:cdsdisk emc_clariion0_86 emcdg online
dopey # vxdmpadm listenclosure all
ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS ARRAY_TYPE LUN_COUNT
===================================================================================
disk Disk DISKS CONNECTED Disk 2
ams_wms0 AMS_WMS 75050205 CONNECTED A/A-A 6
emc_clariion0 EMC_CLARiiON CK200053300424 CONNECTED CLR-A/PF 4
VxVM view of devices from server "bashful":
bashful # vxdisk -e -o alldgs list
DEVICE TYPE DISK GROUP STATUS
ams_wms0_0014 auto:sliced ams_wms0_0014 hdsdg online
ams_wms0_0015 auto:sliced ams_wms0_0015 hdsdg online
ams_wms0_0016 auto:sliced ams_wms0_0016 hdsdg online
ams_wms0_0017 auto:cdsdisk ams_wms0_0017 hdsdg online
ams_wms0_0018 auto:cdsdisk ams_wms0_0018 hdsdg online
ams_wms0_0019 auto:cdsdisk ams_wms0_0019 hdsdg online
disk_0 auto:none - - online
disk_1 auto:none - - online invalid
emc_clariion0_83 auto:sliced - (emcdg) online
emc_clariion0_84 auto:sliced - (emcdg) online
emc_clariion0_85 auto:cdsdisk - (emcdg) online
emc_clariion0_86 auto:cdsdisk - (emcdg) online
bashful # vxdmpadm listenclosure all
ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS ARRAY_TYPE LUN_COUNT
===================================================================================
disk Disk DISKS CONNECTED Disk 2
ams_wms0 AMS_WMS 75050205 CONNECTED A/A-A 6
emc_clariion0 EMC_CLARiiON CK200053300424 CONNECTED CLR-A/PF 4
With VxVM 5.0 MP3 onwards, it is also possible to display the LUN_Serial_No content for disks presented to VxVM.
dopey# vxdisk -x LUN_SERIAL_NO -p list | grep ^emc
emc_clariion0_83 60060160113516006A6EABCA6400DB11
emc_clariion0_84 60060160113516006B6EABCA6400DB11
emc_clariion0_85 60060160113516006C6EABCA6400DB11
emc_clariion0_86 60060160113516006D6EABCA6400DB11
From server "bashful"
bashful# vxdisk -x LUN_SERIAL_NO -p list | grep ^emc
emc_clariion0_83 60060160113516006A6EABCA6400DB11
emc_clariion0_84 60060160113516006B6EABCA6400DB11
emc_clariion0_85 60060160113516006C6EABCA6400DB11
emc_clariion0_86 60060160113516006D6EABCA6400DB11
The LUN_Serial_No value reported in the second column is consistent across both servers, so in this instance indicates the same luns are presented to both hosts.
The AVID values make the device identification far easier, rather than having to refer to the LUN_Serial_No values.