Tuesday 1 November 2011

Five Easy Steps to Configure Windows Server 2008 R2 Failover Cluster using StarWind iSCSI SAN



When there’s a no direct requirement about the business, people usually avoid the term “cluster” in their platform; mostly just because partial ignorance about the technology. For a long time, no matter if you were using open source platforms, Windows or any other, there was the believing that installing, configuring and maintaining a cluster is just a hard thing to do. The idea within this post is show you in a simple few steps, with no complex requirements, how to create a Windows Server 2008 R2 Failover cluster using another simple and effective solution as StarWind iSCSI SAN.

StarWind iSCSI SAN software represents one of the most popular solutions available in the market to create your own iSCSI shared storage (or Storage Area Network) without the need to acquire expensive hardware solutions. StarWind iSCSI SAN provides also the fastest solution to create, configure and maintaining these type of storage, having the chance to make available LUNs to any operating system capable of using an iSCSI initiator.

Let’s take a look about this step-by-step guide to create and configure a Windows Server 2008 R2 Failover Cluster, here are the steps involved:

1. Review and complete pre-requisites for the environment.

2. Install StarWind iSCSI SAN software.

3. Configure and create LUNs using StarWind iSCSI SAN.

4. Install Failover Cluster feature and run cluster validation.

5. Create Windows Server 2008 R2 Failover Cluster.
1. Review and complete pre-requisites for the environment

Requirements for clustering in Windows Server 2008 R2 changed significantly. You don’t longer need complex aspects for hardware to be compatible with Failover Cluster:
Requirements for Windows Server 2008 R2 Failover Cluster

Here’s a review of the minimum requirements to create a Windows Server 2008 R2 Cluster:
Two or more compatible servers: You need hardware that is compatible with each other, highly recommended to always use same type of hardware when you are creating a cluster.
A shared storage: This is where we can use StarWind iSCSI SAN software.
Two network cards on each server, one public network (from which we usually access Active Directory) and a private for heartbeat between servers. This is actually anoptional requirement since using one network card is possible but not suitable in almost any environment.
When we are using iSCSI protocol for our shared storage Microsoft recommends three network cards on each host: Public network, private, and one dedicated to iSCSI communication from servers to the storage, which in our case will be represented by a server using StarWind iSCSI software.
Windows Server 2008 R2 Enterprise or Datacenter Editions for hosts which will be part of the cluster. Always keep in mind that cluster is not supported in Standard Editions.
All hosts must be member from an Active Directory domain. To install and configure a cluster we don’t need a Domain Admin account, but we do need a Domain account which is included in the local Administrators of each host.
Requirements for StarWind iSCSI SAN Software

Here are the requirements for installing the component which will be in charge of receiving the iSCSI connections:
Windows Server 2008 or Windows Server 2008 R2
10 GB of disk space for StarWind application data and log files
[Highly Recommended] 4 GB of RAM
1 Gigabit Ethernet or 10 Gigabit Ethernet.

You can download StarWind iSCSI SAN software using this link, previous registration required.
Optimize TCP/IP stack to improve iSCSI performance

Before using StarWind as iSCSI target it’s recommended you’d "accelerate" TCP/IP stack to make sure it runs at full speed.

1. Enable 9K Jumbo frames for your GbE network adapter.

2. Change the following TCP parameters in the registry: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

GlobalMaxTcpWindowSize = 0×01400000 (DWORD)
TcpWindowSize = 0×01400000 (DWORD)
Tcp1323Opts = 3 (DWORD)
SackOpts = 1 (DWORD)

3. Reboot.
2. Install StarWind iSCSI SAN Software

Ok, after reviewing and completing the requirements for the environment we should start installing the StarWind iSCSI SAN software.

The product is available for download in this link, and you only need a previous registration first which will also generate the license key you need to register the product.

Installing StarWind iSCSI software is probably the easiest in all of these five steps, since you only need to complete a wizard to accomplish it.

2.1 After you’ve downloaded the installation file, just double click it and the wizard will start.



2.2 Follow the wizard normally as any installation. In the process you will find one of the interesting features about it: You can install the service separately from the console from which you can administer the StarWind iSCSI.



This way you can install the console on any machine compatible to access the server or servers with StarWind iSCSI and manage storage, permissions, etc. In this case, I’ll be selecting the full installation.

The next steps are pretty straight forward so you won’t have any problem. Once the final steps are completed you’ll get a warning about the iSCSI Service needed before installing the StarWind iSCSI Service.



You just need to access the “Services” console and set the service as started and automatic.



After you click install, the process only takes a few seconds and you will additionally see some drivers that will be installed on the operating system; click “Install”.


3. Configure and create LUNs using StarWind iSCSI SAN

With the program installed, using and configuring it won’t give us any trouble.

The StarWind iSCSI console is similar as any other console you may already use it. In the “General” screen we’ll find the summary information plus how to connect to local or remote StarWind host.



In the “Configuration” section we can find the common parameters to configure iSCSI StarWind, for example the “Network” options which enable the iSCSI communications (port 3260) on any of the network adapters identified.



If we are using a special LAN/VLAN to separate our iSCSI traffic as recommended, then we should only enable the IP address used for that purpose.

Now let’s get started with the StarWind configuration.
Configuring StarWind iSCSI

We are going to review the basic steps to configure the StarWind iSCSI to start hosting LUNs for our cluster; the initial task is to add the host:

3.1 Select the “Connect” option and type in the credentials to manage the iSCSI host. The defaults used by StarWind are: User “root”; Password “starwind”.

3.2 With the host added, we can start creating the storage that will be published through iSCSI: Right-click the server and select “Add target” and a new wizard will appear.



3.3 Select the “Target alias” from which we’ll identify the LUN we are about to create and then configure to be able to cluster. In my case I’m using a simple name “w2k8r2-clstr”, click on “Next”.



3.4 Since we are going to be using hard drives to present our storage, in “Storage Type” select “Hard Disk”, click on “Next”.



3.5 In “Device Type” please note that we can use physical as virtual drives to present to our clients using iSCSI. We are going to select “Basic Virtual”, from which we’ll create a file (.img) that will represent the LUN; click on “Next”.



3.6 Select “Image File device” and click on “Next”.



3.7 Since we are creating a new one, select “Create new virtual disk” and click on “Next”.



3.8 In the following screen, select the destination and size for the file we are creating. In my case, I’m using a separate drive where I’m going to save all of my LUNs.



3.9 In the following options leave selected “Asynchronous mode” for the LUN, which will enable multithreaded disk operations (recommended for NTFS file system) and check “Allow multiple concurrent iSCSI connections (clustering)” which, of course, will provide the possibility for several hosts to be able to connect to this image file; click on “Next”.



3.10 In the cache parameters, leave the default options selected “Normal (no caching)”; click on “Next”.



3.11 In the last screen, just click on “Finish” and we’ll have our LUN ready.

As optional and recommended review the options for “CHAP permissions” and “Access Rights”. Within these options we can configure all the parameters needed for secure environments.

Once we’ve completed this, we can access this file from a Windows Server 2008 R2 host.
Configure Windows Server 2008 R2 iSCSI Initiator

Each host must have access to the file we’ve just created in order to be able to create our Failover Cluster. On each host, execute the following:

3.12 Access “Administrative Tools”, “iSCSI Initiator”.

3.13 In the “Target” pane, type in the IP address used for the target host, our iSCSI server, to receive the connections.



In my case, I’ve created two LUNs available for the cluster.

3.14 Click on “Connect” to be authorized by the host to use these files.

Once we’ve connected to the files, access “Disk Management” to verify we can now use these files as storage attached to the operating system.



3.15 And as a final step, just using the first host in the cluster, put “Online” the storage file and select also “Initialize Disk”. Since these are treated as normal hard disks, the process for initializing a LUN is no different than initializing a physical and local hard drive in the server.

Now, let’s take a look about the Failover Cluster feature.
4. Install Failover Cluster feature and run cluster validation

Prior to configure the cluster, we need to enable the “Failover Cluster” feature on all hosts in the cluster and we’ll also run the verification tool provided by Microsoft to validate the consistency and compatibility of our scenario.

4.1 In “Server Manager”, access “Features” and select “Failover Cluster”. This feature does not need a reboot to complete.



4.2 Once installed, access the console from “Administrative Tools”. Within the console, the option we are interested in this stage is “Validate a Configuration”.



4.3 In the new wizard, we are going to add the hosts that will represent the Failover Cluster in order to validate the configuration. Type in the server’s FQDN names or browse for their names; click on “Next”.



4.4 Select “Run all tests (recommended)” and click on “Next”.



4.5 In the following screen we can see a detailed list about all the tests that will be executed, take note that the storage tests take some time; click on “Next”.

If we’ve fulfilled the requirements reviewed earlier then the test will be completed with no warning.



We can also have a detailed report about the results on each test.


5. Create Windows Server 2008 R2 Failover Cluster

At this stage, we’ve completed all the requirements and validated our configuration successfully. In the next following steps, we are going to see the simple procedure to configure our Windows Server 2008 R2 Failover Cluster.

5.1 In the “Failover Cluster” console, select the option for “Create a cluster”.



5.2 A similar wizard will appear as in the validation tool. The first thing to do is add the servers we would like to cluster; click on “Next”.

5.3 In the next screen we have to select the cluster name and the IP address assigned. Remember that in a cluster, all machines are represented by one name and one IP.



5.4 In the summary page click on “Next”.

After a few seconds the cluster will be created and we can also review the report for the process.



Now in our Failover Cluster console, we’ll get the complete picture about the cluster we’ve created: Nodes involved, storage associated to the cluster, networks and the events related to cluster.



We will close up our step-by-step guide here and open the clustering series for maybe a detailed explanation about type of Failover Clusters, including Multi-Site cluster which I had the chance to present on a Microsoft event here in Buenos Aires.

No comments: