In this post, I will show you how to use the Windows Server iSCSI Initiator to create a network fault-tolerant connection to an iSCSI target by configuring MPIO. Note that the lab used for the below scenario was based on a Windows Server 2016 connecting to an Azure StorSimple 1200 virtual appliance.
Add two network interfaces to the server that will be connecting to the storage appliance. Each interface will connect to the iSCSI storage system. Various vendors will have requirements for the network configurations:
In my case, both iSCSI NICs are on different networks:
Each iSCSI NIC on the server will have 1 connection to a corresponding NIC on the storage appliance. This means that there will be 2 iSCSI sessions for each iSCSI volume on the storage appliance that the server will connect to.
If I used a single VLAN/subnet for all iSCSI traffic, each iSCSI NIC on the server could connect to both iSCSI NICs on the storage appliance. There are 2 sessions per iSCSI NIC per volume. This means that there would be 4 sessions per volume that the server will connect to.
Make sure that the two iSCSI interfaces on the server can communicate reliably with the corresponding iSCSI NICs or the same networks on the storage appliance.
Launch Server Manager in the server from the storage that you want to connect to.
We will now configure MPIO to enable support for iSCSI:
![Enabling MPIO support for iSCSI [Image Credit: Aidan Finn]](https://petri.com/wp-content/uploads/petri-imported-images/EnableiSCSIMPIO.png)
Launch iSCSI on the application server and select the iSCSI service to start automatically. Browse to the Discovery tab. Do the following for each iSCSI interface on the storage appliance:
Repeat the above for each IP address on the iSCSI storage appliance.
Browse to Targets. An entry will appear for each available volume/LUN that the server can see on the storage appliance.
![Available iSCSI volumes that are not yet connected [Image Credit: Aidan Finn]](https://petri.com/wp-content/uploads/petri-imported-images/iSCSIUnconfiguredVolumes.png)
For each volume, do the following:
The volume is now connected. However, we only have 1 session between the first NIC of the server and the first NIC of the storage appliance. We do not have a fault-tolerant connection enabled:
![Adding the second connection to the iSCSI volume [Image Credit: Aidan Finn]](https://petri.com/wp-content/uploads/petri-imported-images/iSCSIConnectSecondSession.png)
![Two fault tolerant volume sessions [Image Credit: Aidan Finn]](https://petri.com/wp-content/uploads/petri-imported-images/iSCSIFaultTolerantVolumeSessions.png)
Repeat steps 1-14 for each volume that the server will connect to.
If you open Disk Management, your new volume(s) should appear. You can right-click a disk or volume that you connected, select properties, and browse to MPIO. From there, you should see the paths and the MPIO customizable policies that are being used by this disk.
![A disk connected using MPIO and iSCSI [Image Credit: Aidan Finn]](https://petri.com/wp-content/uploads/petri-imported-images/iSCSIDiskWithMPIO.png)
The Windows iSCSI initiator requires Windows Server 2008 or later, at least 2GB RAM, and a network adapter capable of handling iSCSI traffic. The initiator comes pre-installed on Windows Server operating systems and Windows 7 or later for client systems.
Yes, the Windows iSCSI initiator is compatible with any storage target that follows the iSCSI protocol standards, including Linux-based storage systems, NAS devices, and dedicated storage arrays from various vendors.
The Windows iSCSI initiator supports CHAP authentication, IPsec encryption, and access controls through iSNS. It also allows for target filtering and strict naming conventions to enhance security.
The Windows iSCSI initiator includes automatic session recovery, connection persistence settings, and delayed recovery options. It can automatically reconnect lost sessions and maintain data integrity during network interruptions.
The Windows iSCSI initiator provides built-in performance monitoring, event logging, and diagnostic tools. Users can track session status, throughput metrics, and connection health through Windows Performance Monitor and Event Viewer.