GPT and Failover Clustering
Its Robert Mitchell again and I’m back to talk about my favorite subject, storage.
I’ve had a number of people ask me about how GPT disks are used in conjunction with Windows Failover Cluster. So I wanted to take a few minutes to clear up any misconceptions there might be on how this works under the covers.
If you haven’t read my previous blogs about GPT, you may wish to review those first and then come back here.
https://blogs.technet.com/b/askcore/archive/2010/10/08/gpt-in-windows.aspx
- The old way -
When Windows Failover Cluster brings a disk online, there are a number of checks it performs to make sure that the disk is ready for use. One of these checks is a read/write check. This is done be reading and writing to sectors 11 and 12. If you look in the cluster.log it will look like this….
INFO Physical Disk <NewDisk>: [DiskArb] Successful read (sector 12)
INFO Physical Disk <NewDisk>: [DiskArb] Successful write (sector 11)
INFO Physical Disk <NewDisk>: [DiskArb] Successful read (sector 12)
INFO Physical Disk <NewDisk>: [DiskArb] Successful write (sector 12)
INFO Physical Disk <NewDisk>: [DiskArb] Successful read (sector 11)
NOTE: Entries simplified
Cluster uses these sectors because they are typically not used by anybody and they exist in the ‘unprotected space’ between the Master Boot Record at sector 0 and the boot sector of the first partition (location varies).
- Enter the GPT disk -
Because of the nature of a how a GPT disk works it does not have ‘unprotected space’. And specifically sectors 11 and 12 are part of the GPT disk’s partition array (the green area).
The way cluster deals with is to carve out part of the MS Reserved Partition and create a new partition to be used for the read/write test.
This cluster partition is simply a two sector partition and contains no file system. And the location is predictable as it will be the first two sectors after the partition array. The partition array exists in sectors 2 – 33.
So if we look at the cluster.log when bringing a GPT disk online, we will see this..
INFO Physical Disk <NewGPT>: [DiskArb] Successful read (sector 35)
INFO Physical Disk <NewGPT>: [DiskArb] Successful write (sector 34)
INFO Physical Disk <NewGPT>: [DiskArb] Successful read (sector 35)
INFO Physical Disk <NewGPT>: [DiskArb] Successful write (sector 35)
INFO Physical Disk <NewGPT>: [DiskArb] Successful read (sector 34)
NOTE: Entries simplified
This explains the tiny cluster partition that you might run into if you start poking around with DISKPART. Depending on the version of DISKPART you are using, the cluster partition will display as either Unknown or Reserved.
We know that this is the correct partition by its size and location. Assuming a 512 byte sector (which most disks still are), a two sector partition would be 1024 bytes. And sector 34 would start at offset 17,408 or 17 KB.
Another related question that I’m sometimes asked about GPT is, “What are the different GPT partition types that Windows cares about and what are the GUIDs that correspond to each type?”
Microsoft Windows understands and uses the following partition types;
Microsoft Reserved Partition | E3C9E316-0B5C-4DB8-817D-F92DF00215AE |
Basic Data Partition | EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 |
LDM Metadata Partition | 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3 |
LDM Data Partition | AF9B60A0-1431-4F62-BC68-3311714A69AD |
Cluster Partition | DB97dBA9-0840-4bAE-97F0-FFB9A327C7E1 |
WinRE | DE94BBA4-06D1-4D40-A16A-BFD50179D6AC |
This isn’t something that most people will need to know. But since I do get asked about it from time to time, I wanted to include it here.
Thank you for your time,
Robert Mitchell
Senior Support Escalation Engineer
Microsoft Enterprise Platforms Support
Comments
- Anonymous
January 01, 2003
Jody,Yes. GPT disks in 2003 (not RTM..but added later in Service Packs) work the same as the do in Windows 2008.Ikke,GPT is a function of partitioning, while CHKDSK is a consistancy checker for the file system. They really don't have anything to do with one another. The file system is pretty much unaware of what type of partitioning scheme is used to house it.Roughly the stack looks like this...File system <----CHKDSK operates hereBitLockerVSSVolume ManagerPartition Manager <----GPT is hereClass Driver (Disk.sys)Port driver/Mini port driver - Anonymous
March 16, 2012
Does this apply to MSCS in 2003 R2 SP2 as well? - Anonymous
March 30, 2012
The comment has been removed