Stumbled upon an interesting misconfiguration which is making me curious about how the boot from SAN primary/secondary method functions.
Array has a boot LUN for a server at targets available as LUN ID 1 across all targets.
Boot policy for a vHBA has correct target WWPNs, but the primary connection has LUN ID 0. The secondary connection has LUN ID 1.
In this case LUN ID 0 is an array control LUN which obviously is not a boot LUN.
Then the secondary vHBA has the same configuration, two targets configured with correct WWPN but primary has the wrong LUN ID.
What's strange to me is that the server is currently powered on and booted from the boot LUN.
Looking online it appears that primary/secondary doesn't necessarily denote order, but I thought that the failure condition for primary/secondary was that the target was offline or LUN wasn't accessible. So I'm curious:
1. If a boot attempt is made at an active target, the LUN ID is wrong, but it references a valid LUN (e.g. a blank LUN or datastore LUN), will the system move to another target?
2. If a boot attempt is made at an active target but the LUN ID is either invalid (doesn't exist) or inaccessible (I think in our case with the array control LUN), will the system move to another target?
Before I believed that in these cases the answer was no, that it would only move to another target if the connection wasn't made (e.g. array port or fabric side port down). However it appears that isn't the case unless the system happened to boot from the secondary in all cases (misconfiguration is across multiple profiles).