Blog Activity

If you follow this blog, you probably have noticed that it has gone dark for a good bit of time.

I am currently trying to consolidate all of my blogging on, and I encourage everyone to start following the new blog.

I will leave this blog here as its content is used by many people, but it is unlikely that I will continue to add to this blog.

Network Teaming for Failover Cluster Nodes

Just an FYI, there have been some changes to this document.

In the past, there were issues around the use of NIC teaming for the heartbeat (private) network in clustering. In Windows Server 2008, there have been some changes. The update to KB 254101 states that NIC teaming is fully supported for Windows Server 2008 and Windows Server 2008 R2 Failover Clustering.

This is a nice change and has been requested by several people over the years. Personally, if I want to provide fault tolerance for the private network, I would just create multiple private networks, but that is just my preference. Your mileage may vary.


More on StarWind Software Version 5.0

Last week, I was in Indianapolis delivering one of our classes. When we did the Windows Server 2008 Failover Cluster lab, I configured a Quorum and two other disks for each student by using StarWind Software 5.0. We then set up the clusters for each student after configuring the iSCSI initiator in Windows Server 2008. The performance was fantastic.

After class, I went back to my hotel room and continued to play with v 5.0. I am more than just a little impressed.

From the StarWind Software website, I pulled the following bullets regarding the features of StarWind 5.0, and added my comments in bold type:

·         Synchronous Mirroring with Automatic Failover:  mirrors data in real time across a storage cluster, ensuring that storage is continuously available in the event of failure. RK: I tested this feature and it was really slick how the iSCSI initiator of the Windows Server 2008 server was able to connect to the other target without having to reconfigure the iSCSI initiators. 

·         Failback with Fast Synchronization: re-synchronizes data back to the original storage node and restores it to a previous live state before failure. RK: Not only will it failover to the other target, but it will re-sync the original target that previously failed through a back fill process to bring it up to date once it is back online.   

·         Remote Replication across a WAN: replicates data to a remote location. allowing multi-site disaster recovery in the event of a disaster at the primary site. RK: It doesn’t matter whether the replication target is in the LAN or if it is accessible through a WAN connection. It just works.  

·         CDP & Snapshots: captures instant, point-in-time volume images, allowing a user to rollback and recover an entire volume or individual files and folders. RK: What a great feature. To get this same functionality in a SAN will cost you a considerble amount of money, but it is readily available in 5.0.

·         Server clustering: supports Windows Server 2008, Hyper-V, VMware ESX and vSphere 4.0 and other applications. RK: I am going to write a white paper and put together a web cast in the very near future covering Windows Server 2008 Failover Clutering. I am really excited about this functionality and support.

·         Redesigned User Interface:  allows IT professionals to easily manage all storage from a central management console built on the same tree structure used in Microsoft Hyper-V and VMware vSphere. RK: this is a huge improvement from a management of SANs perspective. You can early connect to and manage disks on multiple SANs from the same interface saving the need to connect to multiple StarWind SAN targets by connecting to multiple servers using remote desktop. The interface is also incredibly intuitive. I had absolutely no problem figuring out how to create disks and make them available to multiple different servers running initiators.

I hear from cluster administrators all the time, and I always hear the complaint that SANs are expensive, and software to support replication is outrageous. I suppose that cost is relative, but StarWind 5.0 is really priced well and has some fantastic features. I highly suggest a look.

Yes, I am excited about this new release, which is why I have blogged about it a few times now. I am really into great pricing with great performance, what can I say? 

StarWind 5.0 Preview – It is Official

I strongly recommend a visit to StarWind’s website to read about the upcoming release of StarWind’s iSCSI target software software. I usually explain what it is to people by calling it a software SAN for Windows servers.

Any Windows server can be made into a SAN by using StarWind’s software. However, version 5.0 adds automated failover between servers to provide fault tolerance for the storage.

For more info, visit the StarWind site at

I am really excited about this upcoming release and what it means to high availability.

Want Replicated Storage Without Buying Multiple SANs?

If the answer is a loud and resounding , “YES!” then you are not alone.

I hear from reliable sources that the new StarWind Software release will have this capability in it and will enable WAN separated clustering of file services as well as other services.

How? I am glad you asked. From what I have seen, the software will perform the replication and control it and also provide a single user interface for iSCSI so that the cluster can point to a single iSCSI target source and if it fails, the replica will continue to run and allow access via the single name.

Yes, it is that simple, but I am sure the software is not that easy to develop.

Watch for the official news in the next couple of days.



Exchange Server 2007 CCR on Windows Server 2008 Failover Cluster

I did a one day workshop on March 15 in Orlando at the Exchange Connections conference. As usual, it was a great deal of fun. However, for some reason, I never posted this blog entry until today.
Anyways, I decided to put some of the key bits of information out here for others to enjoy. I hope it helps everyone.
First off, we need to understand that putting up a CCR cluster requires several steps, which can be combined into four categories.
  1. Configure the Hardware
  2. Install and Configure the Operating System
  3. Install and Configure the Failover Cluster Feature
  4. Install and Configure Exchange Server 2007 on the Cluster
Configuring the hardware really isn’t difficult since we are talking about CCR. There is no need for a Storage Array Network (SAN) with all of the issues around creating, presenting, and securing Logical Unit Numbers (LUNs) for cluster storage. What we need to do here is just purchase our servers with two Network Interface Cards (NICs) and two internal disks.
Installing and configuring the operating system is also pretty straight forward. We need to use either the Enterprise or Datacenter version of Windows Server 2008 on each node. Once the OS is installed, each node needs to be joined to the domain.
One of the most important steps is to configure the operating system on each node with the proper role and features that are prerequisites for clustering and supporting Exchange Server 2007.
The prerequisites include:
  • Web Server (IIS) and its Required Features
  • Web Server (IIS) Role Services which includes:
    • ISAPI Extensions
    • Basic Authentication
    • Windows Authentication
    • IIS 6 Management Compatibility
  • Windows Powershell

These prerequisites can be installed through the GUI or through the command line. For command line, run the following commands:

  • ServerManagerCMD -i Web-Server
  • ServerManagerCMD -i Web-ISAPI-Ext
  • ServerManagerCMD -i Web-Metabase
  • ServerManagerCMD -i Web-Lgcy-Mgmt-Console
  • ServerManagerCMD -i Web-Basic-Auth
  • ServerManagerCMD -i Web-Windows-Auth
  • ServerManagerCMD -i PowerShell

The Web Server prerequisites are demonstrated in this IISPrerequisites recording, while the Windows Powershell install is shown in this Powershell recording using the GUI to install them.

The next step for the operating system configuration includes setting up the networks. The public network, also referred to as the client access point (CAP), is configured just like any other server. The network used for intracluster communications should be configured so that each NIC (one per node) uses a private IP address range and should not have a default gateway. It is a good practice to rename the networks so there is no confusion regarding their use.

Many cluster administrators will tune the intracluster communication network (also known as the private network or heartbeat network) so it is not configured with unnecessary services. For example, the private network should be configured as follows and as shown in this network clip:

  • Clear the checkbox for Client for Microsoft Networks
  • Clear the checkbox for QoS Packet Scheduler
  • Clear the checkbox for File and Printer Sharing for Microsoft Networks
  • Clear the checkboxes for the Link-Layer Topology options
  • Clear the checkbox for Register this connection’s address in DNS
  • Clear the checkbox for Enable LMHOSTS Lookup
  • Select the radio button for Disable NetBIOS over TCP/IP

Install and configure the failover cluster feature is the third major step in configuring our CCR cluster. This step is pretty easy. All we need to do here is add the Failover Cluster feature to each of our nodes so that they can be part of a cluster. The clip shows the steps of installing this feature. Actually, the feature is already installed in the clip, but it is easy to see from the clip how the feature would be installed on each node. You can also run the feature installation from the command line by running:

  • ServerManagerCMD -i Failover-Clustering

Now that the feature is installed, we can take the next step and actually create our cluster. The Create Cluster link can be used in a couple of different locations to create the cluster and configure it as shown in this Failover Cluster clip.

Once we have created the cluster, we need to change the quorum type to support CCR. The recommended quorum type is Node Majority with File Share Witness. This clip shows the process of configuring the File Share Witness.

Installing Exchange Server 2007 on the Cluster is the second to last step. In this step, we run the setup program from the Exchange Server 2007 installation media. During the installation, we will select the custom installation option and select Active Clustered Mailbox Role. The option to select either Cluster Continuous Replication or Single Copy Cluster is next. The process is seen here in this CCR Installation clip.

The last step is to run the setup program from the Exchange Server 2007 installation media on the other node and select the Passive Clustered Mailbox Role. The steps are the same for the passive node as for the active node with the exception of selecting the passive installation option.

PowerShell and Windows Server 2008 Failover Clusters

One of the major changes moving forward into Windows Server 2008 R2 is that some of the tools are being deprecated (I love that word) in favor of PowerShell.

Some people just screamed, “Wooo hooo, fantastic!” while others screamed, “Great, now I have to learn another tool after investing all of those years in the tools of the past!”

I, personally, take the first view point in that this is great news. It now forces me to start using PowerShell more than just in Exchange Server 2007. PowerShell will be the main tool in the future, so it is important to learn it now.

So, this is the perfect time to start talking about the differences and how we will now use PowerShell in Windows Server 2008 R2 failover clustering. Let’s start from the beginning.

Get-WindowsFeature in PowerShell will provide a list of all features and a checkbox will show whether they are installed or not.

Add-WindowsFeature Failover-Clustering will add the failover clustering feature along with the Remote Server Administrative Tools (RSAT) for Failover Clustering Tools.

From here on, it is all down hill. We have the feature installed, and the PowerShell module is imported. Like all PowerShell commands, the list can be broken down into Add, Block, Clear, Get, Grant, Move, New, Remove, Resume, Set, Start, Stop, Suspend, Test, and Update verbs. If you want to see a setting, you will generally use a Get verb combined with the noun describing what you want to find. For example, the Get-Cluster cmdlet will provide information about the cluster such as the domain name, the name of the cluster, and the description of the cluster along with several other bits of information. The various cmdlets related to failover clustering can be found by using the Get-Command –module FailoverClusters cmdlet. The resulting cmdlets are broken out by verb below.

Add cmdlets include the following:

  • Add-ClusterDisk
  • Add-ClusterFileServerRole
  • Add-ClusterGenericApplicationRole
  • Add-ClusterGenericScriptRole
  • Add-ClusterGenericServiceRole
  • Add-ClusterGroup
  • Add-ClusterNode
  • Add-ClusterPrintServerRole
  • Add-ClusterResource
  • Add-ClusterResourceDependency
  • Add-ClusterResourceType
  • Add-ClusterServerRole
  • Add-ClusterSharedVolume
  • Add-ClusterVirtualMachineRole

There is only one block cmdlet for failover clustering, and it is used to block users from accessing the failover cluster.

  • Block-ClusterAccess

There are two Clear cmdlets for failover clustering. Clear-ClusterDiskReservation is used to clear the persistent reservation on a disk. The Clear-ClusterNode is used to forcibly remove the failover cluster feature from a node.

  • Clear-ClusterDiskReservation
  • Clear-ClusterNode

The Get cmdlets are probably the most used. Get verbs allow for the easy retrieval of information about a failover cluster

  • Get-Cluster
  • Get-ClusterAccess
  • Get-ClusterAvailableDisk
  • Get-ClusterGroup
  • Get-ClusterLog
  • Get-ClusterNetwork
  • Get-ClusterNetworkInterface
  • Get-ClusterNode
  • Get-ClusterOwnerNode
  • Get-ClusterParameter
  • Get-ClusterQuorum
  • Get-ClusterResource
  • Get-ClusterResourceDependency
  • Get-ClusterResourceDependencyReport
  • Get-ClusterResourceType
  • Get-ClusterSharedVolume

The Grant verb is basically the reverse of the block verb. With the Grant-ClusterAccess cmdlet, you can provide full access to the failover cluster, and with the –readonly parameter, read only access can be provided.

  • Grant-ClusterAccess

The Move verb can be used to move resources between failover cluster nodes.

  • Move-ClusterGroup
  • Move-ClusterResource
  • Move-ClusterSharedVolume
  • Move-ClusterVirtualMachineRole

The New-Cluster cmdlet does just what it says it does. It creates new failover clusters.

  • New-Cluster

The Remove verb is used to delete resources or to completely destroy the cluster by using the Remove-Cluster cmdlet.

  • Remove-Cluster
  • Remove-ClusterAccess
  • Remove-ClusterGroup
  • Remove-ClusterNode
  • Remove-ClusterResource
  • Remove-ClusterResourceDependency
  • Remove-ClusterResourceType
  • Remove-ClusterSharedVolume

The Resume verb is used to resume either the activity on a node after it has been suspended or to take a cluster disk or cluster shared volume out of maintenance mode.

  • Resume-ClusterNode
  • Resume-ClusterResource

The Set cmdlets are extremely powerful in that they can be used to make changes to the cluster resources and the cluster itself.

  • Set-ClusterLog
  • Set-ClusterOwnerNode
  • Set-ClusterParameter
  • Set-ClusterQuorum
  • Set-ClusterResourceDependency

The Start verb is used to start the cluster service, for example with the Start-Cluster cmdlet, or to start groups or resources.

  • Start-Cluster
  • Start-ClusterGroup
  • Start-ClusterNode
  • Start-ClusterResource

If there is a Start verb, then it makes sense that there is a Stop verb that does the exact opposite. For example, you can shut down the cluster by using the Stop-Cluster cmdlet or you can stop entire groups or individual resources by using the Stop cmdlets below.

  • Stop-Cluster
  • Stop-ClusterGroup
  • Stop-ClusterNode
  • Stop-ClusterResource

The Suspend verb does the opposite of the Resume verb. The Suspend verb is used to pause a node by using the Suspend-ClusterNode cmdlet, and the Suspend-ClusterResource cmdlet will turn on maintenance mode for a disk resource or a cluster shared volume.

  • Suspend-ClusterNode
  • Suspend-ClusterResource

The Test-Cluster cmdlet is used to run the Validate tool. At first glace, you would think it would have been named something like Validate-Cluster, but to make the cmdlet consistent with other features and applications, the Test verb is used.

  • Test-Cluster

Update-ClusterIPResource is used to release the DHCP lease for IP Address resources and Update-ClusterVirtualMachineConfiguration is used to refresh the configuration settings when adding a new network adapter or to refresh other settings such as the virtual memory configuration for VMs running in the failover cluster.

  • Update-ClusterIPResource
  • Update-ClusterVirtualMachineConfiguration

To learn more about each command, use the help that is built into PowerShell. You will find that a simple command like, Get-Help CmdletName will retrieve some basic information, but if you extend it with the –full parameter or the –example parameter, and you can get an easy grasp of what you can do with the Cmdlet.

Antivirus for Windows Home Server

I was using the freebie that came with my WHS, which is provided by McAfee. So, me being a lazy person, I figured I would just purchase the product since the free trial ran out. Once on the console, it looked easy. I clicked the link to buy the product.

Well, that is where it because a major pain. While McAfee was more than willing to take my money, they don’t seem very willing to tell you how to install it. No problem, I will suck it up and call the tech support team. Well, the tech support team that handles home users does not support WHS. The Enterprise team supports WHS. Oh yeah, that makes sense. After about an hour on hold, I got to talk to a tech who did not seem to understand that WHS is a product and it is not just a server at my home. After going back and forth on hold and finally getting a tech that seemed to know what to do, I was cut off.

What to do, what to do… Being a bit of a hot head, I called McAfee and got my money back.

The solution? Avast has a WHS version, and it works like an add-on for WHS. It was fast, it was easy, and I am glad that I found Avast.

StarWind Software – Cluster Presentations

StarWind Software has been a wonderful partner to work with over the last few years. I first started working with the product when it was part of Rocket Division, but it was split off and became its own company several months ago.

I recently did a web cast for StarWind Software, and it was a fun project. They also have had several others do web casts on cluster topics. I highly recommend that everyone visit their site to learn more about clustering and to see how their product works with clustering. I think you will be happy to see it.