Hi there,
On the San configuration guide, on page 96, ( http://www.vmware.com/pdf/vi3_301_201_san_cfg.pdf ) ;
"Balancing loads among available paths improves performance. You can set up your system to use different paths to different LUNs by changing the preferred path for the different HBAs. This is possible only for active/active SPs,[/b] and requires that you have path policy set to Fixed. "
Please, correct me if I am wrong but could I set up two ports per storage processor (4 ports in total - four paths per LUN) on a Clariion CX series(active/passive array)[/b] and use two HBAs per host as a possible way to improves performance by "manual" load balancing to use different paths to different LUNs?
Thanking you in advance,
rgds,
J.
yes this is possible. Ideally this will be two seperate fabrics and you then set the preferred path at the storage controller level rather than within ESX when setting up an active/active array
hth
Thanks a lot mate, I need a confirmation. Don't you think VMware should amend the official documentation to avoid future misunderstanding?
thanks,
rgds
J.
No because doing what's suggested there is in fact a decrease performance and increased load instead of balancing.
Let me explain:
On an Active/Active Array a LUN is able to be read/written two by either controller. Thus spreading your hosts across both controllers for that LUN will result in a load spread across active controllers and a potential improvement of performance.
On an Active/Passive Array a LUN is "owned" by only one controller at a time, which means only one controller can read/write to the LUN. The passive controller can access the LUN but only by passing the I/O across the internal backplane to the active controller. This results in an effect doubling of I/O to the array as both controllers effectively have to process the I/O.
ESX is dangerous to active/passive arrays because of this, for a normal server that may be attached to dual controllers the controller is smart enough to move the active controller to the one the normal host is accessing. For ESX because mutliple servers are hitting both active and passive at the same time it has no option but to pass the I/O across the back plane.
So don't have multiple hosts spread across controllers for the same LUN. By all means balance LUNs to active controllers, eg. LUN1 Controller 1, all hosts to controller 1 for LUN1, LUN2 Controller 2, all hosts to controller 2.
On an Active/Active Array a LUN is able to be read/written two by either controller.
That is only true, if you have a very expensive cache-centric mainframe box.
On most midrange arrays, that look like 'active/active', an internal storage container (logical/virtual disk, RAID-set, ...) is still owned by one controller. Unlike 'active/passive' arrays, the other controller DOES forward I/Os to the owning controller.
The 'passive' controller in an 'active/passive' array DOES NOT pass over I/Os - it responds with a NOT READY status. It does present SCSI LUNs, however, so that the failover software on the host 'knows' about redundant paths.
On an Active/Active Array a LUN is able to be read/written two by either controller.
That is only true, if you have a very expensive
cache-centric mainframe box.
Yup, they are the only True Active/Active Arrays and that's what the document is referring to.
On most midrange arrays, that look like
'active/active', an internal storage container
(logical/virtual disk, RAID-set, ...) is still owned
by one controller. Unlike 'active/passive' arrays,
the other controller DOES forward I/Os to the owning
controller.
Yes they look active/active but are really active/passive with some smarts.
The 'passive' controller in an 'active/passive' array
DOES NOT pass over I/Os - it responds with a NOT
READY status. It does present SCSI LUNs, however, so
that the failover software on the host 'knows' about
redundant paths.
These are pretty rare these days (at least to buy new) and these are the most problematic for ESX if using fixed path balancing and can lead to "path thrashing", so if anyone has one of these stick to MRU and you'll be fine.
Yup, they are the only True Active/Active Arrays and that's what the document is referring to.
I have to disagree with you as I read the document differently. Let me highlight:
""You can set up your system to use different paths[/b] to different LUNs[/b] by changing the preferred path for the different HBAs. This is possible only for active/active SPs""
To me, this includes storage arrays which use proxy controller technology.
...
These are pretty rare these days
It's a 'dying species', yes, but not everybody buys a brand-new storage array for his environment
Thanks guys for your prompt reply and help on this.
For what I have been gathering an active/passive array is where one controller is only active and the second controller acts as a standby. I think we all agreed on that.
However my point was that even thought the Dell|EMC arrays are in essence "active/pasive" still both controllers can host LUNs and act as a failover controller for the other controller and both controllers can own different LUNs (kinda "active/active" array at the back end) allowing to do manual load balancing within ESX but please correct me if I am wrong
Thanks,
rgds
J.
I think we all agreed on that.
No, sorry
There are two 'levels' of active/passive.
The lowest is, for example, an HP MSA1000 with A/P software is what you describe first: one controller is active and serves all logical disks. The other is 'standby' - it also presents the logical disks so that the multipath component in the operating system knows about redundant paths. In case of a failover, however, ALL logical disks are transfered for management by the second controller.
The next level is what you describe next: different 'logical disks' (EMC unfortunately does not differentiate between the internal storage container and the external representation, calls both LUNs and gives them even different numbers, if I understand that correctly....) can be owned by different controllers. One controller does the disk I/O for one container at a time. The other controller presents the paths as well, but disk I/O is not possible.
The next level is active/active, although the technical term is asymetrical A/A. The non-owning controller accepts I/O commands, but does not process them directly - it forwards them to the owning controller.
The next level is (expensive) active/active which is found in mainframe class storage arrays. Here, both controllers can process physical disk I/O.
On the cx series of SAN (I have both a cx500 and a cx700) the only properly supported method is to use MRU and not to use Fixed.
When I first setup my environment I thought fixed made alot of sense and grasshopper quickly provided me with the information on why not to do that.
This statement is pretty correct - Dell|EMC arrays are in essence "active/pasive" still both controllers can host LUNs and act as a failover controller for the other controller and both controllers can own different LUNs (kinda "active/active" array at the back end)
Technically you can load balance per LUN just by having every alternate LUN on a different SP but I think thats SAN load balancing not Fabric load balancing...