MPIO or multi-path is a mechanism to mitigate the effects of a failure (HBA failure, switch failure, …) by routing the storage traffic over an alternate path between the servers and the storage device.
In normal situations, the system is configured redundantly to avoid unneccesary point of failure. This means:
- redundant storage (at least 2 controllers);
- redundant fabrics;
- redundant host bus adapters;
This leads to the multiple paths between the storage and the host. These paths can be configured in a load-balanced approach. The following MPIO configuration is available (more information can be found here):
- RR: Round Robin;
- FO: Failover Only;
- RRS: Round Robin with Subset;
- DLQD: Least Queue Depth;
- WP: Weighted Paths;
- LB: Least Blocks.
Sometimes the MPIO configuration does not kick in or recover properly. Therefore it’s always recommended as a best-practice to execute some MPIO validations prior to a SAN intervention.
Verifying MPIO status on Linux Servers (system has 2 redundant paths):
LINUXHOSTNAME:~ # multipath -ll
3600000e00d1100000011189d00060000 dm-18 FUJITSU,ETERNUS_DXL
size=2.7T features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=50 status=active
| `- 11:0:1:4 sdo 8:224 active ready running
`-+- policy='round-robin 0' prio=10 status=enabled
`- 12:0:0:4 sdap 66:144 active ready running
Verifying MPIO status on Windows Servers (system has 4 redundant paths):
C:\Program Files\3PAR\MPIO>mpiocli.exe -info
3PAR MPIO Command Line Utility, Version 18.104.22.168
Copyright (C) 2007-2010 3PAR Inc. All rights reserved.
Current 3PAR Multipath I/O for Windows Version is 22.214.171.124
1 Q:\ 1629717 2(RoundRobin)
- 0x33020000 Active n/a
- 0x33020001 Active n/a
- 0x33030000 Active n/a
- 0x33030001 Active n/a
Thanks for reading.