Implementing iSCSI Storage with Windows Failover Clusters
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 ClustersIn 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.
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.
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.
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.