In a fabric, what would be the affect of having multiple HBAs in the same zone?
I assume you mean all the HBAs are in the SAME server connected to a single zone.
The answer to this depends on two things:
1) The storage vendor equipment provides a means of LUN masking by World Wide Name in the storage arrays connected to that zone.
2) There is some sort of path filter driver on the host to enable fail over to visible LUNs.
Without LUN security on the array, and there are other servers in the same zone, there is good chance your data will become corrupt, especially if NT is in the environment, as NT likes to grab everything it sees and writes a signature on the disks.
Without a filter driver that provides a means of active/active or active/passive LUN sharing, then you'll probably see each LUN twice, once for each path to the device. You can test this on NT by installing two adapters in a system and connecting to an array. Run disk admin and viola! There's going to be a lot of drives there... On Solaris, there is a greater degree of control via the SD.conf file listings.
Most path fail over software is meant to be used with SEPERATE connections to separate fabrics in a SAN. This provides a high degree of confidence that if someone trips over a cable, or an HBA or switch fails, there is still automatic access to the storage.
Usually path load balancing occurs by assigning separate individual LUNS to each path, such as in a database solution, using one path to the log drive and the other to the database itself. This will give you an effective throughput of 200MB per second for I/O access and separate the sequential transaction log I/O from the random database I/O.
Large Unix systems like the Sun UE10000 or Compaq Wildfire solutions tend to use multiple HBA paths into the SAN in order to increase overall throughput of applications and this is sometimes necessary as those systems provide a means of separating the box into virtual "domains" of processing, each one with it's own assigned I/O path.
So the short answer to your question would be if you are using LUN security at the array end, and have a path fail over filter driver on the server side, you will be getting faster throughput. I know TROIKA HBAs can coexist in the same zone and provide load balancing across up to six adapters in a single system. I hope this answers your question.