磁盤按照物理扇區(qū)大小的不同分為三種512byte原生扇區(qū)硬盤(512n),4KB扇區(qū)仿真512byte(512E)磁盤,4kB扇區(qū)原生磁盤。
首先說(shuō)物理扇區(qū),扇區(qū)是硬盤上最小的讀寫單位,這個(gè)是硬盤決定的,不是操作系統(tǒng)決定的。當(dāng)然可以被修改,但是需要操作系統(tǒng)支持,否則也不會(huì)有操作系統(tǒng)支持4k的問(wèn)題了。扇區(qū)包含了數(shù)據(jù)和編號(hào),校驗(yàn)碼之類的數(shù)據(jù)。推出4k是因?yàn)楝F(xiàn)在硬盤可靠性上升了,用不著每512bytes搞一個(gè)校驗(yàn)碼了,4096bytes搞一個(gè)校驗(yàn)碼就可以滿足需求,還可以省出來(lái)存儲(chǔ)數(shù)據(jù)。簇是文件系統(tǒng)的最小讀寫單位,簇是扇區(qū)的倍數(shù),簇可以可以保證里面的扇區(qū)是連續(xù)的。這兩個(gè)對(duì)磁盤性能都有影響,影響原因基本類似,主要是磁頭尋道耗時(shí),4k扇區(qū)在讀取連續(xù)數(shù)據(jù)時(shí)相比512bytes,最優(yōu)情況可以減少4倍尋道時(shí)間,簇保證扇區(qū)連續(xù)相當(dāng)于把多個(gè)扇區(qū)打包成一個(gè)大扇區(qū),保證連續(xù)讀取磁盤數(shù)據(jù)時(shí)候速度更快。
512n的物理扇區(qū)是512bytes,512e和4k原生磁盤的物理扇區(qū)是4k,其中512e是因?yàn)楫?dāng)時(shí)部分操作系統(tǒng)識(shí)別不了4k物理扇區(qū),而做的兼容方案。相對(duì)于512n磁盤,后兩者的讀寫效率要高很多原生512n每個(gè)扇區(qū)都有50bytes的ECC糾錯(cuò)碼;4KB扇區(qū)將這個(gè)ECC區(qū)域合并、擴(kuò)大(但沒(méi)有50bytes的8倍那么大),并省去了間隔、地址標(biāo)記等空間,因此格式化效率提升到大約97%,并且能否檢測(cè)和糾正更大的介質(zhì)錯(cuò)誤。也就是說(shuō),在磁記錄密度不變的情況下,“高級(jí)格式化”能夠提供更大的實(shí)際可用容量。隨著硬盤上的記錄單元——磁極尺寸不斷縮小,容量增速放緩,4KB扇區(qū)是未來(lái)大容量硬盤的趨勢(shì)。
512byte原生扇區(qū)硬盤的生命周期將在2017年終止(部分企業(yè)級(jí)產(chǎn)品和老型號(hào)可能例外)。按照這個(gè)之前的預(yù)計(jì),以3.5” 7200轉(zhuǎn)為例最大是4TB,超出該容量物理扇區(qū)只有4KB了?實(shí)際上我們看到有硬盤廠商推出6TB 512byte物理扇區(qū)的型號(hào),包括密封充氦7碟片和非充氦普通6碟片,但繼續(xù)增大容量還是需要4KB扇區(qū)。
4KB扇區(qū)仿真512byte(512E)已經(jīng)廣泛應(yīng)用于客戶端,畢竟即使出現(xiàn)寫放大或者未對(duì)齊寫入產(chǎn)生更多I/O,PC用戶對(duì)磁盤性能也沒(méi)有那么敏感,但企業(yè)級(jí)應(yīng)用則要保守多了。Windows Server 2008(2012)之前的操作系統(tǒng)如windows2003由于不能很好識(shí)別512E,只能按照512n的讀取方式不能做到扇區(qū)對(duì)齊寫入,而windowsserver2008能夠很好的支持512E做到扇區(qū)對(duì)齊寫入。關(guān)于對(duì)齊與非對(duì)齊的方式如下圖
512E的“對(duì)齊/非對(duì)齊”寫入
其中“Misaligned”和“Aligned”分別表示在使用512e硬盤時(shí)非對(duì)齊和對(duì)齊的4KB I/O塊操作。由于4KB塊(比如對(duì)應(yīng)文件系統(tǒng)的頁(yè)面)操作需要先以8個(gè)512bytes邏輯扇區(qū)寫入到硬盤,再合并記錄到4KB物理扇區(qū),
在非對(duì)齊的情況下,一個(gè)4KB邏輯寫I/O對(duì)應(yīng)到2個(gè)物理磁盤扇區(qū),如果是新寫入就會(huì)產(chǎn)生2次I/O;若是改寫之前物理扇區(qū)中的數(shù)據(jù),則需要讀-更改-寫的操作,這種非原子寫入(non-atomic)最多可能產(chǎn)生4次I/O。
而對(duì)齊的情況則簡(jiǎn)單多了,盡管中間要經(jīng)過(guò)硬盤模擬512bytes扇區(qū)的過(guò)程,但每個(gè)4KB的I/O操作都是對(duì)應(yīng)到一個(gè)物理扇區(qū)。屬于比較理想的情況。
原生4KB扇區(qū)硬盤直到2014年晚期才發(fā)布針對(duì)企業(yè)級(jí)市場(chǎng)的版本
關(guān)于操縱系統(tǒng)對(duì)三種磁盤的支持如下圖:
其中,Windows從Server 2008開(kāi)始能夠感知512e硬盤并自動(dòng)對(duì)齊分區(qū);Server 2012進(jìn)一步加入了對(duì)原生4Kn設(shè)備的支持。RHEL 6可以感知512e和4Kn硬盤并能自動(dòng)對(duì)齊;SLES 11能感知512e和4Kn硬盤卻無(wú)法自動(dòng)對(duì)齊?VMware ESXi 4.x和5.x都無(wú)法感知512e和4Kn硬盤,但支持自動(dòng)分區(qū)對(duì)齊。這里有必要進(jìn)一步解釋下。
首先對(duì)于Windows Server 2003、RHEL 5和SLES 10來(lái)說(shuō),512e硬盤首先是可以用的,只是操作系統(tǒng)“意識(shí)不到”而當(dāng)成512n來(lái)用了。微軟如今已經(jīng)停止了對(duì)Server 2003的支持(戴爾等廠商為用戶提供遷移方案和服務(wù)),如果我們?cè)谶@些較早的操作系統(tǒng)上使用第三方分區(qū)工具,或者手動(dòng)指定開(kāi)始扇區(qū)建立對(duì)齊的分區(qū),應(yīng)該可以規(guī)避一部分性能影響。
聯(lián)系客服