In prior versions of Windows Server Cluster (NT, 2000, 2003), adding a new disk to an existing cluster was often a cumbersome process. Sometimes the OS would not recognize the new disk. Sometimes the Cluster would not be able to add a new disk resource. Sometimes it took a reboot of the OS to detect the new disk. All those issues have been eliminated with Windows 2008 Failover Clustering. Adding new storage is a simple, reliable process that I thought I would show everyone. In this walk through, I already have a 2 node cluster. I am going to walk through adding a 1GB LUN as a new disk to an existing cluster. The first step is to present my new disk. This would normally be done via the SAN management software or the iSCSI initiator/target software. Here is what I see in Disk Management once I’ve presented my new disk to the cluster.
Note how Disk 4 shows as ‘Offline’. This behavior is the whole key to the improvements in cluster storage made in Windows 2008. In Windows 2008, we let Partition Manager handle the ‘online’/‘offline’ of a disk rather than relying on the cluster disk driver to “fence” off the disks like in previous OS versions. In Windows 2008, when a new disk or LUN is presented to an OS, the default behavior is to leave the drive ‘Offline’. By doing this, we avoid getting into a scenario where both nodes of a cluster could potentially see and access the same disks. If this happens, we are in a potential data corruption/loss scenario. The fact that prior operating system versions brought a disk online by default was the reason we recommended you have all but one node powered down when adding a new disk to a cluster. This was not always an easy task and inevitably, resulted in more complications and downtime than necessary.
So, now that we’ve presented the new disk to all nodes of the cluster, we should see the same view in Disk Manager of (Figure 1) across all nodes of the cluster. Meaning the new disk should show as ‘Basic’ and ‘Offline’ on every node of the cluster.
Our next step is to bring the disk online. We only need to do this on one of the nodes in the cluster. It does not matter which node. Right click in the gray area to the left of the volume bar, and then select ‘Online’.
The new disk should now show as ‘Online’ but still ‘Unallocated’.
Now we want to create the volume as a ‘New Simple Volume’. Note, we don’t want to select any of the other options (‘New Spanned Volume’, ‘New Striped Volume’, etc.) because in doing so would convert the disks to ‘Dynamic’ which are not supported in a clustered environment. Right-click the white area of the volume itself and choose ‘New Simple Volume’.
This will launch the ‘New Simple Volume Wizard’.
Select the size of the new volume, then [Next].
At this point, you can either assign the new disk a drive letter, create it as a mount point on an existing clustered disk, or you don’t even have to assign a drive letter. Cluster has no requirement on a disk needing a drive letter to be a clustered resource. Click [Next].
Format the volume as NTFS, select [Next].
Now we should see our newly formatted disk as online in Disk Management. Note that if you went to any other node in the cluster, we’d still show this disk as ‘offline’. This is good because we don’t want more than one node to be able to see or access a disk until it’s under the control of the cluster. That’s the step we do next.
Open Failover Cluster Manager and select ‘Storage’.
In the ‘Actions’ pane at the far right in Failover Cluster Manager, select ‘Add a disk’.
Now we should see the disk available as a resource we can add into the cluster. If we were adding multiple disks, we could add one, some, or all of the disks at this time. Make sure there’s a check in the checkbox for the disks you are adding. Click [OK].
Now, note how our new disk has been added to our pool of disks called ‘Available Storage’. These are disks that are under the control of the cluster but have not yet been added to any ‘Services and Application’ group. Basically think of ‘Available Disks’ as your repository of unused cluster disks that you can use for clustered applications.
That’s all there is to it. This process can be done without any disruption of services being provided by the cluster.
As a troubleshooting footnote, if you present a LUN to a server and you have difficulties adding it to the cluster, failing over, etc., the best way to dive deeper into the problem is run the cluster validation on the storage. The validation can often detect problems with shared storage and give you a direction to head for resolution.
Senior Support Escalation Engineer
Microsoft Enterprise Platforms Support