Once you’ve setup a good redundant network design you need to invenst in some goo multi-pathing software to ensure that you are making the most of the redundant network that you have created.
Before you can choose a multi-pathing software you need to understand what the multi-pathing does. When you connect your server to the storage array using the redundant network design that I’ve prevsouly talked about you will have four paths between the storage array and the server. Without any multi-pathing software the server would see four copies of each volume on the server. So if you presented one LUN to the server, you would see that presented to the server as four drives on the server. You could then assign each one a different drive letter, but you would then need to manually change the drive letters around if a path failed. Because each path is its own drive letter at the server level you don’t get the ability to use more than one path at a time.
When you use multi-pathing software the software sits as a software package installed on the server which combines the multiple paths to the storage into a single volume which you can access. This allows for automatic failover between the paths. The higher end multi-pathing software will allow you to use those paths in an Active/Active configuration where other mulit-pathing software will only allow for an Active/Passive configuration.
When working with these multiple paths you need to remember that the storage array will only allow traffic to a LUN from one controller at a time. This means that one path to each HBA can access the LUN at a time. When the multi-pathing software is working in an Active/Passive configuration only one HBA at a time can be used. When the multi-pathing software is working in an Active/Active configuration both HBAs are used to access the LUN.
This Active/Active configuration allows you to maxamize the bandwidth available between the server and the storage array. If you have 4 Gig fibre links between the server and the switch, and from the switch to the storage array this would allow for up to 8 Gigs of bandwidth between the server and the storage array.
An additional bonus of good multi-pathing software is that you can see how much IO is going own each path in near real time. This can help you diagnose if you have a performance problem on your network topoligy such at a switch which can’t pass the traffic fast enough, or a cable which isn’t performing properly. While the multi-pathing software won’t tell you “Hey there’s a cable problem” but it will show errors on only the paths which are having problems. If there’s a problem with the cable then both paths which use that cable will show errors. If there’s a problem with the switch then both paths which go through that switch will show errors. This all applies to fibre channel SANs as well as iSCSI SANs.
There are several multi-pathing packages out there. Windows 2008 includes its own native multi-pathing software which can be installed via the Server Manager. This is considdered a lowerend multi-pathing softwar package as it allows for Active/Passive multi-pathing. My personal preference for multi-pathing software is EMC’s PowerPath software. It allows for Active/Active multi-pathing and allows you to see path by path how much IO is going through the path, as well as how many errors each path has.
While PowerPath is an EMC product it will work with any SAN platform. If your SAN platform or HBAs came with a multi-pathing software which only supports Active/Passive multi-pathing I’d highly recomend looking at getting PowerPath for your servers. PowerPath can be used on FibreChannel SANs or iSCSI SANs without issue.
Hopefully this will give you a better understanding of your storage network which we as DBAs rely on so much.