KNOWLEDGE BASE
Save as PDF
Knowledge Base Article: 000197623
VNXe3200: Configure MPIO on Windows for iSCSI LUNs(000197623)
Version:4
Audience: Level 30 = Customers Article Type: How To
Last Published: Mon Mar 02 13:29:11 GMT 2015 Validation Status: Final Approved
Summary: Stepbystep howto document to configure MPIO on Windows Server 2008 and 2012 to use with VNXe3200 iSCSI LUNs.
Goal: To configure Windows Server 2008 (R2) and Windows Server 2012 (R2) to use multiple network paths (MPIO) to connect to iSCSI storage LUNs on VNXe3200.
Issue: Multi Path I/O (MPIO) is a feature that provides redundancy for network connectivity. In the event of failure in a network path, MPIO will automatically select alternate
path to reach storage device. Windows Server 2008 and Windows Server 2012 have inbuilt MPIO feature which works with Fibre Channel, iSCSI or SAS shared
storage. Alternatively, external software (like EMC PowerPath) can be used to manage multiple paths to storage subsystem.
For complete information about EMC PowerPath, visit https://www.emc.com/storage/powerpath/powerpath.htm
For MPIO to work you need two or more network interfaces (IP addresses) configured on Windows host and also on VNXe. It is recommended to put these IP address
in different subnets (broadcast domains) for further redundancy, however it is not mandatory.
Refer to the " Settings and configuration > Manage storage servers > Create an iSCSI interface" topic in the Unisphere online help for creating IP interface to use with
iSCSI. The ‘Create iSCSI Network Interface’ wizard allows you to create two interfaces – one each per SP. Each interface you create per port will carry unique port IQN.
These IQN will help you identify the port on which SP it belongs to. For example, the last two characters in this IQN iqn.199204.com.emc:cx.fnm00xxxxxxxxx.a0 says
that it belongs to eth2 port on SPA. Similarly if it is ‘b1’ it means it belongs to eth3 port on SPB.
In Windows MCS (Multiple Connected Session) will also provide load balancing and fault tolerance against link failures. However, MCS is not a suitable multipath
solution for VNXe3200. MPIO is more robust and reliable since it uses Device Specific Modules (DSM). DSM is storage vendor specific and provides better control over
storage array. For more information on MCS refer to this blog http://technet.microsoft.com/enus/magazine/ff679916.aspx
Environment: Product:VNXe2 Series
Product:VNXe3200
Resolution: MPIO Prerequisites:
Configure Windows Server 2008/2012 with at least two network adapters with an IP address each.
Configure iSCSI server on VNXe with two or more IP interfaces.
Start iSCSI initiator service on Windows server
Here is the overview of configuration steps:
1. Install MPIO
2. Configure iSCSI initiator for multipathing
3. Configure it for iSCSI storage
4. Change registry values
5. Configuring MPIO in Microsoft Failover Cluster
I. Install MPIO
On a Windows Server 2008:
1. Open Server Manager
2. Right click on Features and select Add Features
3. In Add Features Wizard, tick the box for Multipath I/O and click Next
4. Click Next on confirmation window.
5. Once installation completes click on Close.
On a Windows server 2012:
1. Open Server Manager
2. In the Dashboard click on Add roles and Features
3. Select ‘Rolebased or featurebased installation’ and click Next
4. Select ‘Select a server from the server pool’ and click on the server name and click Next.
5. If you are seeing Roles list, click Next again to go to Features list. Tick the box for Multipath I/O and click Next.
6. Click on Install and close on completion.
II. Configuring iSCSI Initiator with multiple paths:
When iSCSI initiator is opened for the first time in Control Panel, it may prompt you to start the service, click yes to start iSCSI service. Before we start configuring iSCSI
initiator on Windows host we should understand how iSCSI connectivity works in VNXe3200. This model has block level implementation of iSCSI target. You just create
interfaces for iSCSI (be it Ethernet or FC) on each SP. Though you can have single interface for iSCSI, it is recommended to create one interface on each SP. When SP
fails, the LUN is trespassed and it is accessible from peer SP’s IP interface.
Refer to ‘Using a VNXe3200 System with Fibre Channel (FC) or iSCSI LUNs’ document on https://support.emc.com for more details on configuring iSCSI on other OS.
Follow these steps to configure iSCSI initiator with multiple paths to iSCSI target on VNXe3200: (same steps apply to both Windows Server 2008 and 2012)
1. Open iSCSI initiator and click on Discovery tab.
2. Click on ‘Discover Portal…’ button
3. Enter the IP address of iSCSI server.
4. Click on Targets tab. Depending on how many iSCSI IP interfaces are created on this VNXe3200, you will see that many IQNs listed here. Connection status will be
‘Inactive’.
5. Select an iSCSI port’s IQN (for example, IQN ending with a0) and click on ‘Connect’ button.
6. Check the box for ‘Enable multipath’ and then click on Advanced button.
7. For Local adapter select ‘Microsoft iSCSI Initiator’.
8. For ‘Initiator IP’ select IP address of the host interface which is in same subnet as VNXe’s a0 interface.
9. For ‘Target portal IP’ select IP of VNXe’s a0 interface.
10. If you want to use CHAP (optional) check the box for ‘Enable CHAP log on’ and provide Target secret. The Target CHAP secret is a password that should be
configured on VNXe Unisphere Settings > iSCSI Settings > CHAP Security tab (screenshot below).
11. Click OK twice to come back to iSCSI Initiator Properties page. Now the connection status should show Connected.
12. Repeat steps 1 through 11 for additional iSCSI interfaces on VNXe – for example, IQN ending with b0, a1 and b1.
13. After it is complete iSCSI initiator may look like this.
III. Configure MPIO for iSCSI storage (identical for both Windows 2008 and 2012)
1. Open MPIO properties window from Control Panel.
2. Following screenshots show how first two tabs of MPIO properties window look initially without any configuration.
We need to check the box for ‘Add support for iSCSI devices’, however until you add a valid iSCSI disk to server you cannot do it. If you have not provisioned any iSCSI
storage to this host yet, please follow the steps below under section ‘Configuring iSCSI Initiator with multiple paths:’ and come back to this step to enable it.
3. It may ask for a reboot, select No because we will reboot after completing one more step.
4. Click on Discover MultiPaths tab and check the box ‘Add support for iSCSI devices’.
5. Click on MPIO Devices tab and click on Add button.
6. Enter Device Hardware ID as follows EMC Celerra
(Please note, there are 5 spaces after EMC and 9 spaces after Celerra. This is because Hardware ID consists of Vender ID and Product ID which are 8 characters and
16 characters respectively).
7. After clicking OK it prompts to reboot the host. Click Yes to reboot.
8. After the reboot the MPIO properties may look like this:
IV. Change registry values
With the above configuration with iSCSI initiator and MPIO, iSCSI LUN should be available on the host. However, in the event of Storage Processor (SP) failure, LUNs
owned by failed SP will get their ownership transferred (LUN trespass) to peer SP. Though this happens fairly quickly, it is better to configure the hosts to tolerate longer
delay which may occur due to network issues. For this you need to modify few registry values.
1. In Windows, run the regedit.exe command to start the Windows Registry Editor.
2. Using the Windows Registry Editor, navigate to Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\, then rightclick CurrentControlSet, select Find to
search for, and edit the registry values shown below. They will be located under the following registry key:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{***}\***\Parameters
Where *** signifies a number specific to your computer.
Note: There are multiple "ControlSet" values in the registry. Verify that the path to the value that you found is in the CurrentControlSet. If you are not in the
CurrentControlSet, run Find again until you are. If you make changes to ControlSets other than the CurrentControlSet those changes will not affect the system.
Registry Value Instructions Description of Registry Value
This value determines how long requests will be held in the device queue and retried if the
connection to the target is lost. If MPIO is installed this value is used. If MPIO is not
LinkDownTime Set to 600. (Decimal value)
installed MaxRequestHoldTime is used instead.
The default value for this is 15 seconds.
This is the number of seconds that the initiator will pause the I/O queue after receiving an
async logout.
The default value is 10 seconds.
Add this REG_DWORD value to the same
AsyncLogoutPauseTimeout
key as LinkDownTime. Set it to 600.
(New Value) If one needs to change this value, a reboot is required for the change to take effect.
(Decimal value)
Alternatively, one can also unload and reload the initiator driver for the change to take
effect. In Windows "Device Manager" GUI, look under "SCSI and RAID Controllers".
Right click on "Microsoft iSCSI Initiator" and select "Disable" to unload the driver. Then
select "Enable" to reload the driver.
PortalRetryCount: This value is used to determine how many times a connect request to
a target portal should be retried if the portal is down.
The default value for this is 1
Find the DelayBetweenReconnect value.
DelayBetweenReconnect Set the PortalRetryCount value such that
PortalRetryCount PortalRetryCount * DelayBetweenReconnect
= 600 (decimal) DelayBetweenReconnect : If a connection is dropped while it is in FullFeature phase, the
driver will attempt to relogin. This parameter sets the delay between each relogin
attempts.
The default value is 1 second.
Maximum time (in seconds) for which requests will be queued if connection to the target
is lost and the connection is being retried. After this hold period, requests will be failed
Verify that the MaxRequestHoldTime value is
MaxRequestHoldTime with "error no device" and device (disk) will be removed from the system.
set to 600 (decimal)
The default value is 60 seconds
The timeout set by class drivers (such as disk.sys, etc) for various requests does not
take into account network delays. This value is used to increment the timeout set by
class drivers.
SRBTimeoutDelta If you are using PowerPath, you need to set
this. Set it to 100. (decimal) SRBTimeoutDelta can be as low as 5 seconds. If it is lower than that, initiator will use 15
instead. SRBTimeoutDelta gets added to the timeout set by the class driver.
The default value is 15 seconds.
If you do not find these values at all, confirm that iSCSI initiator has been installed.
V. Configuring MPIO in Microsoft Failover Cluster
1. All nodes participating in the Failover Cluster should be configured identically by following steps mentioned above (MPIO, iSCSI Initiator and registry values).
2. After setting up the nodes with all prerequisites of Failover Cluster, follow steps in the documents mentioned below to install and configure it.
For Windows Server 2008 http://technet.microsoft.com/enus/library/ff182326(v=ws.10).aspx
For Windows Server 2012 http://blogs.msdn.com/b/clustering/archive/2012/05/01/10299698.aspx
3. Storage configuration requirement is same for Failover Cluster on Windows Server 2008 or Windows Server 2012. Same is true whether you are using this cluster for
HyperV, File Server, SQL, Exchange or any other application.
How to verify the multipathing after configuration?
There are two ways you can see – through GUI and CLI.
Through GUI:
1. Open iSCSI Initiator and in Targets tab Click on Devices… button.
2. In Devices window click on ‘MPIO…’ button.
In Device details window you will see Load Balance policy and list of paths for a LUN device.
Using CLI:
Run mpclaim command to see the disks and all paths available to reach it. Though we can do lot of configurations using mpclaim command, it is out of scope for this
article.
To know the path and number of disks run – mpclaim –v <filename_to_save_output>.
For example mpclaim –v mpioconfig.txt
When you open this mpioconfig.txt file it may look like this.
MPIO Storage Snapshot on Friday, 30 January 2015, at 23:21:58.591
Registered DSMs: 1
================
+||||||+
|DSM Name | Version |PRP | RC | RI |PVP| PVE |
||||||||
|Microsoft DSM |006.0003.09600.16384|0020|0003|0001|030|False|
+||||||+
Microsoft DSM
=============
MPIO Disk2: 04 Paths, Round Robin with Subset, Implicit and Explicit
SN: 60616061A0380785EC054967F7D5B
Supported Load Balance Policies: FOO RRWS LQD WP LB
Path ID State SCSI Address Weight
0000000077030003 Active/Optimized 003|000|003|002 0
* TPG_State: Active/Optimized , TPG_Id: 2, TP_Id: 15
Adapter: Microsoft iSCSI Initiator... (B|D|F: 000|000|000)
Controller: 46616B65436F6E74726F6C6C6572 (State: Active)
0000000077030002 Active/Unoptimized 003|000|002|002 0
TPG_State: Active/Unoptimized, TPG_Id: 1, TP_Id: 1
Adapter: Microsoft iSCSI Initiator... (B|D|F: 000|000|000)
Controller: 46616B65436F6E74726F6C6C6572 (State: Active)
0000000077030001 Active/Unoptimized 003|000|001|002 0
TPG_State: Active/Unoptimized, TPG_Id: 1, TP_Id: 2
Adapter: Microsoft iSCSI Initiator... (B|D|F: 000|000|000)
Controller: 46616B65436F6E74726F6C6C6572 (State: Active)
0000000077030000 Active/Optimized 003|000|000|002 0
* TPG_State: Active/Optimized , TPG_Id: 2, TP_Id: 14
Adapter: Microsoft iSCSI Initiator... (B|D|F: 000|000|000)
Controller: 46616B65436F6E74726F6C6C6572 (State: Active)
MSDSMwide default load balance policy: N\A
No targetlevel default load balance policies have been set.
================================================================================
In the above output there are four paths and one iSCSI LUN provisioned to this host. It is using Microsoft DSM which is default builtin MPIO driver. For VNXe there is no
Device Specific Module (DSM) provided by EMC. If you are using EMC PowerPath for multipathing, it comes with several DSMs to manage different types of arrays.
and it can also manage VNXe. Following mpclaim output shows when PowerPath is installed.
MPIO Storage Snapshot on Friday, 30 January 2015, at 23:11:39.514
Registered DSMs: 6
================
+||||||+
|DSM Name | Version |PRP | RC | RI |PVP| PVE |
||||||||
|Microsoft DSM |006.0001.07600.16385|0005|0003|0001|030|0True|
|EMC PowerPath DSM for Symmetrix |005.0007.00168.0000|0005|0003|0001|030|0True|
|EMC PowerPath DSM for CLARiiON |005.0007.00168.0000|0005|0003|0001|030|0True|
|EMC PowerPath DSM for Generic |005.0007.00168.0000|0005|0003|0001|030|0True|
|EMC PowerPath DSM for Invista |005.0007.00168.0000|0005|0003|0001|030|0True|
|EMC PowerPath DSM for XtremIO |005.0007.00421.0000|0005|0003|0001|030|0True|
+||||||+
Microsoft DSM
=============
No devices controlled by this DSM at this time!
EMC PowerPath DSM for Symmetrix
===============================
No devices controlled by this DSM at this time!
EMC PowerPath DSM for CLARiiON
==============================
MPIO Disk12: 04 Paths, Vendorspecfic, ALUA Not Supported
SN: 6006016055E0340035A3CB548BD1BB2B
Supported Load Balance Policies: FOO RR LQD LB VS
Path ID State SCSI Address Weight
0000000080030300 Active/Optimized 003|000|003|001 0
Adapter: Microsoft iSCSI Initiator... (B|D|F: 000|000|000)
Controller: FNM00XXXXXX15 (State: No Controller)
0000000080030200 Active/Optimized 003|000|002|001 0
Adapter: Microsoft iSCSI Initiator... (B|D|F: 000|000|000)
Controller: FNM00XXXXXX15 (State: No Controller)
0000000080030100 Active/Optimized 003|000|001|001 0
Adapter: Microsoft iSCSI Initiator... (B|D|F: 000|000|000)
Controller: FNM00XXXXXX15 (State: No Controller)
0000000080030000 Active/Optimized 003|000|000|001 0
Adapter: Microsoft iSCSI Initiator... (B|D|F: 000|000|000)
Controller: FNM00XXXXXX15 (State: No Controller)
MPIO Disk11: 04 Paths, Vendorspecfic, ALUA Not Supported
SN: 6006016055E03400D4A0CB547A6B5B2F
Supported Load Balance Policies: FOO RR LQD LB VS
Path ID State SCSI Address Weight
0000000080030300 Active/Optimized 003|000|003|000 0
Adapter: Microsoft iSCSI Initiator... (B|D|F: 000|000|000)
Controller: FNM00XXXXXX15 (State: No Controller)
0000000080030200 Active/Optimized 003|000|002|000 0
Adapter: Microsoft iSCSI Initiator... (B|D|F: 000|000|000)
Controller: FNM00XXXXXX15 (State: No Controller)
0000000080030100 Active/Optimized 003|000|001|000 0
Adapter: Microsoft iSCSI Initiator... (B|D|F: 000|000|000)
Controller: FNM00XXXXXX15 (State: No Controller)
0000000080030000 Active/Optimized 003|000|000|000 0
Adapter: Microsoft iSCSI Initiator... (B|D|F: 000|000|000)
Controller: FNM00XXXXXX15 (State: No Controller)
EMC PowerPath DSM for Generic
=============================
No devices controlled by this DSM at this time!
EMC PowerPath DSM for Invista
=============================
No devices controlled by this DSM at this time!
EMC PowerPath DSM for XtremIO
=============================
No devices controlled by this DSM at this time!
MSDSMwide default load balance policy: N\A
No targetlevel default load balance policies have been set.
================================================================================
Product: VNXe3200, VNXe2 Series