MPIO CONFIGURATION in windows server 2012r2

Jacob Glassman
Jacob Glassman used Ask the Experts™
on
Hi experts ,
we have windows servers 2012 R2 running SQL cluster my problem is how to check that MPIO is properly configured or not? is there any way to find that is working fine?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Commented:
How are you connecting up to the SAN?  If SAS, go into your SAN configuration manager and view the host identifiers.  If you have two in there (assuming you've connected 2 SAS ports per host), then its doing its job.

If you're connected via iSCSI, go into the iSCSI configuration, go to the session and select "Devices", in there you can set the MPIO.
Ben Personick (Previously QCubed)Lead SaaS Infrastructure Engineer

Commented:
Powershell is my preferred method to check the nitty gritty as you can also change it through that method and it offers more control than the GUI.


I'm just going to go grab a script I wrote to do the needful and post it back after sanitizing some of the info.
##### iSCSI Settings Check:
## Uncomment the following Lines if you need to check iSCSI Setup:

# Set-Service -Name msiscsi -StartupType Automatic
#Start-Service msiscsi
# $InterfaceAliases=$(Get-NetAdapter | Get-NetIPAddress -AddressFamily ipv4 | ?{$_.IPAddress -match "192.168.7" -or $_.InterfaceAlias -match "iSCSI"}).InterfaceAlias
# $InterfaceAliases=$(Get-NetAdapter |  ?{$_.InterfaceAlias -match "10G_e" -or $_.InterfaceAlias -match "iSCSI" }).InterfaceAlias
# Get-iSCSIConnection | FT -Property ConnectionIdentifier, InitiatorAddress, TargetAddress -Auto
# Get-iSCSISession | FT -property IsPersistent, IsConnected, SessionIdentifier, InitiatorPortalAddress -Auto
# Get-iSCSITargetPortal | FT -Auto
# Get-NetAdapterAdvancedProperty | ? {$_.Name -in $InterfaceAliases -AND $_.Displayname -match "Jumbo" } | FT -Auto

##### MPIO Check - Regardless of iSCSI or SAN:
"Hardware:
----------------"
Get-MPIOAvailableHW| FT -Auto
"
MIPIO Settings:
------------------------`n`n 
Setting                   :  Value"
Get-MPIOSetting| FT -Auto
"
Auto-Claim Settings:"
Get-MSDSMAutomaticClaimSettings| FT -Auto
"
Load balancing Policy:"
Get-MSDSMGlobalDefaultLoadBalancePolicy| FT -Auto
"
Supported Hardware:"
Get-MSDSMSupportedHW |FT -Auto

$WhatIfPreference=$True

## Un-comment the Next line if you want to change MPIO to best practices:

# $WhatIfPreference=$False

#####  Enable MPIO and change the Settings
Enable-WindowsOptionalFeature –Online –FeatureName MultiPathIO
Get-Command -Module mpio
Enable-MSDSMAutomaticClaim -BusType iSCSI
Enable-MSDSMAutomaticClaim -BusType SAS
Set-MSDSMGlobalDefaultLoadBalancePolicy -Policy RR
Set-MPIOSetting -NewDiskTimeout 60
Set-MPIOSetting -NewPathVerificationState "enabled"

$WhatIfPreference=$False

Open in new window

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial