The GUI applet for the MS iSCSI Initiator is a bit confusing and sort of runs you in a circle. I prefer PowerShell instead.
Be sure to install the MPIO feature.
I believe this is the more modern and performant way to multipath with Windows vs the legacy "Multiple Connected Sessions."
Supposedly higher performance can be obtained by running Connect-IscsiTarget multiple times to establish parallel connections on each interface. I've tried it and found zero benefit. Perhaps useful in a busy multiuser environment with more parallelism?
Be sure to install the MPIO feature.
Code:
Add-WindowsFeature -Name Multipath-IO -IncludeManagementTools -Verbose
Code:
Connect to an iSCSI Target:
# Replace the below with your initiator and target IPs
$init1 = "192.168.3.254"
$targ1 = "192.168.3.61"
$targport1 = "3260"
$init2 = "192.168.4.254"
$targ2 = "192.168.4.61"
$targport2 = "3260"
# Make initial discovery:
New-IscsiTargetPortal -InitiatorPortalAddress $init1 -TargetPortalAddress $targ1 -TargetPortalPortNumber $targport1 -Verbose
New-IscsiTargetPortal -InitiatorPortalAddress $init2 -TargetPortalAddress $targ2 -TargetPortalPortNumber $targport2 -Verbose
# Add MPIO support for a new hardware type:
New-MSDSMSupportedHW -VendorId MSFT2005 -ProductId iSCSIBusType_0x9 -Verbose
# Make the connections:
Get-IscsiTarget | Connect-IscsiTarget -InitiatorPortalAddress $init1 -TargetPortalAddress $targ1 -IsMultipathEnabled $true -IsPersistent $true -Verbose -TargetPortalPortNumber $targport1
Get-IscsiTarget | Connect-IscsiTarget -InitiatorPortalAddress $init2 -TargetPortalAddress $targ2 -IsMultipathEnabled $true -IsPersistent $true -Verbose -TargetPortalPortNumber $targport2
# Set default MPIO policy to "Least Blocks"
# Some experimentation is required -- round robin is often slightly better...
Set-MSDSMGlobalDefaultLoadBalancePolicy -Policy LB -Verbose
# Make MPIO functionality automatic for new devices:
Enable-MSDSMAutomaticClaim -BusType iSCSI -Verbose
# Verify:
Get-MSDSMAutomaticClaimSettings
Supposedly higher performance can be obtained by running Connect-IscsiTarget multiple times to establish parallel connections on each interface. I've tried it and found zero benefit. Perhaps useful in a busy multiuser environment with more parallelism?