Since Failover Clustering traditionally requires shared storage (you could also use hardware or software replication between nodes), we get a lot of questions about which shared storage types we support. Windows Server Failover Clustering has a very flexible storage model that allows a wide variety of storage and volume management solutions from 3rd parties to integrate and extend the functionality of clustering. One common question I commonly get asked is around Dynamic Disk support on Windows Server Failover Clusters, so I thought I would take a moment to address this.
Are Dynamic Disks supported on Failover Clusters?
Yes, they absolutely are, however support is not provided natively in-box in Windows Server for Failover Clusters. It requires an add-on product from Symantec called Storage Foundation for Windows Server to enable support of Dynamic Disks on Windows Server Failover Clusters. You can learn more about the Storage Foundation for Windows product here:
This KB article also discusses support for Dynamic Disks on Windows Server Failover Clusters: http://support.microsoft.com/kb/237853
Now let me ask you… Why do you want to use Dynamic Disks?
Dynamic Disks do provide a number of different features, so it is good to think about the applicable scenarios as it is common for people to have misunderstandings.
I commonly hear three answers when I ask this question:
- “I need to have large partitions”
- “I need to be able to dynamically grow partitions”
- “I want to use Software RAID”
Well, did you know that you actually don’t need Dynamic Disks to accomplish those?
While Basic disks that use MBR partition table only support a maximum of 2 TB partitions, basic disks that use GUID partition table (GPT) disks enable partitions that are greater than 2 TB and are fully supported on Failover Clusters, using Windows Server 2008 and later. If you happen to still be using Windows Server 2003, you can add support for GPT based disks with a post Service Pack 2 hotfix, available at: http://support.microsoft.com/kb/919117
If you want to learn more about the advantages of GPT disks, here is a good FAQ: http://www.microsoft.com/whdc/device/storage/GPT_FAQ.mspx
So, you can create large volumes with in-box Basic GPT disks.
Dynamically Growing Partitions
With Windows Server 2003 and later you can dynamically increase the size of a partition on a Failover Cluster. There is a simple right-click option in the Disk Management (DiskMgmt.msc) snap-in to “Extend Volume”. Starting with Windows Server 2008 R2 another new feature was added so that you can now not only extend a volume, but you can also “Shrink Volume”. This can be done on clustered disks with no downtime.
In Windows Server 2003 this needed to be done via the command line with DiskPart, as described in this KB article: http://support.microsoft.com/kb/304736
So, you can dynamically grow or shrink volumes with in-box Basic disks.
Most Failover Clusters are deployed using external storage (Fibre Channel, iSCSI, FCoE, or SAS), and all clusterable SAN class storage supports Hardware RAID. So most customers choose to go with the Hardware RAID they already have in the storage array instead of using Software RAID.
Some customers use low cost commodity JBOD’s and then want to use software RAID to create resilient shared storage. With Windows Server 2012 this can be accomplished using the in-box Storage Spaces feature. Spaces creates resilient storage with software from external shared JBOD’s, and is fully supported on a Failover Cluster.
So, you can create resilient storage from JBOD’s with in-box Storage Spaces.
What are the scenarios that Dynamic Disks make sense?
There are fewer reasons why you might need Dynamic Disks these days, since much of this functionality is now possible with Basic disks. What are the reasons why you might actually need them? That is fair to discuss as well and I commonly hear two answers
- “I need to be able to span a single volume over multiple LUNs”
With spanning volumes, that really is a matter of how you do your SAN management when increasing capacity. Most storage arrays these days support dynamically expanding the size of a LUN. As I said earlier, with Basic disks you can dynamically increase the size of that volume to match the new larger LUNs. You can also use Thin Provisioning to create LUN’s, but not fully allocate the disk space at provisioning time. However some people prefer to concatenate LUNs and span a single volume over multiple LUNs, then they just create a new LUN and span the volume over that new LUN when they want to add capacity. For old-school IT departments that are highly silo’d, I sometimes hear this is ‘easier’ for SAN admins to just create a new LUN, opposed to tracking down the right LUN and expanding it. I have no right or wrong answer for you here, it’s a matter of how you manage your SAN’s. With Storage Spaces you can use a Simple Space to combine multiple physical disks into a single logical volume, however Spaces is designed to be a SAN alternative… not another layer to put on top of your SAN. So it doesn’t fit the bill for what most people are looking for in this specific scenario.
I hope this helps in understanding that Dynamic Disks are supported with Windows Server Failover Clustering with the add-on product from Symantec Storage Foundations for Windows. Microsoft has continually strived to build functionality into Windows that provides ease of use and convenience for server administrators. This is the case with the ability to dynamically expand and shrink volumes and create large volumes using GPT formatted disks. As mentioned, using Dynamic Disks do provide a great add-on product that extends the functionality of Failover Clustering and I hope the above information allows you to make informed choices on what is right for you.
Principal Program Manager Lead
Clustering & High-Availability