I am using controller 1 for fabric A and controller 2 for fabric B. There have been discussions around having each controller connect to each fabric. My concern is that it only adds complexity and no real benefit.
Do you mean having both controllers connected to each fabric? It's good to have because if one fabric goes down, the remaining fabric still have access to both controllers.
I understand that if fabric A went down then fabric B would have access to both controllers if each controller spanned each fabric. Assuming that half the fabric was down would there really be much of a performance difference if only 1 controller was still accessible? Is it truely worth the added complexity and is there a document i can reference that says what the best practices are? Thanks
It depends on how fully utilizied the array is. There was a recent discussion on here about FC throughput: https://community.hitachivantara.com/thread/3605. The gist of it is that the total throughput of 4x 8Gb port card isn't actually 32Gb due to a limitation on the blackplane. So let's say you lose a fabric and all the connections to that fabric, the remaining ports might not be able to push the same amount of throughput even though there is a sufficient number of ports connected.
I haven't seen a HDS best practice document that is specifically on this topic. However, here's a paper on Hyper-V on Hitachi blades and storage that has a section on FC connectivity. Here it is: http://www.hds.com/assets/pdf/microsoft-hyper-v-recommended-practices-for-hitachi-compute-blade-2000-and-hus.pdf.
Note: I'm not a Hitachi tech, this is just my 2 cents:
I would suggest that what determines your setup is "how many paths does your server have to the disk".
If you have 2 paths, then you are forced to have one path per controller, and each path has to go to a different fabric. Simple.
If you have 4 paths, then you will setup two paths per controller. Only now do you have a choice whether the two paths coming from your single controller are connected to one fabric or to two fabrics. In this case, I would connect each controller to both fabrics because, well, why not? You get added redundancy for a little additional complexity.
If you're trying to decide whether to setup 2 paths or 4 paths, I would only setup 4 paths if I was forced to by some other hardware configuration issue or if you require 99.999% uptime instead of just 99.99%.
I've only setup 4 paths when I had to deal with virtual servers getting their I/O from two different physical I/O servers (each having 2 paths). Yes, it's more painful to configure than 2 paths, but it's far from unmanagable. For an I/O server, the decision to go for more pathways is simpler because you know you will be forcing multiple servers down each connection, and you may need the extra bandwidth.
You will notice that each of my I/O servers was setup with 2 paths each because it made more sense, and the virtual servers were setup with 4 paths because it made more sense. I don't believe you can justify spending money to get 4 pathways, but if you get them for free then it's silly not to use them.
One line summary: only use 4 paths if you need the bandwidth. If you have 4 paths, then each controller should hit both fabrics.
my standard is to separate each cluster on the arrays between each SAN fabric.
All odd # ports go to FabA
All even # ports go to FabB
At the host layer I try to do the same thing.
HBA1 go to FabA
HBA2 go to FabB
HBA3 go to FabA
HBA4 go to FabB
etc etc etc
Nowadays we have many ports on storage side, so for an enterprise storage box like HUS-VM or VSP I would rather connect both controllers to both fabrics. Having numbers and letters on ports makes this process easier to manage.
lets assume we have 16 ports on a HUS-VM,
A & B for each,
In my box I would connect all odd A ports and all even B ports to fabric 1, and even A ports and odd B ports to fabric 2. Management will be easy in this case. The pair of each port on Cluster 1 is the even one of the port. 1A&2A, 7B&8B, every pair is coming from different clusters and has connected to different fabrics. to connect 4 ports to a host you need to chose one A and one B port pairs.
That is all,
Retrieving data ...