Dear Axe,
Windows Microsoft Multi-Path IO (MPIO) allows storage vendors to develop multipathing solutions that contain the hardware-specific information needed to optimize connectivity with storage systems. MPIO can be used independently. This software helps balance loads among multiple paths, and implement path selection and failover between storage systems and hosts.
MPIO supports the following policy settings:
Failover Only
This policy does not perform load balancing. This policy uses a single active path, and the rest of the paths are standby paths. The active path is used for sending all I/Os. If the active path fails, then one of the standby paths is used. When the failed path is reactivated or reconnected, the standby path that was activated returns to standby.
Round Robin
This load balancing policy allows the Device Specific Module (DSM) to use all available paths for MPIO in a balanced way. This is the default policy that is chosen when the storage controller follows the active-active model and the management application does not specifically choose a load balancing policy.
Round Robin with Subset
This load balancing policy allows the application to specify a set of paths to be used in a round robin fashion, and with a set of standby paths. The DSM uses paths from a primary path pool for processing requests as long as at least one of the paths is available. The DSM uses a standby path only when all the primary paths fail. For example, given 4 paths: A, B, C, and D, paths A, B, and C are listed as primary paths and D is the standby path. The DSM chooses a path from A, B, and C in round robin fashion as long as at least one of them is available. If all three paths fail, the DSM uses D, the standby path. If paths A, B, or C become available, the DSM stops using path D and switches to the available primary paths.
Least Queue Depth
This load balancing policy sends I/O down the path with the fewest currently outstanding I/O requests. For example, consider that there is one I/O sent to LUN 1 on Path 1, and the other I/O is sent to LUN 2 on Path 1. The cumulative outstanding I/O on Path 1 is 2, and on Path 2 is 0. Therefore, the next I/O for either LUN will process on Path 2.
Weighed Paths
This load balancing policy assigns a weight to each path. The weight indicates the relative priority of a given path. The larger the number, the lower ranked the priority. The DSM chooses the least-weighted path from among the available paths.
Least Blocks
This load balancing policy sends I/O down the path with the least number of data blocks currently being processed. For example, consider that there are two I/Os: one is 10 bytes and the other is 20 bytes. Both are in process on Path 1, and there are no outstanding I/Os on Path 2. The cumulative outstanding amount of I/O on Path 1 is 30 bytes. On Path 2, it is 0. Therefore, the next I/O will process on Path 2.
Thanks.