Setting the MPIO Policy
Overview
The Multipath-IO (MPIO) Policy defines how the host distributes IOs across the available paths to the storage. The Round Robin (RR) policy distributes IOs evenly across all Active/Optimized paths and is the best practice for most environments. Least Queue Depth (LQD), is similar to RR in that IOs are distributed across all available Active/Optimized paths, however it provides some additional benefits. LQD will bias IOs towards paths that are servicing IO quicker (paths with lesser queues). In the event that one path becomes intermittently disruptive or is experiencing higher latency, LQD will prevent the utilization of that path reducing the effect of the problem path. In some situations, usually involving complex storage topologies using multiple hops between server and storage, LQD can cause some paths to be almost entirely avoided. This reduces maximum throughput and in those environments, RR may perform better. When attempting to maximize throughput, both RR and LQD should be tested to see which MPIO policy performs best.
The following are the options for the MPIO policy.
Parameter Value | Description |
---|---|
FOO | Fail Over Only |
RR | Round Robin |
LQD | Least Queue Depth |
LB | Least Blocks |
None | Any currently configured default load balance policy. |
Round Robin (RR) is the Pure Storage recommended best practice.
Viewing an individual Pure Storage FlashArray volume's multi-path disk device properties is only possible if a volume is connected using Fibre Channel or iSCSI. If there are not connected volumes to the Windows Server host review the following topics before proceeding:
- Setup iSCSI on Windows Server 2012, 2012 R2 and 2016
- Working with Volumes on a Windows Server 2008 R2 Host
- Working with Volumes on a Windows Server 2012, 2012 R2 or 2016 Host
It is possible to set the MPIO Policies using Windows PowerShell for the Windows Server host before any volumes are connected. If this is the case skip to the Using Windows PowerShell section.
Setup using Windows Disk Management
- Open Computer Management using the Tools menu in Server Manager. Select Disk Management from the left hand node tree. This will display the currently connected Logical Units (LUNs) to the Windows Server host.
- Right-Click on Disk 1 (or whatever Disk # represents the newly connected LUN) and select Properties from the menu. This will open the properties dialog for the PURE FlashArray Multi-Path Disk Device. Each of the device paths has a Path State of Active/Optimized.
Using Windows PowerShell
The below PowerShell shows running the Load Balance Policy cmdlet to retrieving the current Multipath-IO Policy. On a newly installed Windows Server running Get-MSDSMLocalDefaultLoadBalancePolicy results in None because no policy has been set as Multipath-IO has just been installed.
Retrieving the MPIO Policy
The next sections walkthrough each of these management tasks using the graphical user interface (GUI) or Windows PowerShell.
Get-MSDSMGlobalDefaultLoadBalancePolicy None
Setting the MPIO Policy
When setting the load balance policy the -Policy parameter provides a ValidateSet which includes the following:
When using the Windows PowerShell entering tab after the -Policy parameter will cycle through the different options.
The below PowerShell shows setting the new Multipath-IO Policy Load Balance Policy then retrieving it to ensure it was set properly.
PS C:\> Set-MSDSMGlobalDefaultLoadBalancePolicy -Policy RR PS C:\> Get-MSDSMGlobalDefaultLoadBalancePolicy RR
When configuring a single host that is connected to Pure Storage and DellEMC, please refer to the following article Windows Server MPIO and DellEMC PowerPath Coexistence.