Article ID: 929491 - View products that this article applies to.
Disk performance may be slower than expected when you use multiple disks in Microsoft Windows Server 2003, in Microsoft Windows XP, and in Microsoft Windows 2000. For example, performance may slow when you use a hardware-based redundant array of independent disks (RAID) or a software-based RAID.
This issue may occur if the starting location of the partition is not aligned with a stripe unit boundary in the disk partition that is created on the RAID.
A volume cluster may be created over a stripe unit boundary instead of next to the stripe unit boundary. This is because Windows uses a factor of 512 bytes to create volume clusters. This behavior causes a misaligned partition. Two disk groups are accessed when a single volume cluster is updated on a misaligned partition.
Windows creates partitions that are based on a predefined number of sectors. The starting location for a disk partition in Windows Server 2003 is either the 32nd or the 64th sector, depending on the information that is presented to the operating system by the mass storage controller.
Note Disk partitions always reserve the first sector of the partition for code and for partition information, such as the number of sectors and the starting sector. The actual data part of the partition starts from the second sector of the partition.
To resolve this issue, use the Diskpart.exe tool to create the disk partition and to specify a starting offset of 2,048 sectors (1 megabyte). A starting offset of 2,048 sectors covers most stripe unit size scenarios.
Note Windows Server 2003 Service Pack 1 introduced the ability for Diskpart to adjust the partition alignment. If you do not have access to an updated version of Diskpart, diskpar (Notice that there is no final "t" on the name for this utility) is available. For more information, visit following Microsoft Web site:
To verify that an existing partition is aligned, perform the calculation that is described in the "More Information" section.
To align a disk partition on a RAID that has a 2,048-sector offset, follow these steps:
For more information about multi-partition alignment per RAID group, click the following article number to view the article in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/923076/ )An updated version of the Disk Partition tool for Windows Server 2003 is available
To verify that an existing partition is aligned, divide the size of the stripe unit by the starting offset of the RAID disk group. Use the following syntax:
((Partition offset) * (Disk sector size)) / (Stripe unit size)Note Disk sector size and stripe unit size must be in bytes or in kilobytes (KB).
Example of alignment calculations in bytes for a 256-KB stripe unit size:
(63 * 512) / 262144 = 0.123046875Example of alignment calculations in kilobytes for a 256-KB stripe unit size:
(64 * 512) / 262144 = 0.125
(128 * 512) / 262144 = 0.25
(256 * 512) / 262144 = 0.5
(512 * 512) / 262144 = 1
(63 * .5) / 256 = 0.123046875These examples shows that the partition is not aligned correctly for a 256-KB stripe unit size until the partition is created by using an offset of 512 sectors (512 bytes per sector).
(64 * .5) / 256 = 0.125
(128 * .5) / 256 = 0.25
(256 * .5) / 256 = 0.5
(512 * .5) / 256 = 1
Note The number of disks in the array group does not affect the partition alignment. The factors that affect partition alignment are stripe unit size and partition starting offset.
To find the starting offset for a given partition, follow these steps:
For more information about the Diskpart.exe tool, visit the following Microsoft Web site:
Article ID: 929491 - Last Review: June 8, 2009 - Revision: 4.0