RAID、VMware兼容4KB扇區(qū)硬盤么?

4KB扇區(qū)硬盤開始在市場上廣泛使用,那么企業(yè)存儲的情況如何呢?物理4KB扇區(qū)還需要模擬成512byte嗎?
圍繞4KB扇區(qū)硬盤,由于大家在這方面了解的基礎(chǔ)不同??赡軙腥缦碌囊蓡枺?/strong>
1、為什么會有4KB扇區(qū)硬盤?好處在哪里?2、原生4KB扇區(qū)和模擬512byte,兼容性有什么差別?3、4KB扇區(qū)對性能的影響4、軟硬件生態(tài)系統(tǒng),需要做哪些配合?5、SSD目前主要還是仿真磁盤塊設(shè)備來使用,它是512byte還是4KB設(shè)備呢?6、在RAID陣列和虛擬機環(huán)境,硬件與Guest OS之間多了一個抽象層,這是否也會影響到4KB兼容?
以上6點相互關(guān)聯(lián),因此在本文中都會有所涉及。首先引起我們注意的是,近日有一份來自戴爾的資料,其中提到了2.5” 2TB 7.2K NLSAS(近線SAS)HDD的引入,這款硬盤采用的是512byte仿真扇區(qū)大小。
上表列出了3種硬盤扇區(qū)格式類型。512n——物理格式化和向主機呈現(xiàn)的邏輯扇區(qū)字節(jié)數(shù)均為512byte,早期的硬盤都是這樣;512e——物理扇區(qū)大小為4096字節(jié),邏輯上仿真為(8個)512字節(jié)扇區(qū),為了兼容性的一種過渡;4Kn——即原生4KB,物理和邏輯扇區(qū)字節(jié)數(shù)都是4KB。
4KB扇區(qū)硬盤與生態(tài)系統(tǒng)概述
由于IT棧中的組件默認針對512b扇區(qū)大小已經(jīng)30年了,下面我們來看看針對4KB扇區(qū)硬盤,整個生態(tài)系統(tǒng)需要分析/升級的地方。
服務(wù)器BIOS/UEFI – 支持4K可能需要UEFI – 傳統(tǒng)BIOS需要修改來增加針對4KB原生驅(qū)動器的支持。
存儲控制器(HBA)– 驅(qū)動和firmware需要改變。
RAID stack(位于RAID卡和陣列控制器)–驅(qū)動和firmware需要改變。
OS stack – 操作系統(tǒng)必須是4K感知才能使用4K原生驅(qū)動器;512e驅(qū)動器對于許多組件都支持,但是扇區(qū)對齊決定了獲得最好性能。
文件系統(tǒng) – 基于不同OS版本,這里可能有一些問題。微軟對NTFS 做了一些改動,針對在Windows 7/2008 R2中支持512e。
應(yīng)用 – 需要理解那些進行unbuffered(未緩沖)寫入的應(yīng)用。
Hypervisors – 512e可以被用于當前的微軟/VMware hypervisors(性能可能變差),但 VHD 1.0是硬性編碼到512 byte并且沒有當前的hypervisor支持4K原生 – 必須支持VHD 2.0規(guī)范來獲得4K原生支持。
開發(fā)工具 – 分區(qū)對齊對于在512e 驅(qū)動器上達到最好性能是個關(guān)鍵。4K原生– 還沒有數(shù)據(jù)來理解開發(fā)方面的問題。
什么是4KB高級格式化、路線圖
如上圖,原生512n每個扇區(qū)都有50bytes的ECC糾錯碼;4KB扇區(qū)將這個ECC區(qū)域合并、擴大(但沒有50bytes的8倍那么大),并省去了間隔、地址標記等空間,因此格式化效率提升到大約97%,并且能否檢測和糾正更大的介質(zhì)錯誤。
也就是說,在磁記錄密度不變的情況下,“高級格式化”能夠提供更大的實際可用容量。隨著硬盤上的記錄單元——磁極尺寸不斷縮小,容量增速放緩,4KB扇區(qū)是未來大容量硬盤的趨勢。
參考上圖,512byte原生扇區(qū)硬盤的生命周期將在2017年終止(部分企業(yè)級產(chǎn)品和老型號可能例外)。按照這個之前的預(yù)計,以3.5” 7200轉(zhuǎn)為例最大是4TB,超出該容量物理扇區(qū)只有4KB了?實際上我們看到有硬盤廠商推出6TB 512byte物理扇區(qū)的型號,包括密封充氦7碟片和非充氦普通6碟片,但繼續(xù)增大容量還是需要4KB扇區(qū)。
4KB扇區(qū)仿真512byte已經(jīng)廣泛應(yīng)用于客戶端,畢竟即使出現(xiàn)寫放大或者未對齊寫入產(chǎn)生更多I/O,PC用戶對磁盤性能也沒有那么敏感,但企業(yè)級應(yīng)用則要保守多了。除了4KB扇區(qū)仿真512byte,原生4KB扇區(qū)硬盤直到2014年晚期才發(fā)布針對企業(yè)級市場的版本,它無法工作在Windows Server 8(2012)之前的操作系統(tǒng),并且與上文中我們介紹的生態(tài)系統(tǒng)密切相關(guān)。
物理、VMware虛擬機環(huán)境的“對齊/非對齊”寫入這一段的幾張截圖來自IBM的一份文檔,其中“Misaligned”和“Aligned”分別表示在使用512e硬盤時非對齊和對齊的4KB I/O塊操作。由于4KB塊(比如對應(yīng)文件系統(tǒng)的頁面)操作需要先以8個512bytes邏輯扇區(qū)寫入到硬盤,再合并記錄到4KB物理扇區(qū),在非對齊的情況下,一個4KB邏輯寫I/O對應(yīng)到2個物理磁盤扇區(qū),如果是新寫入就會產(chǎn)生2次I/O;若是改寫之前物理扇區(qū)中的數(shù)據(jù),則需要讀-更改-寫的操作,這種非原子寫入(non-atomic)最多可能產(chǎn)生4次I/O。
而對齊的情況則簡單多了,盡管中間要經(jīng)過硬盤模擬512bytes扇區(qū)的過程,但每個4KB的I/O操作都是對應(yīng)到一個物理扇區(qū)。屬于比較理想的情況。
我們參考下這個表格里不同操作系統(tǒng)對高級格式化的感知情況。其中,Windows從Server 2008開始能夠感知512e硬盤并自動對齊分區(qū);Server 2012進一步加入了對原生4Kn設(shè)備的支持。RHEL 6可以感知512e和4Kn硬盤并能自動對齊;SLES 11能感知512e和4Kn硬盤卻無法自動對齊?VMware ESXi 4.x和5.x都無法感知512e和4Kn硬盤,但支持自動分區(qū)對齊。這里有必要進一步解釋下。
首先對于Windows Server 2003、RHEL 5和SLES 10來說,512e硬盤首先是可以用的,只是操作系統(tǒng)“意識不到”而當成512n來用了。微軟如今已經(jīng)停止了對Server 2003的支持(戴爾等廠商為用戶提供遷移方案和服務(wù)),如果我們在這些較早的操作系統(tǒng)上使用第三方分區(qū)工具,或者手動指定開始扇區(qū)建立對齊的分區(qū),應(yīng)該可以規(guī)避一部分性能影響。
對于4Kn來說,這三款操作系統(tǒng)應(yīng)該就沒有辦法兼容了,同樣的還有VMware ESXi 4.x和5.x。盡管,VMware Hypervisor支持自動分區(qū)對齊(VMFS-3和VMFS-5分別以第128和2048為起始扇區(qū)),但目前的ESXi 6.0和VSAN版本還是無法感知512e和4Kn,其中512e硬盤由于潛在性能問題而不被VMware官方支持。
上圖截自VMware網(wǎng)站,供大家參考
這張圖演示了在虛擬化環(huán)境下對齊和非對齊分區(qū)的情況。當“Aligned”對齊時,在Hypervisor層VMFS-5的文件塊大小統(tǒng)一為1MB,子塊(Sub-Blocks)大小8KB正好對應(yīng)2個物理扇區(qū)上的16個邏輯扇區(qū)。此時如果虛擬機的OS block正好與VMFS子塊對齊的話,等于就是與物理磁盤扇區(qū)對齊了,這樣還算好一些的情況。
而對于“Misaligned”未對齊配置,如果要寫入到虛擬機中的OS block 1,有2個VMFS子塊被寫入,并且每個子塊需要2次讀-修改-寫周期(指改寫而不是寫入空白塊,因為每半個VMFS block在“錯位”情況下也會對應(yīng)到2個物理扇區(qū))。這樣就有可能在底層產(chǎn)生8次I/O?
我們在VMware網(wǎng)站查詢了更多關(guān)于4KB扇區(qū)兼容的情況,這方面應(yīng)該還在遙遠一些的Roadmap中。畢竟對于Hypervisor而言廣泛的向后兼容性相當重要,512e我覺得將來會支持,而如果上層虛擬機就是要在4Kn硬盤上進行512byte的磁盤I/O,軟件廠商沒義務(wù)去做這個轉(zhuǎn)換啊。
既然VMware如此,估計KVM和Xen的情況也不會好多少,對此我了解有限就不班門弄斧了。而Hyper-V可能是個特例吧,因為微軟虛擬化平臺上跑Windows虛擬機比較多,那么用VHD 2.0規(guī)范的4K原生磁盤格式運行Server 2012虛擬機應(yīng)該不會出問題。
“對齊”并不代表性能就完全達到512n的水平,如果是小于4KB的隨機寫入512e硬盤還是會產(chǎn)生寫放大或者懲罰。上面的軟件兼容情況也適用于RAID卡和磁盤陣列的LUN,因為操作系統(tǒng)和虛擬機HyperVisor對它們是與本地磁盤同樣的方式來看待。下面我們再來談一下磁盤控制器對4KB扇區(qū)的兼容支持情況。
PERC卡和MD控制器的4KB扇區(qū)支持
如上圖,左邊是比較早的戴爾服務(wù)器SAS RAID卡、HBA、主板集成軟RAID和MD家族陣列控制器。它們能夠支持512e仿真扇區(qū)的硬盤,對于較早的操作系統(tǒng)可能需要補丁、對齊工具(比如讓NTFS文件系統(tǒng)的簇與物理扇區(qū)對齊)和驅(qū)動更新。
對于這些傳統(tǒng)磁盤控制器,對上層主機呈現(xiàn)的LUN(邏輯盤)都是512byte扇區(qū)。
到了新一代的PERC 9、MD38xx陣列控制器,以及未來的服務(wù)器軟件RAID,已經(jīng)能夠支持原生4K扇區(qū)硬盤,并提供給主機4K格式的LUN。有同行朋友說這樣做在一些場景下有性能的改善,也聽到有專家說微乎其微。而我們想提醒大家的是:在選擇這種“前衛(wèi)”的配置之前,部分存儲產(chǎn)品已經(jīng)做好了準備,但上層軟件兼容性需要用戶自己注意,參考包括本文在內(nèi)的資料,征詢工程師/技術(shù)顧問的建議,必要情況下進行測試。
如上圖,這臺戴爾服務(wù)器配置了PERC 9系列RAID卡中的H730P Mini,它識別到當前選定SAS硬盤的物理和邏輯扇區(qū)大小都是512Byte。
組建RAID之后的虛擬邏輯盤(LUN),自然也是512Byte扇區(qū)格式。當您閱讀本文到這里,在此機器上如果換成512e或者4Kn的硬盤,會產(chǎn)生什么樣的結(jié)果、有哪些注意事項就比較清楚了吧?
SSD的“扇區(qū)”是多大?
這里也要提一句SSD,據(jù)我們了解目前大多數(shù)的SAS/SATA SSD,在RAID卡和磁盤控制器管理程序中顯示的物理和邏輯扇區(qū)大小都是512Byte,同樣是兼容性考慮。其實閃存的最小寫入單元——頁面大小目前一般為4KB或者8KB,那么“扇區(qū)”也都是模擬出來的。測試反映這種模擬對性能的影響不大,因為FTL的存在,數(shù)據(jù)在SSD上的邏輯地址與物理閃存位置的對應(yīng)關(guān)系都是可變的,來自主機小于4KB的寫入也可能會合并到一個閃存頁面上。
PCIe SSD(閃存卡)的情況不太一樣,有些廠商在出貨時“格式化”為4KB扇區(qū),如果遇到軟件應(yīng)用不兼容的情況(比如Oracle數(shù)據(jù)庫等),可以使用專門的工具轉(zhuǎn)換格式為512byte扇區(qū)大小。
當存儲虛擬化網(wǎng)關(guān)遇上“4KB LUN”
從前端到后端都呈現(xiàn)4KB也許會在未來某個時候流行。而對于存儲控制器而言,使用原生4KB扇區(qū)硬盤,卻向上給主機呈現(xiàn)512byte的LUN單從技術(shù)實現(xiàn)上看卻也可行,只要您不在乎性能打折扣——小于4KB的IO都會被放大至一個硬盤扇區(qū),一次下發(fā)8個512byte寫請求也可能會落到2個4KB扇區(qū)上(如果文件系統(tǒng)/應(yīng)用層未對齊的話)。
這就是在控制器層面的“欺騙”,之前講的512e是在硬盤層面上“欺騙”。
欺騙一詞,用在這里并不是貶義。RAID技術(shù)本身就是將一組硬盤“虛擬化”為一塊盤呈現(xiàn)給主機。由此我們還聯(lián)想到被戲稱為“上騙主機,下騙陣列”的存儲虛擬化設(shè)備,它們與RAID控制器最大的不同就是其后端管理的存儲單元由磁盤/SSD變成了陣列的LUN。
存儲虛擬化對于后端陣列表現(xiàn)為“主機”,而在前端主機看來它又是一臺“陣列”,基本原理可以簡單解釋為用Initiator導(dǎo)入LUN,再將其用Target導(dǎo)出給主機,中間可選加入數(shù)據(jù)服務(wù)。目前我們還沒留意到有存儲虛擬化產(chǎn)品宣稱兼容4KB扇區(qū)格式的LUN?這一點在技術(shù)上實現(xiàn)估計并不是太難,關(guān)鍵取決于兼容性測試的工作量,以及實際的需求。
舉例來說,一些存儲虛擬化產(chǎn)品根據(jù)設(shè)置會在后端設(shè)備的LUN上再做一次條帶化,以前都是按照512byte扇區(qū)來考慮,數(shù)據(jù)切塊大小可以直接按一定數(shù)量扇區(qū)來計算就行。而如果扇區(qū)大小變成4KB,要是繼續(xù)保持原有扇區(qū)數(shù)的話就意味著“條帶”增大了8倍。對于導(dǎo)出給前端主機的LUN容量,也會存在類似的問題。
總結(jié)硬盤廠商對4KB扇區(qū)支持的動力毋庸置疑,但在邏輯上是否繼續(xù)模擬512byte則取決于生態(tài)系統(tǒng)的進展。
對于企業(yè)存儲而言,由于一些傳統(tǒng)應(yīng)用(如:Oracle數(shù)據(jù)庫)的I/O操作最小單位仍小于4KB,使用原生512byte扇區(qū)硬盤可以保證最好的性能;模擬512byte能夠兼容,但容易產(chǎn)生性能影響;至于原生4KB硬盤,則要求文件系統(tǒng)、卷管理器具備相應(yīng)的支持,否則會報錯。
目前一些比較新的服務(wù)器、磁盤陣列上的存儲控制器,已經(jīng)能夠兼容原生4KB硬盤。想了解更多精彩教程請繼續(xù)關(guān)注腳本之家網(wǎng)站!
相關(guān)文章
- 如果你一時找不到光驅(qū)驅(qū)動程序了,那你不防用IDE.SYS來代替吧,這可是被稱為萬能的光驅(qū)驅(qū)動程序。不過,前提是你的光驅(qū)不能是聲卡接口,這個驅(qū)動程序是專門對付IDE接口光驅(qū)2009-04-21
- 近幾年配置的電腦估計基本都有裝刻錄機了吧,而空白刻錄盤CD-R又便宜的很,象啄木鳥的也就每張1元左右,已經(jīng)不錯的了。2013-03-14
- 價格的迅速下降讓DVD刻錄機已經(jīng)成為了電腦的標準配件。無論是臺式機還是筆記本電腦,你的電腦如今都可以完成DVD光盤的刻錄任務(wù)。雖然刻錄機的價格已經(jīng)比較便宜,但是如2009-04-21
- SD卡提示錯誤,無法格式化,怎么辦?相信很多朋友都碰到這樣的問題,卻不知道怎么解決吧,下面小編就為大家詳細介紹一下,不會的朋友一起來看看吧2015-01-13
- 光驅(qū)做為電腦中的配件產(chǎn)品之一,帶來的方便快捷已被人們所認同。雖然并不像CPU、硬盤、主板那樣,缺一不可。但隨著越來越多的人將自己的電腦打造成多媒體的影音娛樂平2009-04-21
- 光盤驅(qū)動器(光驅(qū))是一個結(jié)合光學、機械及電子技術(shù)的產(chǎn)品。在光學和電子結(jié)合方面,激光光源來自于一個激光二極管,它可以產(chǎn)生波長約0.54-0.68微米的光束,經(jīng)過處理后光2009-04-21
- 磁盤處于脫機狀態(tài)該怎么辦?電腦是雙磁盤,但是最近出了點問題,雙磁盤其中一塊磁盤顯示:該磁盤處于脫機狀態(tài),因為它與另一個聯(lián)機磁盤發(fā)生簽名沖突,該怎么解決呢?請看下2015-04-28
光驅(qū)彈不出來 電腦光驅(qū)彈不出來的原因以及解決辦法
電腦光驅(qū)彈不出來了.本文就是解決這個問題2012-12-22- 光驅(qū)無法自動播放但卻能瀏覽的問題是什么原因呢.如下解釋2012-12-13