Adding SAN LUNs from Different Arrays in VMware

One interesting thing that I ran across recently and I am surprised that I haven’t yet, is adding fiber channel LUN’s to one cluster from different arrays. As a storage guy I did some preliminary research on the deployment since there is very real possibility that I will wind up will multiple LUN ID’s that are the same on the cluster nodes like depicted here:

Everything looks fine, but upon further inspection the redundant paths are down!

Why? Well you can only have one LUN 0 and one LUN 1 on a single controller – (disk controller 101). Remember: Runtime Name is known as A:C:T:L or (Adapter:Controller:Target:LUN). They are all on the same controller!

To solve this, you can do one of two things.

1) The preferred method is to install or present (in the blade world) another set of HBA’s (host bus adapter) to the ESX host if you want to keep the same LUN ID’s and maintain path and card redundancy. This of course is only possible of you have the expansion slots or have not exceeded your maximums of virtual HBAs to the hosts. But what this will do is keep the I/O on its own path out of the host on a separate circuit.

2) Another way is to present the new LUN’s at a different ID and this will keep both paths active . But keep in mind that if you are only running two HBA’s on rack mount systems, you are contending for I/O on those paths. In the blade world its a little different since they are virtual HBA’s and share a common uplink out of the chassis to the fabric.