Skip to main content
Pure Technical Services

Setup iSCSI on Windows Server 2008 R2 and 2008 R2 (Service Pack 1)

Currently viewing public documentation. Please login to access the full scope of documentation.


Pure Storage no longer officially supports Windows Server 2008 or 2008R2 , which has reached end of support by Microsoft. Please refer to the Windows Server Catalog for version compatibility.


The Pure Storage FlashArray supports the Internet Small Computer Systems Interface an Internet Protocol (IP) based storage networking standard for linking data storage facilities. Using iSCSI provides access to the Pure Storage FlashArray by issuing SCSI commands over the TCP/IP network. 

The screenshot below illustrates four connected Ethernet Ports (CT0.ETH6/ETH7 and CT1.ETH6/ETH7) in a Pure Storage FlashArray//M20. These ports will be configured on the FlashArray and Windows Server for connectivity in Step 05.1 -- Setup iSCSI Connectivity.


The following steps will configure the MSiSCSI Initiator Service to connect to the Pure Storage FlashArray iSCSI ports using the Windows Server management tools.


Setup Using Windows Server and FlashArray Management Tools

This section walks through the steps for configuring MSiSCSI using the Graphical User Interface (GUI) tools provided by Windows Server and Pure Storage FlashArray management interface.

Configure MSiSCSI (Part 1)

The following steps will configure the MSiSCSI Initiator Service to connect to the Pure Storage FlashArray iSCSI ports using the iSCSI Initiator Control Panel applet.

  1. Open up the Control Panel and double-click on the iSCSI Initiator
  2. The Microsoft iSCSI dialog will open indicating that the service is not running. Click Yes to start the service and also set it to startup automatically when the server reboots.

  3. After the MSiSCSI Initiator Service has started the Properties dialog will be opened.


4. After the MSiSCSI Initiator Service has started the Properties dialog will be opened. Click the Configuration tab to retrieve the iSCSI Qualified Name (IQN). 

Write down or cut-and-paste the Initiator Name value.


This step has started the Microsoft iSCSI Service so the Initiator Name could be retrieved which is required for the next section.


Configure FlashArray Host and Volume

Connecting a volume to a configured iSCSI host on the Pure Storage FlashArray is required before configuring MSiSCSI.

  1. Open the Pure Storage FlashArray Management interface and log into the FlashArray.
  2. Click on the Storage tab.
  3. Click on the + in the Hosts section and select Create Host.


  4. Select the newly created host, Server01, then click the Host Ports tab. Click the 'hamburger menu' to the right, then click Configure iSCSI IQNs.

  5. The Configure iSCSI IQNs dialog box will open. Enter the IQN from the previous section then click Add.

  6. Click on the + in the Volumes section to create a volume. For this example the name iSCSI-TestVolume with a size of 500 G is being used. A different name and size can be used.


  7. After creating the new volume click the Connected Volume (0) tab then the 'hamburger menu' to the right and select Connect Volumes menu item.


  8. The Connect Volumes to Host dialog will open. Click on the iSCSI-TestVolume (or whatever volume name was created) then click Confirm.

  9. Now the new host, Server01, is connected to the new volume, iSCSI-TestVolume, with the host port IQN set to



Configure MSiSCSI (Part 2)

In this section the configuration of MSiSCSI will be continued using the iSCSI Initiator tool. 

  1. Open up Server Manager. By default Server Manager starts when logging into Windows Server. 
  2. Click Tools and select iSCSI Initiator to open the iSCSI Initiator Properties dialog.
  3. Click on Discover Portal... button which will display the Discover Target Portals dialog.

These are the iSCSI Services which were configured in the Setup iSCSI on the FlashArray topic. These need to be in place before proceeding. 

4. Enter the IP Address or DNS name for the target ports on the Pure Storage FlashArray. Leave the Port default set to 3260.

Repeat Step 4 for each iSCSI service you have configured on the FlashArray.


5. Once all of the Target Ports have been configured the Discovery tab Target portals list should look the below example. This could differ based on the number of iSCSI initiators that are in the FlashArray.


6. Click on the Targets tab and check that the Pure Storage FlashArray is Connected.


If a FlashArray volume has not been connected to the host where the iSCSI Initiator Service is being setup you will see the error, Authorization Failure. 


This is the same FlashArray iSCSI Qualified Name (IQN) that can be seen from the FlashArray management interface.


7. Select the Connected Discovered targets and click Connect. 


8. The Connect To Target dialog will apperar. Click Enable multi-path then click Advanced... button.


9. In the Advanced Settings dialog select the Microsoft iSCSI Initiator from the Local adapter dropdown. Select the appropriate IP Address from the Initiator IP dropdown. Select the Target portal IP from the dropdown that will map to the Initiator IP. 

Repeat Step 9 for all of the Initiator IPs and map to their appropriate Target portal IP. 


10. After completing the setup of the Initiator IPs and Target Portal IPs click the Favorite Targets tab and all of the configured paths will be visible. 


11. Open up the FlashArray Management interface, click System tab, click Connections, click Host Connections and select host that was just configured. The Host Port Connectivity should show Redundant connections. 


If the deployed switches in the fabric support changing the Maximum Transmission Unit (MTU) from 1500 to 9000 (Jumbo Frames) this can be accomplished using the FlashArray Management GUI. Or by running the Windows PowerShell cmdlets from the Pure Storage PowerShell SDK. 

Using the FlashArray Management GUI


Using the PowerShell SDK

PS >$FlashArray = New-PfaArray -EndPoint -Credentials (Get-Credential) -IgnoreCertificateError
PS >Get-PfaNetworkInterfaces -Array $FlashArray | Format-Table -AutoSize

PS > Get-PfaNetworkInterfaces -Array $FlashArray | Format-Table -AutoSize

subnet name     enabled  mtu services      netmask       slaves               address                 hwaddr                  speed
------ ----     -------  --- --------      -------       ------               -------                 ------                  -----
       ct0.eth0    True 1500 {management} {}                     24:a9:37:00:38:8f  1000000000
       ct0.eth1   False 1500 {management}  64            {}                   2620:125:9004:2021::200 24:a9:37:00:38:8e  1000000000
       ct0.eth3   False 1500 {management}                {}                                           24:a9:37:00:38:91 10000000000
       ct0.eth6    True 9000 {iscsi} {}                     90:e2:ba:4d:75:51 10000000000
       ct0.eth7    True 9000 {iscsi} {}                     90:e2:ba:4d:75:50 10000000000
       ct1.eth0    True 1500 {management} {}                     24:a9:37:00:39:07  1000000000
       ct1.eth1   False 1500 {management}  64            {}                   2620:125:9004:2021::201 24:a9:37:00:39:06  1000000000
       ct1.eth3   False 1500 {management}                {}                                           24:a9:37:00:39:09 10000000000
       ct1.eth6    True 9000 {iscsi} {}                     90:e2:ba:53:ba:19 10000000000
       ct1.eth7    True 9000 {iscsi} {}                     90:e2:ba:53:ba:18 10000000000
       replbond    True 1500 {replication} {ct1.eth2, ct0.eth2}            92:76:9c:80:b9:77           0
       vir0        True 1500 {management} {}                     8e:85:63:ff:fd:dd  1000000000
       vir1       False 1500 {management}  64            {}                   2620:125:9004:2021::202 ce:f6:e1:ed:26:ec  1000000000
PS >Set-PfaInterfaceMtu -Array $FlashArray -Name 'ct0.eth6' -Mtu 9000
PS >Set-PfaInterfaceMtu -Array $FlashArray -Name 'ct0.eth7' -Mtu 9000
PS >Set-PfaInterfaceMtu -Array $FlashArray -Name 'ct1.eth6' -Mtu 9000
PS >Set-PfaInterfaceMtu -Array $FlashArray -Name 'ct1.eth6' -Mtu 9000

Configuring Volumes with Windows Server

Refer to the below article for configuring volumes with Windows Server.


Test Connectivity

To test the connectivity from the host to the FlashArray you can use DISKSPD for a basic plumbing test. DISKSPD is a storage load generator / performance test tool from the Microsoft Windows, Windows Server and Cloud Server Infrastructure Engineering teams.

DISKSPD is not recommended for performance testing. The use case mentioned here is to simply test the connectivity to the FlashArray.

Running diskspd with the below example command line will generate I/O to evaluate connectivity. 

 .\Diskspd.exe -b8K -d3600 -h -L -o16 -t16 -r -w30 -c400M <DRIVE_LETTER>:\io.dat

The results of the plumbing test should generate similar output as below.


The host can also be monitored using the Purity CLI with the pureuser account with the below command. 

pureuser@myarray-ct0:~# purehost monitor --balance
Name      Time                     Initiator WWN  Initiator IQN                       Target       Target WWN  Failover  I/O Count  I/O Relative to Max
Server01  2017-06-07 09:30:06 PDT  -      (primary)    -           -         500187     99%
                                          (secondary)              -         506741     100%