本文介绍磁盘性能可能低于预期的问题的解决方法。 使用基于硬件或基于软件的 RAID 时,可能会出现此问题。
原始 KB 数: 929491
现象
在 Windows 中使用多个磁盘时,磁盘性能可能低于预期。 例如,使用基于硬件的独立磁盘冗余阵列(RAID)或基于软件的 RAID 时,性能可能会降低。
原因
如果分区的起始位置与 RAID 上创建的磁盘分区中的条带单元边界不一致,则可能会出现此问题。
可以通过条带单元边界而不是条带单元边界旁创建卷群集。 这是因为 Windows 使用 512 字节的因子来创建卷群集。 此行为会导致分区不对齐。 在未对齐分区上更新单个卷群集时,将访问两个磁盘组。
Windows 基于预定义的扇区数创建分区。 Windows 中磁盘分区的起始位置是第 32 个或第 64 个扇区,具体取决于大容量存储控制器提供给操作系统的信息。
注意
磁盘分区始终保留分区的第一个扇区,用于代码和分区信息,例如扇区数和起始扇区。 分区的实际数据部分从分区的第二个扇区开始。
解决方法
若要解决此问题,请使用Diskpart.exe工具创建磁盘分区,并指定 2,048 扇区(1 兆字节)的起始偏移量。 2,048 个扇区的初始偏移量涵盖大多数条带单元大小方案。
注意
Windows Server 2003 Service Pack 1 引入了 Diskpart 调整分区对齐能力。 如果无法访问更新版本的 Diskpart,diskpar(请注意,此实用工具的名称上没有最终的“t”可用)。
若要验证现有分区是否一致,请执行“详细信息”部分中所述的计算。
若要在具有 2,048 扇区偏移量的 RAID 上对齐磁盘分区,请执行以下步骤:
在命令提示符下,键入 diskpart,然后按 Enter。
在 DISKPART 提示符下键入以下命令,然后按 Enter:
list disk你会收到类似于以下内容的输出:
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此命令
list disk提供有关计算机上安装的每个磁盘的摘要信息。 具有星号 \ 标记的磁盘具有当前焦点。 仅列出固定磁盘和可移动磁盘。 固定磁盘包括集成设备电子 [IDE] 和 SCSI 磁盘。 可移动磁盘包括 1394 个和 USB 磁盘。select disk使用 select disk 命令将焦点设置为具有指定磁盘编号的磁盘。 如果未指定磁盘编号,该命令将显示焦点中的当前磁盘。
create partition primary align=1024注意
- 键入此命令时,可能会收到类似于以下内容的消息:DiskPart 已成功创建指定的分区。
- align= number 参数通常与硬件 RAID 逻辑单元数(LUN)一起使用,以提高逻辑单元未对齐时的性能。 此参数对齐未在磁盘开头对齐的主分区,然后将偏移量舍入到最近的对齐边界。
- number 是磁盘开头到最接近对齐边界的千字节数(KB)。 如果主分区不在磁盘的开头,该命令将失败。 如果将命令与 offset = number 选项一起使用,则偏移量位于磁盘上的第一个可用柱形图中。
exit单击“开始”,单击“运行”,键入 diskmgmt.msc,然后单击“确定”。
在磁盘管理Microsoft管理控制台(MMC)管理单元中,找到新创建的分区,然后将其分配驱动器号。
使用 NTFS 文件系统格式化新分区,然后分配群集大小。
注意
此示例过程适用于每个 RAID 组的单个分区。
详细信息
若要验证现有分区是否对齐,请将条带单元的大小除以 RAID 磁盘组的起始偏移量。 使用以下语法:
((分区偏移量) * (磁盘扇区大小)/ (条带单位大小)
注意
磁盘扇区大小和条带单元大小必须以字节或 KB 为单位。
256 KB 条带单元大小的对齐计算示例(以字节为单位):
(63 * 512) / 262144 = 0.123046875
(64 * 512) / 262144 = 0.125
(128 * 512) / 262144 = 0.25
(256 * 512) / 262144 = 0.5
(512 * 512) / 262144 = 1
256 KB 条带单位大小的对齐计算示例:
(63 *.5) / 256 = 0.123046875
(64 *.5) / 256 = 0.125
(128 *.5) / 256 = 0.25
(256 *.5) / 256 = 0.5
(512 *.5) / 256 = 1
这些示例显示,分区对于 256 KB 条带单元大小没有正确对齐,直到使用 512 扇区(每个扇区 512 个字节)的偏移量创建分区为止。
注意
数组组中的磁盘数不会影响分区对齐方式。 影响分区对齐的因素是条带单元大小和分区起始偏移量。
若要查找给定分区的起始偏移量,请执行以下步骤:
单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。
键入以下命令,然后按 Enter:
wmic partition get BlockSize, StartingOffset, Name, Index运行该命令后,会收到如下所示的输出:
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请注意每个给定分区的 BlockSize 和 StartingOffset 的值。 此命令返回的 Index 值指示分区是给定磁盘驱动器的第一个分区、第二个分区还是其他分区。 例如,分区索引为 0 是给定磁盘上的第一个分区。
若要确定给定分区从磁盘开头开始的磁盘扇区数,请将 StartingOffset 的值除以 BlockSize 的值。 在步骤 2 中的示例中,以下计算在扇区中生成分区起始偏移量:
32256 / 512 = 63