Disk partition alignment

Version 10

    What is Disk partition alignment?

    In a SAN environment, the smallest hardware unit used by a SAN storage array to build a LUN out of multiple physical disks is a called a chunk or a stripe. To optimize I/O, chunks are usually much larger than sectors. Thus a SCSI I/O request that intends to read a sector in reality reads one chunk.

    On top of this, in a Windows environment NTFS is formatted in blocks ranging from 1MB to 8MB. The file system used by the guest operating system optimizes I/O by grouping sectors into clusters (allocation units).

    Also, operating systems on x86 architectures create partitions with a master boot record (MBR) that consumes 63 sectors. This is due to legacy BIOS code from the PC that used cylinder, head, and sector addressing instead of logical block addressing (LBA). Without LBA, the first track is reserved for the boot code, and the first partition starts at cylinder 0, head 1, and sector 1. This is LBA 63 and is therefore unaligned.

    An unaligned partition results in a track crossing and an additional I/O, incurring a penalty on latency and throughput. The additional I/O (especially if small) can impact system resources significantly on some host types. An aligned partitions ensures that the single I/O is serviced by a single device, eliminating the additional I/O and resulting in overall performance improvement.


    The performance degradation of unaligned partition occurs during intensive I/O workloads rather than on those with low to moderate I/O activity.


    Partitions that are not aligned:



    Partitions that are well aligned:



    A good document about align problem is "Recommendations for Aligning VMFS Partitions" (This paper is now considered obsolete, but it still contain a lot of useful information):



    For the latest information on this topic there "Performance Best Practices for VMware vSphere® 4.0":



    Align a VMFS partition

    Note that if you add a datastore using a VI Client connected directly to the ESX server or through vCenter your disk will be aligned .

    For manually align a VMFS partition, see:



    These recommendations are for block-based storage solutions. I/O characteristics on NFS are different from those of Fibre Channel and iSCSI storage systems. Though partition alignment eliminates track crossings and benefits performance on all storage platforms, the throughput improvements in specific types of I/O between SAN, NFS, and iSCSI are different.


    Note that the first VMFS volume of a ESX 4.0 could not be aligned: the reason is that the volume contain the COS vmdk, so is not possible to free the volume to do the alignment.

    Align a Guest OS vmdk disk

    In Windows Vista (ans Windows 7) as well as Windows Server 2008 (and 2008 R2), partition alignment is usually performed by default. The default for disks larger than 4 GB is 1 MB. See also: http://frankdenneman.nl/2009/05/windows-2008-disk-alignment/


    Partitions created on versions of Windows up to and including Windows Server 2003 by default are not aligned. Partition alignment must be explicitly performed.


    For Microsoft OS see also:




    Storage vendor notes






    More info



    Storage Alignment and VMFS Block Sizes


    Re: I/O performance of vSphere

    Disk Alignment

    VMFS Partition Alignment

    disk alignment in vm guest os

    Specific Software

    To check if your VMs are aligned you can download a free tool called VM Check Alignment available at http://ctxadmtools.musumeci.com.ar/VMCheckAlign/Default.asp


    To perform alignment there are some commercial product, like Vizioncore vOptimizer Pro:



    Another useful tool is mbrscan/mbralign



    New free tool (in beta phase):