Proper network design is very important to ensuring the highest availability between your storage array and your server. This design is important weither you are using a Fibre Channel SAN or an iSCSI SAN. The basic design is the same.
When you have those two HBAs (for the purposes of this post when I refer to an HBA I’m talking about an HBA for a fibre channel network or an iSCSI initiator for an iSCSI network) you don’t want to connect them to the same switch (when I refer to a switch in this article I’m talking about a Fibre Channel switch or an Ethernet switch depending on if you are using a fibre channel connection or an iSCSI array). Each HBA should be connected to a seperate switch. Each of those switches should be connected to at least two ports on the storage array, with one port being on each controller or the array (I’m assuming for this article that the storage array has two controllers on it, and that each array has two ports). This allows you to have four paths from the server to the storage array.
By having these four paths you have maximum availability of your storage. This will allow you to survive a switch failing or rebooting as well as a storage controller failing or rebooting. It will allow you to survive the failure of an HBA.
Some HBAs come with multiple ports on them. While these will save you a little money because you only have to purchase a single card. However if this card fails you will loose compleate access to the storage array. If you want to use the dual port cards, that’s fine as it will give you additional bandwidth between the server and the switches, but you should use two of these cards so that if one card fails (and cards to fail) the access to the storage array will remain online.