HP-UX itself is a bit odd in how it handles Persistent Ports, so I would make sure to read the
HP-UX Implementation Guide (particularly page 13).
There seems to be some confusion in the above posts—it should be noted that following best practices, you create pairs of links, with each link on a separate fabric. Assuming you have a typical dual-fabric setup, you would connect all the odd-numbered ports to the first fabric, and all the even-numbered ports to the second fabric. Then each host will connect one link in each pair over each fabric.
Here's my rules when setting up pairs of links:
* Pick a node pair, either nodes 0&1 or 2&3 (NOT nodes 0&2, 0&3, 1&2, or 1&3)
* In that node pair, pick an odd port for your A fabric, then an even port for your B fabric
on the other node in the pairExample (assuming a 7400 4-node, with only on-board FC ports):
* 3PAR ports 0:1:1, 1:1:1, 2:1:1, 3:1:1 connect to Fabric A
* 3PAR ports 0:1:2, 1:1:2, 2:1:2, 3:1:2 connect to Fabric B
* I pick to use 3PAR nodes 2&3 for my node pair
* In that node pair, I pick port 3:1:1 for my fabric A connection
* Because of the above choices, I now have to pick 2:1:2 for my fabric B connection. If I had more ports available, I could pick any available even-numbered port on node 2.
If HBA1 connects to Fabric A, and HBA2 connects to Fabric B, then:
* HBA1 -> Fabric A -> 3:1:1
* HBA2 -> Fabric B -> 2:1:2
With this, I'm creating two zones, one on each fabric. Because my FC switches support NPIV and I zone by WWPN, I can transparently use Persistent Ports—which fails a port to its identically-numbered partner in on the other node. In the above scenario, if port 3:1:1 fails, the WWPN will move to port 2:1:1, and because I zone by WWPN (not by switch port), I don't have to create a second zone for HBA1 to 2:1:1. If Fabric A fails, well, that's why you have Fabric B.
If I wanted to add more links to the host, I would then follow the same procedure above on the other node pair. For example:
* HBA3 -> Fabric A -> 0:1:1
* HBA4 -> Fabric B -> 1:1:2
In my environment, VMware, Windows, Solaris and Linux all seem to handle this design just fine.