天天看點

無盤伺服器硬碟分區對齊,磁盤分區對齊詳解與配置 – 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讀寫性能影響。

無盤伺服器硬碟分區對齊,磁盤分區對齊詳解與配置 – Windows篇

圖1

Windows磁盤分區對齊配置:

配置磁盤分區對齊後,如下圖所示四個分區的例子中,對比圖1中不對稱的情況,圖2中這些Windows的分區結束位址與圖1中的位址位置一緻了。

無盤伺服器硬碟分區對齊,磁盤分區對齊詳解與配置 – Windows篇

圖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的配置

無盤伺服器硬碟分區對齊,磁盤分區對齊詳解與配置 – Windows篇

對于Windows 2003 sp1以上版本,dispar指令被dispart指令所替換。

1. 在CMD指令行運作Diskpart指令

C:\>diskpart

2. 選擇對應的Disk

DISKPART>Select Disk X

3. 建立分區設定偏移量為64KB(128 Block),下面的例子為建立一個1GB的分區。

DISKPART>create partition primarysize=1024align=64

***,進行分區對齊操作的時候需要注意:對齊操作需要在磁盤上寫入資料之前完成,***在磁盤剛剛映射到主機時進行。磁盤對齊操作必然損壞磁盤上的資料,是以如果有資料需先備份,操作的時候注意資料安全。

參考

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

應用于

Windows 2000

Windows 2003

Windows 2008