For a test lab with two servers we currently have running, I requested two test LUNs. One LUN coming from an IBM DS and the other from an HP EVA. The SAN team gave me the LUNs and I could see them on both servers.
The output from esxcfg-mpath -l, a new command in ESX 3 to list paths, shows the following for a server.
Disk vmhba0:0:0 /dev/cciss/c0d0 (69459MB) has 1 paths and policy of Fixed
Local 4:1.0 vmhba0:0:0 On active preferred
Disk vmhba0:1:0 /dev/cciss/c0d1 (140006MB) has 1 paths and policy of Fixed
Local 4:1.0 vmhba0:1:0 On active preferred
RAID Controller (SCSI-3) vmhba1:0:0 (0MB) has 2 paths and policy of Most Recently Used
FC 12:1.0 10000000c9576168<->50001fe1500157fd vmhba1:0:0 On active preferred
FC 12:1.0 10000000c9576168<->50001fe1500157f9 vmhba1:1:0 Standby
Disk vmhba1:0:1 /dev/sda (512000MB) has 2 paths and policy of Most Recently Used
FC 12:1.0 10000000c9576168<->50001fe1500157fd vmhba1:0:1 Standby preferred
FC 12:1.0 10000000c9576168<->50001fe1500157f9 vmhba1:1:1 On active
Disk vmhba1:0:2 /dev/sdb (512000MB) has 2 paths and policy of Most Recently Used
FC 12:1.0 10000000c9576168<->50001fe1500157fd vmhba1:0:2 Standby preferred
FC 12:1.0 10000000c9576168<->50001fe1500157f9 vmhba1:1:2 On active
No problem here so I created two VMFS volumes: ESXSAN01 and ESXSAN02.
When I refreshed the volumes on the second server, the VMFS volumes did not show. The vmkernel log file showed the following:
Sep 29 10:11:44 xs401551 vmkernel: 7:01:44:48.051 cpu3:1038)LVM: 5670: Device vmhba1:0:1:1 is a snapshot:
Sep 29 10:11:44 xs401551 vmkernel: 7:01:44:48.051 cpu3:1038)LVM: 5676: disk ID: <type 2, len 22, lun 1, devType 0, scsi 3, h(id) 14189849040130868952>
Sep 29 10:11:44 xs401551 vmkernel: 7:01:44:48.051 cpu3:1038)LVM: 5678: m/d disk ID: <type 2, len 22, lun 2, devType 0, scsi 3, h(id) 14189849040130868952>
The second server refuses to mount the VMFS volume because it is detected as a snapshot. A volume is detected as a snapshot when the LUN IDs are different among servers. In this case, LUN1 on the first server was LUN2 on the second.
This is actually some new behaviour introduced with ESX 3.0. In ESX 2.x, having different LUN IDs was not an issue. To revert back to ESX 2.x behaviour, set LVM.DisallowSnapshotLUN=0. The option is set with the VI Client, in the Configuration page of a server, Advanced Settings.
From the moment you set the above option and refresh your storage, you will see the VMFS volumes on the second server.
This new behaviour was introduced because it is now possible to present a SAN snapshot of a LUN back to the same server. The new resignature feature will write a new signature to the snapshot LUN and give it a new volume name. This is handy in recovery scenarios but you have to set another advanced option to enable the feature. See the SAN guide for more info.
As a best practice, you should actually present the same LUN IDs to each server. How this is done depends entirely on your SAN and its configuration.
NOTE: when you revert to ESX 2.x behaviour using the option described above, do not present a snapshot LUN to ESX. Unless you want to test your DR procedures of course. :-)



