Implementing iSCSI Storage with Windows Failover Clusters

Historically speaking, computer clusters conjure up notions of tightly coupled servers attached to high speed SANs in a data center type environment.  These clusters have existed for many years primarily in the enterprise class space due to their high initial investment costs.  In addition, the technology associated with these SAN-based clusters requires a close proximity of the hardware due to fibre cable length restrictions.  With the high initial cost and the close proximity requirement, clusters have typically been confined to corporate data centers.

This has all changed with the advent of iSCSI technology!  As you may know, iSCSI stands for Internet Small Computer System Interface.  It is a transport protocol for mapping block-oriented storage data over TCP/IP networks.  This allows clusters to take advantage of existing networks to access shared storage instead of using expensive SAN environments. In addition, by using the network, servers and storage can be located anywhere on the LAN instead of being restricted to the close proximity of a data center.  Small and medium sized businesses can now leverage iSCSI technology to implement clusters.

This article discusses how Microsoft has embraced iSCSI technology and now supports Windows Failover Clusters using it to access shared storage.  The article explores the different iSCSI components and how they are implemented with clusters.  Screen shots are provided to illustrate how to setup iSCSI-based disks and configure them for use with Windows Failover Clusters.

iSCSI Failover Clusters

In order to implement iSCSI technology with Windows Failover Clusters, you must first be familiar with the iSCSI terminology.  The term “target” is used to refer to a network storage device similar to a LUN on a SAN.  The term “initiator” is used on the client-side when a network connection is established to a target.  So by creating these targets on an iSCSI-based storage array, you can configure the client to initiate persistent network connections to the disks each time the server boots.

Setting up the target LUNs is the first step.  How to accomplish this depends on the storage vendor’s configuration program.  No matter who the vendor is, a method will be provided to create a target storage device and establish various properties.  For failover clusters, the target must be configured to allow multiple connections to the same device.  In the following example, StarWind software is used to create several iSCSI targets that currently have connections to 2 different servers.

iSCSI technology: setting up target LUNs

Once the targets are created, each of the cluster servers must initiate a connection to them.  This is accomplished with Microsoft’s iSCSI Initiator software.  The software is included with Windows 2008 or can be installed separately with earlier versions of the operating system.  A simple configuration program is used to specify which target portals to listen to (iSCSI storage arrays), and which iSCSI targets to connect to (LUNs).  In the following example, you can see the Microsoft iSCSI Initiator used to detect a new iSCSI target called iscsi-new with an inactive status.

iSCSI technology: Microsoft iSCSI Initiator

Using the “Log on…” button, you can configure how the initiator attempts to connect to the target.  You can specify which local adapter to use, the source IP address, and the target portal.  There are also several security related settings including IPsec.  Once you connect to the target, the storage device can be accessed just as you would with a locally connected disk drive.  The following example illustrates the various properties that can be configured when connecting to an iSCSI target.

Microsoft iSCSI Initiator: connecting to an iSCSI target

The next step is to use the Disk Management utility to bring the new iSCSI disk online, and initialize the disk by writing a signature on it.  The drive then needs to be formatted with the NTFS file system and optionally assigned a drive letter.  In the following example, you can see the new iSCSI disk has been initialized and formatted.

Microsoft iSCSI Initiator: disk management utility

Finally, use the Failover Cluster Management snap-in to add the new storage so the cluster can use it.  This is accomplished by highlighting the Storage container in the left pane, and right-clicking to specify “Add a disk”.  You will be prompted which disk to add as illustrated in the following diagram.  The newly added storage can then be used by applications to access shared iSCSI disks.

Failover Cluster Management snap-in

Summary

Windows failover clusters can now take advantage of iSCSI storage to access shared data.  Using iSCSI reduces the initial investment costs for clusters by allowing you to use your existing TCP/IP networks instead of expensive SANs.  It also allows servers and storage to be located anywhere on the LAN instead of being restricted to the confines of a data center.  The lower cost of ownership and flexible implementations make iSCSI clusters an attractive alternative for small and medium sized businesses.

Watch for future articles on storage topics such as “Avoiding Disk Fragmentation” and “Implementing Data Redundancy”.  These articles will discuss the fundamental storage concerns and present solutions to your storage needs.