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.
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:
- At a command prompt, type diskpart, and then press ENTER.
- Type the following commands at the DISKPART prompt, and then press ENTER:
- list disk
Note You receive output that resembles the following:The list disk command provides summary information about each disk that is installed on the computer. The disk that has the asterisk (*) mark has the current focus. Only fixed disks and removable disks are listed. Fixed disks include integrated device electronics [IDE] and SCSI disks. Removable disks include 1394 and USB disks.
Disk ### Status Size Free Dyn Gpt
-------- ---------- ------- ------- --- ---
Disk 0 Online 37 GB 8033 KB
Disk 1 Online 17 GB 8033 KB
Disk 2 Online 17 GB 0 B
Disk 3 Online 17 GB 148 MB *
Disk 4 Online 17 GB 8 MB *
Disk 5 Online 17 GB 8 MB *
Disk 6 Online 17 GB 8 MB *
Disk 7 Online 17 GB 8 MB *
Disk 8 Online 17 GB 435 KB *
Disk 9 Online 17 GB 8 MB *
Disk 10 Online 17 GB 8033 KB
- select disk
Use the select disk command to set the focus to the disk that has the specified Microsoft Windows NT disk number. If you do not specify a disk number, the command displays the current disk that is in focus.
- create partition primary align=1024
- When you type this command, you may receive a message that resembles the following:
- The align= number parameter is typically used together with hardware RAID Logical Unit Numbers (LUNs) to improve performance when the logical units are not cylinder aligned. This parameter aligns a primary partition that is not cylinder aligned at the beginning of a disk and then rounds the offset to the closest alignment boundary.
- number is the number of kilobytes (KB) from the beginning of the disk to the closest alignment boundary. The command fails if the primary partition is not at the beginning of the disk. If you use the command together with the offset =number option, the offset is within the first usable cylinder on the disk.
- list disk
- Type exit, and then press ENTER.
- Click Start, click Run, type diskmgmt.msc, and then click OK.
- In the Disk Management Microsoft Management Console (MMC) snap-in, locate the newly created partition, and then assign it a drive letter.
- Use the NTFS file system to format the new partition, and then assign a cluster size.
For more information about multi-partition alignment per RAID group, click the following article number to view the article in the Microsoft Knowledge Base:
Example of alignment calculations in bytes 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
(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:
- Click Start, click Run, type cmd, and then click OK.
- Type the following command, and then press Enter:wmic partition get BlockSize, StartingOffset, Name, IndexNote After you run the command, you receive output that resembles the following:
BlockSize Index Name StartingOffset
512 0 Disk #1, Partition #0 32256
512 0 Disk #2, Partition #0 32256
512 0 Disk #3, Partition #0 32256
512 0 Disk #4, Partition #0 1048576
512 0 Disk #0, Partition #0 32256
512 1 Disk #0, Partition #1 41126400
- Notice the value of BlockSize and of StartingOffset for each given partition. The Index value that is returned by this command indicates whether a partition is the first partition, the second partition, or other partitions for a given disk drive. For example, a partition index of 0 is the first partition on a given disk.
- To determine how many disk sectors a given partition starts from the beginning of the disk, divide the value for StartingOffset by the value of BlockSize. In the example in step 2, the following calculation yields the partition starting offset in sectors:
32256 / 512 = 63