磁盘分区对齐详解与配置 – Windows篇

运维 系统运维
许多系统管理员可能不曾听过”磁盘分区对齐“之说,甚至一些有经验的存储管理员对分区对齐也不甚了解。磁盘分区不对齐现象是什么,为什么会造成比较严重的性能下降?相反,配置正确的分区起始位置(Offset)设置会使存储系统发挥更大的性能潜力。文章就磁盘分区对齐进行的介绍,并且给出了在Windows平台上如何配置的方法。

介绍

许多系统管理员可能不曾听过”磁盘分区对齐“之说,甚至一些有经验的存储管理员对分区对齐也不甚了解。磁盘分区不对齐现象是什么,为什么会造成比较严重的性能下降?相反,配置正确的分区起始位置(Offset)设置会使存储系统发挥更大的性能潜力。文章就磁盘分区对齐进行的介绍,并且给出了在Windows平台上如何配置的方法。

 

更多信息

什么是磁盘分区对齐(Disk Alignment、Partition Alignment):

Windows的磁盘有一种结构叫做Master Boot Record(MBR), 它的默认大小为63个Block(每个大小为512字节)。它的存在使得磁盘的初始位置和的磁盘上***个分区的初始位置有63个Block的错位。如果磁盘的单个Track大于63个Block的话。这就会导致默认的初始的位置是从第64个开始。使文件系统的中的Track和位于磁盘中的两个Track之上。这种不对齐现象会导致存储系统的性能下降,原因是单个I/O请求会跨越多个磁盘上的Track,从而导致存储系统的额外性能开销。特别是对于一些随机I/O比较较大的应用程序,影响将更大。

而对于Windows 2003以后支持的GPT Disk,也会存在磁盘分区不对齐的现象,但是结构有所不同。如图1所示(图中单位为Block,512字节),所有的分区由1MB大小(2048 Block)构成,***个分区从LBA 34开始,即17KB大小位置。这也就意味着所有的分区会有17KB的不对齐的情况发生。同样会导致I/O读写性能影响。

A-1

图1

Windows磁盘分区对齐配置:

配置磁盘分区对齐后,如下图所示四个分区的例子中,对比图1中不对称的情况,图2中这些Windows的分区结束地址与图1中的地址位置一致了。

A-2

图2

磁盘分区对齐操作,只针对Windows的Basic Disk。对于Windows 2008和Windows 2008 R2,无需对磁盘进行对齐操作,因为这个过程已经在操作系统划分分区的时候自动进行了,软件的升级还是给管理员们带来了不少便利的。对于Windows 2003和 2003 R2,以及Windows 2000,建议设置开始偏移量(starting offset)为64KB(128 block)。另外,对于Dynamic Disk类型,不能进行磁盘分区对齐操作。不过,如果原来的Basic Disk上已经进行了对齐操作的分区,会在转换后保留原来的对齐。

查看Windows磁盘分区对齐方法:

1. 查看Basic Disk的分区对齐信息:

方法1:

在Windows的命令行下输入Diskpart命令。

C:\>diskpart

选择对应的Disk

DISKPART> list disk (显示本机所有磁盘)

DISKPART> Select Disk X (x代表上面显示的从0开始的磁盘编号)

DISKPART> list partition (显示从1开始的所有的分区信息,在最右边有一个Offset/偏移量的值,如果它是8的倍数,说明你的硬盘分区是对齐的,如果不是,说明你的磁盘分区没有对齐)

方法2:

使用WMIC命令,在Windows命令行下输入下列命令,命令输出的列StartingOffset为该分区的偏移量,该数值除以512则为扇区数目:

wmic partition get BlockSize, StartingOffset, Name, Index

2.查看Dynamic Disk的对齐信息:

使用dmdiag工具,下载地址;

执行从命令行执行dmdiag.exe –v

在命令行输出中,LDM Volume区域的RelSec列,该列显示的就是Dynamic Disk的起始扇区。

磁盘分区对齐配置方法:

对于Windows 2003 sp1以下版本,使用dispar命令来设置偏移量和分区对齐。步骤如下:

1. 安装在Windows Resource Kit后,在Performance Tools目录下,通过命令行运行diskpar命令:

2. 使用diskpar –s N命令,下面的例子中定义了配置一个20GB的磁盘的错位64KB的配置

A-3

对于Windows 2003 sp1以上版本,dispar命令被dispart命令所替换。

1. 在CMD命令行运行Diskpart命令

  1. C:\>diskpart 

2. 选择对应的Disk

  1. DISKPART> Select Disk X 

3. 创建分区设置偏移量为64KB(128 Block),下面的例子为创建一个1GB的分区。

  1. DISKPART> create partition primary size=1024 align=64 

***,进行分区对齐操作的时候需要注意:对齐操作需要在磁盘上写入数据之前完成,***在磁盘刚刚映射到主机时进行。磁盘对齐操作必然损坏磁盘上的数据,所以如果有数据需先备份,操作的时候注意数据安全。

参考

Aligning GPT Basic and Dynamic Disks P/N 300-004-075

应用于

Windows 2000

Windows 2003

Windows 2008

原文出处:https://community.emc.com/docs/DOC-18571

责任编辑:黄丹 来源: 伯乐在线
相关推荐

2014-06-06 13:51:36

磁盘分区IO分析

2014-06-09 10:09:31

Linux磁盘分区

2011-01-18 09:51:59

Linux磁盘分区

2013-08-23 14:07:45

磁盘分区

2011-01-18 10:00:59

Linux磁盘分区

2009-12-15 08:50:58

Windows 7系统分区

2021-07-30 23:05:22

Windows 11Windows微软

2021-04-14 10:38:49

Windows 10Windows微软

2011-01-18 10:25:19

Linux磁盘分区

2009-10-19 18:01:35

Linux磁盘分区

2011-08-10 15:54:12

虚拟磁盘VHD

2011-08-18 17:24:48

windows7隐藏分区隐藏的磁盘分区

2017-09-13 09:23:04

磁盘分区bash

2020-01-11 19:00:01

GParted磁盘分区工具开源

2017-05-10 07:00:20

磁盘分区dcfldd工具备份分区

2010-02-25 13:34:24

Linux磁盘分区

2009-09-23 08:24:06

Windows 7磁盘图标错误

2017-03-09 14:58:19

GPartedLinux磁盘分区

2023-01-31 14:00:01

TIAPUUID

2019-02-11 14:50:21

Linux分区命令
点赞
收藏

51CTO技术栈公众号