Skip to content

Dynamic Disk Offset Does Not Favor Alignment

by Chris Wahl on Jul 26th, 2012 | 2,107 views
vador-choke

The idea of having an aligned partition is nothing new, but worth a brief discussion as it relates to Dynamic Disks. For those new to alignment, it is the process of ensuring that the block boundaries on OS partitions (in this case, NTFS) match the ones found on the underlying disk system of your storage array. The Blue Shift Blog has a great post that explains this in further details, which I highly suggest you read. Also, Nick Weaver (aka Lynxbat) has an UBER Align tool that can help fix alignment issues.

Essentially, if the blocks are not properly aligned, an IO (read or write) requires additional work on the back end.

Dynamic Disks Play Dirty

Normally, we’d want to make sure our partitions are aligned by manually creating them in older operating systems, such as Server 2003. It would often make up some goofy alignment values like 31 KB, which is not divisible by a 4 KB block and thus was not aligned. Server 2008 and Windows 7 is smart enough to just use a full 1 MB offset, which works with just about any underlying block size you can imagine.

However, when converting a fully aligned Server 2008 partition from Basic to Dynamic, something curious happens: We get a new, small database partition with a 31 KB offset.

Notice Partition 3 at the beginning of the disk with a 31 KB offset

I’m still curious as to the impact of this misaligned partition, as it does contain the database for the dynamic disk. As per this Microsoft MSDN article:

Dynamic disks offer greater flexibility for volume management because they use a database to track information about dynamic volumes on the disk and about other dynamic disks in the computer. Because each dynamic disk in a computer stores a replica of the dynamic disk database, for example, a corrupted dynamic disk database can repair one dynamic disk by using the database on another dynamic disk. The location of the database is determined by the partition style of the disk. On MBR partitions, the database is contained in the last 1 megabyte (MB) of the disk.

So, depending on how often this database partition is accessed, you could have a lot of extra IOPS hitting your array.

Thoughts

If you’re rocking one of those new fancy arrays that aligns the IO underneath the covers, like a Tintri, this really is irrelevant to you. For the rest of us, I can see this being a potential concern, but I really haven’t seen it in the wild enough to get a full understanding of how this impacts various arrays.

Is this something you’ve experienced and tested? If so, I’d love to hear from you in the comments below with any input you can offer.

From → Tech Guides

8 Comments
  1. Nice, Chris. Thanks! I’ve been reading posts on alignment for awhile now. Mostly from @plankers. Heh, leave it to @lynxbat to find a way to program something cool. Has he got the UberAlign working from an XBox interface yet?? ((grin))

    Thanks for the link and the heads up. I’m gonna send this to our VM Engineer here to see if we see the same thing.

  2. 95huskers permalink - Jul 26th, 2012

    I’ve noticed this on several of our systems. We’ve been forced to use dynamic disks if we need a volume to go over 2 TB since the VMDK is limited to 2 TB. I know RDM’s can go over 2 TB, but I really hate using them.

    Also, I’ve stumbled upon some admins in our environment that make their disks dynamic by default. [Face in palm!]

    I searched for a long time to see if there was a way to make a spanned volume that is actually aligned, but I could not figure it out. It doesn’t seem you are able to specifiy your offset once you go dymanic.

    We’ve been looking at NetApp’s Insight Balance product at it has a great report that shows all the unaligned partitions. All of the dynamic disks show up on it.

    • Chris permalink - Jul 26th, 2012

      NTAP’s Balance product is how I first stumbled upon this. Tons of alerts. :)

  3. Jim Millard permalink - Jul 26th, 2012

    Interesting that MS says the database is in the last 1MB of the disk, yet the partition table shows it in the first…

  4. ravivenkat permalink - Jul 27th, 2012

    Chris, Just wanted to chime into your thoughts section, a while back I did a post on how alignment was causing issues in some of our customer base and how Pure Storage FlashArray was able to eliminate the alignment issue altogether. My blog can be found at – Say Goodbye to VM Alignment Issues (and Poor Performance!) with Pure Storage -> http://www.purestorage.com/blog/say-goodbye-to-vm-alignment-issues-and-poor-performance-with-pure-storage/


    Ravi Venkat (@ravivenk), Pure Storage

  5. Christopher permalink - Aug 2nd, 2012

    Jim, isn’t it just the listing that lists it first, but the partition numbering says it’s last, as number 3.

  6. 95huskers permalink - Aug 13th, 2012

    This is an interesting article on the topic. It seems that NetApp Balance is reporting on the partition alignment while this MS article says it should be looking at the volume alignment…

    http://blogs.technet.com/b/askcore/archive/2011/09/26/alignment-changes-in-windows-2008-and-2008-r2.aspx

    • Chris permalink - Aug 13th, 2012

      Very interesting article … I work with dynamic disks so little (those days of needing dynamic just seem to be dead and gone) – this really helps explain the reason behind the misalignment alerts. Really appreciate the comment and link!

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS