White Papers
Windows Server single-path and MPIO configuration recommendations for SC Series storage
34 Dell EMC SC Series Storage and Microsoft Multipath I/O | CML1004
A.6 PowerShell script
The following PowerShell script is provided as-is, with no warranty or guarantee of any kind implied, to set the
recommended registry settings on Windows Server 2008 R2 or newer. The user assumes all risks for the use
of, or results of using, this script.
For hosts configured to use front-end SAS, the registry key RetryCount needs to be modified per Table 4.
Make this change manually or modify the following script to make the change.
For hosts configured with iSCSI, the script below does not enable RFC1323 timestamps, disable Nagle’s
Algorithm, or disable NIC Interrupt Modulation (see section A.5). Make these changes manually.
Note: Evaluate this script in a test environment before attempting to use it in production. Modifications to the
script may be needed before it will work correctly in your environment.
# MPIO Registry Settings script
# This script will apply recommended Dell Storage registry settings
# on Windows Server 2008 R2 or newer
#
# THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND.
# THE ENTIRE RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE
# REMAINS WITH THE USER.
# Assign variables
$MpioRegPath = "HKLM:\SYSTEM\CurrentControlSet\Services\mpio\Parameters"
$IscsiRegPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Class\"
$IscsiRegPath += "{4d36e97b-e325-11ce-bfc1-08002be10318}\000*"
# General settings
Set-ItemProperty -Path $MpioRegPath -Name "PDORemovePeriod" `
-Value 120
Set-ItemProperty -Path $MpioRegPath -Name "PathRecoveryInterval" `
-Value 25
Set-ItemProperty -Path $MpioRegPath -Name "UseCustomPathRecoveryInterval" `
-Value 1
Set-ItemProperty -Path $MpioRegPath -Name "PathVerifyEnabled" `
-Value 1
# Apply OS-specific general settings
$OsVersion = ( Get-WmiObject -Class Win32_OperatingSystem ).Caption
If ( $OsVersion -match "Windows Server 2008 R2" )
{
New-ItemProperty –Path $MpioRegPath –Name "DiskPathCheckEnabled" –Value 1 `
–PropertyType DWORD `
–Force
New-ItemProperty –Path $MpioRegPath –Name "DiskPathCheckInterval" –Value 25`
–PropertyType DWORD `
–Force
}
Else
{
Set-ItemProperty –Path $MpioRegPath –Name "DiskPathCheckInterval" –Value 25
}