Step 02 -- Configuring Multipath-IO for Windows Server 2008/2008R2
- Last updated
- Save as PDF
Currently viewing public documentation. Please login to access the full scope of documentation.
Pure Storage no longer officially supports Windows Server 2008 or 2008R2 , which has reached end of support by Microsoft. Please refer to the Windows Server Catalog for version compatibility.
Overview
There are three Windows Server management tasks that need to be completed for the Pure Storage FlashArray volumes (LUNs) to work properly. The next sections walkthrough each of these management tasks using the graphical user interface (GUI) or Windows PowerShell.
3rd party Device Specific Modules (DSMs) will not claim Pure Storage FlashArray volumes. No 3rd party DSMs are supported. This includes EMC PowerPath, NetApp ONTAP DSM, HP 3PAR DSM or others.
Multipath-IO Devices
The Pure Storage FlashArray needs to be setup as an MPIO Device in order to support multi-pathing. See the Installing Multipath-IO section for more details.
Setting up MPIO using the Control Panel Applet for Fibre Channel
These steps work for Windows Server 2008 and 2008 R2 (Service Pack 1). The example provided in this section are taken from Windows Server 2008 R2.
1. Using the Control Panel double-click on the MPIO applet to open up the MPIO Properties dialog box.
Note: The MPIO applet can also be started from Start > Run mpiocpl.
2. Click Add to add a new device entry. Pay close attention to the instructions in the dialog box for string formatting. There should be 4 extra spaces after the capitalized word "PURE" and 6 extra spaces after the word "FlashArray".
3. Click OK. Adding the new MPIO device entry requires a reboot.
A Reboot Required dialog box will be displayed. Choose Yes or No depending on what other management or application tasks you are performing, but keep in mind that a reboot is required for the new MPIO device settings to take effect.
If you choose not to reboot immediately and click No. A success message will be shown after adding the new device entry.
4. MPIO for Fibre Channel (FC) on the Windows Server is completed.
Setting up MPIO using the Control Panel Applet for iSCSI
These steps work for Windows Server 2008 and 2008 R2 (Service Pack 1). The example provided in this section are taken from Windows Server 2008 R2.
1. To enable Add support for iSCSI devices in the MPIO Properties dialog and iSCSI connection and connected volume from the FlashArray need to be configured. Follow Setup iSCSI on Windows Server 2008 R2 and 2008 R2 (Service Pack 1) to configure iSCSI before proceeding to Step 6.
2. Once and iSCSI connection has been established use the Control Panel double-click on the MPIO applet to open up the MPIO Properties dialog box.
Note: The MPIO applet can also be started from Start > Run mpiocpl.
2. Click the Discover Multi-paths MPIO Properties dialog and select Discover Mulit-Paths. After selecting the tab you will see PURE FlashArray listed. Click Add support for iSCSI devices.
2. Click the MPIO Devices tab to add a new device entry. Click Add to add a new device entry.
3. Pay close attention to the instructions in the dialog box for string formatting. There should be 4 extra spaces after PURE and 6 extra spaces after FlashArray.
3. Click OK. Adding the new MPIO device entry requires a reboot.
A Reboot Required dialog box will be displayed. Choose Yes or No depending on what other management or application tasks you are performing, but keep in mind that a reboot is required for the new settings to take effect.
If you choose not to reboot immediately and click No. A success message will be shown after adding the new device entry.
4. MPIO for iSCSI on the Windows Server is completed.
Setting up MPIO using Windows PowerShell
Multipath-IO Timers
There are 5 MPIO Timer values that are required for use with a Pure Storage FlashArray for optimal performance. See MPIO Timers for full details. This section describes how to update these timer values specifically for Windows Server 2008 R2 and 2008 R2 Service Pack 1 as the methods differ from what can be accomplished with newer versions of Windows Server.
When changing the Mulitpath-IO timers, a Reboot is Required for the new settings to take effect.
Setting | Default | FlashArray | Definition |
---|---|---|---|
HKLM\ |
0 | 1 |
Flag that enables path verification by MPIO on all paths every N seconds (where N depends on the value set in PathVerificationPeriod). Type is boolean and must be filled with either 0 (disable) or 1 (enable). By default, it is disabled. |
HKLM\ |
40 | 20 |
Specifies a custom path recovery time, in seconds. This is the length of time before the server attempts path recovery. This parameter is not relevant unless the CustomPathRecovery parameter has the value Enabled. |
HKLM\ |
20 | 30 |
This setting controls the amount of time (in seconds) that the multipath pseudo-LUN will continue to remain in system memory, even after losing all paths to the device. When this timer value is exceeded, pending I/O operations will be failed, and the failure is exposed to the application rather than attempting to continue to recover active paths. This timer is specified in seconds. |
HKLM\ |
60
|
60 |
Specifies the disk timeout value, in seconds. This value is the length of time the server waits before it marks the I/O request as timed out. |
HKLM\ System\ CurrentControlSet\ Services\ MPIO\ Parameters\ PathVerifyEnabled |
Disabled | Enabled | Specifies whether to enable path verification. |
HKLM\ System\ CurrentControlSet\ Services\ MPIO\ Parameters\ PathVerificationPeriod |
30 | 30 | Specifies a path verification period, in seconds. This is the length of time for the server to verify every path. This parameter is not relevant unless the path verification state has a value of Enabled. |
Retrieving Current MPIO Timer Values
Using Windows PowerShell is the preferred method for setting the MPIO Timer values when managing Windows Server 2008 and 2008 R2.
Start a Windows PowerShell session and run the following.
This will return the current MPIO Timer values. On a newly installed Windows Server all of the default settings will be set as shown below.
Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\MPIO\Parameters' -Name 'UseCustomPathRecoveryInterval' Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\MPIO\Parameters' -Name 'PathRecoveryInterval' Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\MPIO\Parameters' -Name 'PDORemovePeriod' Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\Disk' -Name 'TimeoutValue' Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\MPIO\Parameters' -Name 'PathVerifyEnabled' Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\MPIO\Parameters' -Name 'PathVerificationPeriod' UseCustomPathRecoveryInterval : 0 PathRecoveryInterval : 40 PDORemovePeriod : 20 TimeOutValue : 60
Update MPIO Timer Values
The below PowerShell shows running Set-ItemProperty to set the values of the different registry keys. Once the new timer values have been set the previous method of retrieving the values can be run.
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\MPIO\Parameters' -Name 'UseCustomPathRecoveryInterval' -Value 1 Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\MPIO\Parameters' -Name 'PathRecoveryInterval' -Value 20 Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\MPIO\Parameters' -Name 'PDORemovePeriod' -Value 30 Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\Disk' -Name 'TimeoutValue' -Value 60 Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\MPIO\Parameters' -Name 'PathVerifyEnabled' -Value 1 Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\MPIO\Parameters' -Name 'PathVerificationPeriod' -Value 30