Configuring iSCSI Storage (Part 2)

If you would like to read the other parts in this article series please go to:

The scenario

Figure 1 illustrates the test scenario used for our walkthrough of configuring iSCSI storage using Windows Server 2012. The server on the left ( represents an application server, such as a server running Microsoft Exchange Server or Microsoft SQL Server. SRV-A acts as a storage consumer, and we’ll be configuring the iSCSI Initiator (the built-in iSCSI client software in Windows Server 2012) on this server so it can utilize block storage provisioned from the server on the right, which we’ll refer to as the iSCSI storage server.

The iSCSI storage server ( is also running Windows Server 2012 and we’ll be installing and configuring the iSCSI Target Server role service (the built-in iSCSI server software in Windows Server 2012) on it. SRV-B acts as a storage provider and provides block-based storage to the application running on the left-hand server. The direct-attached storage (DAS) for the iSCSI storage server can be either SATA or SAS hard drives, which can be either internally installed or attached using some form of external enclosure. This enclosure can be an external hardware RAID enclosure or simply an external JBOD (just-a-bunch-of-disks) enclosure. Both of the servers used for this walkthrough are physical servers, and the DAS used is internal hardware RAID connected to four SATA drives (one system drive and three data drives). The RAID adapter has been configured to expose the drives as individual physical disks (i.e. no striping, mirroring, or parity).

Once we’ve configured both servers, we’ll learn how to provision storage by creating virtual disks (LUNs) and volumes. We’ll then share storage from these volumes and have our application connect to the shared storage over the network.

Figure 1: Test scenario used for this walkthrough.

Additional considerations

There are some additional considerations you need to be aware of before implementing a Windows Server 2012-based iSCSI storage scenario like the one described above:

  • iSCSI virtual disks (also called iSCSI LUNs) are basically just virtual hard disk files, that is, the same type of files used by Hyper-V on the Windows Server platform. The limitation in the implementation of iSCSI virtual disks in Windows Server 2012 however is that these files can only use the older VHD format and not the newer VHDX format introduced in Windows 8 and Windows Server 2012. The new VHD format supports virtual hard disk files up to 64 TB in size, provides improved alignment of the virtual hard disk format on large sector disks, provides improved performance by utilizing larger block sizes, and includes built-in mechanisms for safeguarding against data corruption of the type that can occur as a result of an unexpected power failure. By contrast, the older VHD format only supports virtual hard disk files up to 2 TB in size and does not include the reliability and performance enhancements found in the VHDX format. What this means in practice is that iSCSI virtual disks provisioned on a Windows Server 2012 iSCSI Target Server can have a maximum size of 2 TB. This limitation could be important      for certain scenarios such as hosting a large Microsoft SQL Server database on iSCSI storage.
  • iSCSI virtual disks can only be created on NTFS volumes. This means you cannot take advantage of the new Resilient File System (ReFS) in Windows Server 2012 to format volumes for iSCSI storage. ReFS includes additional features that provide increased data availability, data integrity, and storage scalability. But in this release you unfortunately cannot create iSCSI virtual disks on ReFS volumes.
  • You cannot create storage pools and iSCSI virtual disks on the same server. Storage pools are a capability of the      new Storage Spaces feature in Windows Server 2012. Storage Spaces is designed to make storage virtualization affordable even for small businesses, and involves taking physical storage devices and creating virtual pools of storage you can then provision shared storage from. Storage Spaces lets you create these pools using a wide variety of storage devices including SATA and SAS drives including solid state drives (SSDs). These drives can be either internally or externally connected, and the external connection can be either a JBOD of drives or a storage array. So the limitation here is that you can use a server running Windows Server 2012 to host storage pools using Storage Spaces feature, or to host iSCSI virtual disks using the iSCSI Target Server role services, but not to host both.

Enabling the iSCSI initiator

We’ll begin by enabling the iSCSI initiator on SRV-A. Remember that an iSCSI initiator is the client component of the iSCSI storage architecture and is used to request storage from an iSCSI target, which represents the server component of iSCSI storage. The iSCSI initiator is an in-box component on Windows Server 2012 but it needs to be enabled before you can use it. To enable the iSCSI initiator on SRV-A, open Server Manager and select iSCSI Initiator from the Tools menu:

Figure 2: Enabling the iSCSI Initiator using Server Manager.

A dialog box will appear saying that the Microsoft iSCSI service is not running:

Figure 3: Click Yes to enable the iSCSI initiator on the server.

After clicking Yes to close the dialog box, the iSCSI Initiator Properties will be displayed:

Figure 4: The iSCSI Initiator Properties.

We’ll configure the iSCSI initiator later, so we close the Properties by clicking OK.

You can also use Windows PowerShell to enable the iSCSI initiator. To do this, you would use the following two commands to start the Microsoft iSCSI Services and changes its service startup type to Automatic:

Start-Service msiscsi

Set-Service msiscsi -startuptype "automatic"

Installing the iSCSI Target Server

Next, we’ll install the iSCSI Target Server role service on SRV-B. If you open Server Manager on SRV-B and select the iSCSI page on the File And Storage Services canvas, you’ll see that iSCSI Target Server is not installed by default:

Figure 5: iSCSI Target Server is not installed by default.

We can install the iSCSI Target Server role service in two ways:

  • By launching the Add Roles And Features Wizard from the Manage menu of Server Manager
  • By using Windows PowerShell

We’ll use the Windows PowerShell approach like this:

PS C:\> Install-WindowsFeature -Name FS-iSCSITarget-Server

Success Restart Needed Exit Code      Feature Result
——- ————– ———      ————–
True    No             Success        {File and iSCSI Services, File Server, iSC…

The iSCSI page of the File And Storage Services canvas in Server Manager now says we can create new iSCSI virtual disks on the server, which indicates that the iSCSI Target Server role service has installed successfully:

Figure 6: iSCSI Target Server is ready for use.


In the next article of this series we will create iSCSI virtual disks on our target server SRV-B. Then we will configure the iSCSI initiator on SRV-A so it can connect to iSCSI targets on our target server.

If you would like to read the other parts in this article series please go to:

About The Author

2 thoughts on “Configuring iSCSI Storage (Part 2)”

  1. I have to take exception to the statement made in “Additional Considerations” (above) that places a 2TB limit on VHDs. I’m running iSCSI Target software on a Windows Server 2008 R2 computer where one of my VHD files is 3TB in size. The disk on which this file is located is a 4TB volume using the GPT disk type (not MBR). I think that it’s more dependent on the disk type (MBR or GPT) than the VHD file type.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top