Path Selection on Solaris

The Solaris I/O multipathing features select the best paths to access Oracle FS System LUNs.

Path selection is based on three factors:

The path optimization state depends on whether the LUN is currently homed on the Controller to which the path is connected. An optimized path is a path that connects through the Controller where the LUN is resident or homed. A non-optimized path is a path that connects through to a Controller where the LUN is not resident (homed) on the that Controller. Optimized paths are always preferred, but if an optimized path is not available, the non-optimized path is used temporarily for I/O traffic.

Path performance is determined by how quickly and reliably a path transfers I/O traffic to and from a LUN.

Path availability is determined by the ability of the path to transfer I/O traffic. An available path is fully functional; however, if the path stops working, the path is considered unavailable.

These factors determine how the paths to each Oracle FS System LUN are divided into groups.

The Solaris I/O multipathing features group the paths in the following order of preference:

For each LUN, the currently configured load balancing algorithm is used to select paths from the most preferred group that has paths available. Only paths from a single group are used at any one time.

When an active path fails, I/O traffic is transferred to a different path. I/O performance is reduced for a short time while the operating system recognizes the failure and makes the path transfer. After the path transfer is complete, I/O performance improves.

If the failed path is optimized and the new path is non-optimized, I/O performance can continue to be reduced after path transfer because a lower-performance path is in use. Within a few minutes of traffic being transferred to a non-optimized path, the Oracle FS System attempts to move the LUN to the appropriate Controller for path optimization. After transfer to an optimized path succeeds, I/O performance improves.