關(guān)于谷歌重塑數(shù)據(jù)中心硬盤需要知道的兩件事

責(zé)任編輯:editor007

2016-03-03 21:16:03

摘自:Doit.com.cn

從以下三點(diǎn)說明:一,重塑單塊磁盤,優(yōu)化磁盤存儲集合的整體表現(xiàn),簡單指標(biāo)有提升IO,提升容量等。大意就是說現(xiàn)在的硬盤為了可靠性犧牲了性能,增大了(tail latency)尾延遲,犧牲了存儲密度等等。

閃存勢頭越來越猛,磁盤最后的棲身之所不是各種消費(fèi)級產(chǎn)品,而是在數(shù)據(jù)中心,沒人會認(rèn)為谷歌要做硬盤,但因?yàn)槭桥e世聞名的大型互聯(lián)網(wǎng)用戶,谷歌對硬盤提出了許多看法格外引人關(guān)注,這些看法都寫在了這個(gè)白皮書里——《Disks for Datacenter》。

谷歌發(fā)聲更能引起關(guān)注,因?yàn)槭怯脩?,而且是是互?lián)網(wǎng)用戶,畢竟時(shí)代賦予了互聯(lián)網(wǎng)公司的正確性、正義性,信谷歌,谷歌似乎什么都能做,但面對硬盤,面對現(xiàn)實(shí),谷歌最多是在接口層和固件方面做點(diǎn)文章,谷歌重塑硬盤,其實(shí)谷歌的需求更多是為了引起業(yè)內(nèi)討論,提出了作為用戶的需求。

白皮書里列舉了谷歌對于重塑數(shù)據(jù)中心硬盤的種種看法,當(dāng)然,硬盤的重塑需要與整個(gè)產(chǎn)業(yè)界的共同努力,啟事錄創(chuàng)始人張廣彬告訴筆者說,其實(shí)業(yè)內(nèi)許多硬盤廠商已經(jīng)開始在做這方面的努力和嘗試了。

Eric Brewer是報(bào)告的撰寫者之一,他除了是谷歌數(shù)據(jù)中心基礎(chǔ)設(shè)施的副總裁之外,還是加州大學(xué)伯利克分校的教授,他在報(bào)告中寫道,現(xiàn)在數(shù)據(jù)中心的硬盤是由歷史原因造成的,它繼承自PC的軟盤,現(xiàn)在應(yīng)該考慮出現(xiàn)一種TCO更好的磁盤了,過程可能是漫長的,需要經(jīng)過廣泛討論,但這件事本身是值得考慮的。

筆者查看了這幾篇報(bào)告,加上之前看的幾個(gè)報(bào)告,總結(jié)出了關(guān)于谷歌重塑數(shù)據(jù)中心硬盤需要知道的兩件事。

第一件事:為什么這次不是閃存?

不是說閃存來了嗎?閃存性能那么好,又說閃存越來越便宜了,沒幾年就換要替代磁盤了,為什么又回過頭來折騰磁盤了呢?

圖片Wikibon:2023年單位容量閃存和磁盤的價(jià)格將基本一致



在這篇報(bào)告中提到,目前來說成本是最主要的,不是說閃存不重要,閃存現(xiàn)在主要還是用在高IO應(yīng)用領(lǐng)域。

差不多同一時(shí)間,谷歌聯(lián)合多倫多大學(xué)發(fā)布了另外一份報(bào)告——《閃存盤的可測與不可測》,從另一個(gè)角度對閃存提出疑問。

報(bào)告仔細(xì)分析了存放著六年來產(chǎn)生數(shù)據(jù)的存儲設(shè)備,包括數(shù)百萬的磁盤,十多種不同磁盤模型和不同的閃存技術(shù)。

報(bào)告數(shù)據(jù)顯示,四年來,有超過20%的磁盤發(fā)現(xiàn)了不可恢復(fù)錯(cuò)誤,差不多同樣長的時(shí)間內(nèi),將近80%的磁盤都發(fā)現(xiàn)了壞塊。相比之下,磁盤在32月時(shí)間內(nèi),不可恢復(fù)錯(cuò)誤的比例僅為3.5%。

圖注:使用壽命(按PE來算)對失效率的影響


原始比特誤碼率(RBER)確實(shí)會隨著使用壽命而增長,但是沒以往想象的那么高,并不是呈指數(shù)增長的。

圖注:橫軸是使用次數(shù)

在相同的PE下,舊的閃存盤比新的閃存盤失效率要高,閃存盤的年齡影響失效率,看來盤買了不用也是罪,電子產(chǎn)品買新不買舊啊。

令許多人大跌眼鏡的是,報(bào)告居然說企業(yè)級市場常用的SLC閃存在可靠性上并不比總是比MLC強(qiáng),比如上圖所示。

許多全新的SSD也會有壞塊,壞塊越多未來的錯(cuò)碼率就越高,對閃存盤影響越大,這個(gè)是可以預(yù)測的。

報(bào)告提到,原始比特誤碼率(RBER)是在測量磁盤可靠性時(shí)的重要參數(shù),然而RBER在閃存面前沒什么意義,因?yàn)楦逺BER并不意味著高UBER,這是人們在面對閃存時(shí)候的不可測。

似乎人們對閃存的認(rèn)識還不夠全面,人們還在了解當(dāng)中,對閃存的研究可不止谷歌做過。

去年Facebook發(fā)布的閃存失效率(錯(cuò)碼率)報(bào)告(A Large-Scale Study of Flash Memory Failures in the Field)也對閃存進(jìn)行了研究,報(bào)告讓我們認(rèn)識到,閃存普及與否不全是價(jià)格的因素,還有性能穩(wěn)定性的因素,因?yàn)樾阅茈S著使用次數(shù)增多是會有衰減的,這可能會影響客戶的關(guān)鍵業(yè)務(wù)。


失效率與使用次數(shù)不呈線性。圖片來自:閃存失效率報(bào)告

更重要的是還有可靠性的因素,F(xiàn)acebook的報(bào)告中說,閃存失效率在壽命周期并不是線性的,另外溫度也會影響閃存的失效率,再加上《閃存盤的可測與不可測》(Flash Reliability in Production: The Expected and the Unexpected)報(bào)告所提到的,如果閃存表現(xiàn)不可測將影響在關(guān)鍵業(yè)務(wù)中的使用。

我們很難說谷歌和Facebook的報(bào)告誰更準(zhǔn)確,但可以肯定的是,磁盤比閃存成熟的多,一個(gè)顯而易見的事實(shí)是,閃存在數(shù)據(jù)中心的替代率不高,所以才有了重塑數(shù)據(jù)中心硬盤的命題。

第二件事,要如何重塑數(shù)據(jù)中心硬盤,谷歌提出了哪些意見?

Eric表達(dá)了對數(shù)據(jù)中心現(xiàn)有的3.5吋盤的種種不滿,近線企業(yè)級硬盤不適合當(dāng)前應(yīng)用。從以下三點(diǎn)說明:

一,重塑單塊磁盤,優(yōu)化磁盤存儲集合的整體表現(xiàn),簡單指標(biāo)有提升IO,提升容量等。

二,降低(tail latency)尾延遲,比如通過讀緩存提升云用戶的響應(yīng)速度,通過提升吞吐量提升MapReduce這類應(yīng)用的體驗(yàn),簡單來說延遲要大,帶寬要高。

三,安全,一方面是固件漏洞引起攻擊引起的問題,一方面是固件在加密方面的問題。

具體的做法谷歌指出了是個(gè)細(xì)節(jié)我們來看一下:

1,讓硬盤外形變高變細(xì),從而提升IOPS,提升容量,降低單位容量價(jià)格。

提升容量。給現(xiàn)有磁盤外形加以改造,思路是說讓單個(gè)磁盤的盒子放高一些,這樣每塊硬盤可以放更多的盤片,從而增加容量,增加盤片來增加容量這正式磁盤廠商一直在做的事兒,最近希捷還推出了7碟片的磁盤,容量刷新到了10TB。

提升IOPS,把每塊盤片的直徑縮短,這樣盤片小了尋道距離就短了,尋到時(shí)間就快了,因?yàn)楸P片小了,轉(zhuǎn)起來更穩(wěn)定了,所以硬盤可以轉(zhuǎn)得更快,這樣就可以提升RPM,減少尋道時(shí)間,從而提升IOPS性能了。

另外,文中還列舉了提升并行IOPS的方法還有四種,(1),硬盤內(nèi)部對角放兩個(gè)機(jī)械臂,每個(gè)機(jī)械臂覆蓋所有盤面,這樣無疑會提高成本,但是性能會很高;(2),在一個(gè)位置放兩個(gè)半長的機(jī)械臂,每個(gè)機(jī)械臂負(fù)責(zé)半個(gè)盤面。(3),一個(gè)機(jī)械臂上做一種雙極設(shè)計(jì),從而讓兩個(gè)磁頭對應(yīng)兩個(gè)碟片,這會提升順序讀寫性能,但是隨機(jī)訪問沒什么好處。(4),一個(gè)機(jī)械臂,改變機(jī)械臂上的磁頭,讓它可以同時(shí)讀兩個(gè)道,這樣增加順序讀寫性能。

另外,由于一個(gè)硬盤封裝(硬盤殼)里的碟片更多了,也可以降低成本,打個(gè)不太合適的比方,有點(diǎn)像3塊錢的可樂和6塊錢一瓶的可樂單位容量的價(jià)格的區(qū)別一樣。

2,硬盤緩存,降成本,降低(tail latency)尾延遲。

現(xiàn)在許多硬盤都有自己的緩存(30-100MB),硬盤是要連接到主機(jī)的,從成本的角度來說這不太好,我們讓磁盤通過PCIe使用主機(jī)的RAM,主機(jī)那邊的RAM比較便宜,這樣既可以降低成本還能提高利用率。

另外還提到,硬盤到磁盤的供電電壓有12V,5V,還有3.3V,谷歌希望未來能統(tǒng)一成12V的直流電,這樣以后設(shè)計(jì)系統(tǒng)的時(shí)候不用再考慮電壓的問題了,降低TCO。

3,優(yōu)化SMR,提升容量。

SMR提升了存儲密度但是降低了隨機(jī)寫的性能,因?yàn)楸粍h掉的數(shù)據(jù)的空間只有GC之后才能被重新利用,但什么時(shí)候做GC是個(gè)問題,時(shí)間不好會影響性能,當(dāng)請求來的時(shí)候你GC,這會影響IOPS。

通常,一些可預(yù)測生命周期的數(shù)據(jù)被集中放在SMR的區(qū)域,這雖然能緩解問題,但因?yàn)檫@些是冷數(shù)據(jù),所以浪費(fèi)了原有的IOPS能力,不僅如此,更多IOPS集中在了CMR(conventional magnetic recording ),增加了CMR的IOPS壓力,所以說SMR提升了單位價(jià)格容量的性價(jià)比而不是單位IOPS的性價(jià)比。

于是谷歌提出了出混合磁盤,既有冷數(shù)據(jù)又有熱數(shù)據(jù),既有CMR又有SMR。新數(shù)據(jù)來了先放在CMR,SMR可以放長久的數(shù)據(jù)。什么樣的混合盤呢?在一個(gè)硬盤里分別做優(yōu)化,一些是對SMR優(yōu)化的磁頭和盤片,一些是對CMR做優(yōu)化的磁頭和盤片。

進(jìn)一步想,如果未來能有可以動態(tài)調(diào)整CMR和SMR的配比的硬盤就更好了。

4,硬盤日志,優(yōu)化IOPS和(tail latency)尾延遲

設(shè)立一個(gè)日志文件,文件內(nèi)容是重要的性能或者某一類操作的事件,比如數(shù)據(jù)完整性的重寫,硬盤在執(zhí)行命令或者普通的讀寫的時(shí)候參考這個(gè)日志。系統(tǒng)在不影響性能的時(shí)候定時(shí)讀取這個(gè)日志,比如當(dāng)發(fā)現(xiàn)一個(gè)延遲很高的讀操作時(shí)候,讀取一下這個(gè)日志進(jìn)行診斷。

5,利用重讀(Read Retry)機(jī)制降低(tail latency)尾延遲

這條其實(shí)是讀策略的問題,硬盤的讀操作都會進(jìn)行“有限的嘗試”,如果發(fā)現(xiàn)壞數(shù)據(jù)之后會很快返回一個(gè)值。谷歌建議把這一機(jī)制用在并行讀操作,以此來降低(tail latency)尾延遲。

6,改變硬盤故障率,錯(cuò)碼率標(biāo)準(zhǔn),也就是許多媒體說的,不重視硬盤的可靠性。

大意就是說現(xiàn)在的硬盤為了可靠性犧牲了性能,增大了(tail latency)尾延遲,犧牲了存儲密度等等。

7,后臺任務(wù)和后臺管理API

磁盤的后臺任務(wù)可以用來解決和防止故障,但是這些操作影響了延遲性能,但是后臺任務(wù)又是必須的,為了更好的用它,谷歌提出了幾點(diǎn)建議:

比如讓所有的任務(wù)都可以改變優(yōu)先級,比如磁盤可以獲知后臺任務(wù)執(zhí)行所需時(shí)間,比如主機(jī)來決定什么時(shí)候進(jìn)行后臺任務(wù),當(dāng)主機(jī)出問題的時(shí)候磁盤可以自己做一些維護(hù)工作等等。做一些靈活的調(diào)整。

8,靈活的容量配置

1)磁盤有的部分是有缺陷的,但廠商為了提供特定容量的磁盤,會預(yù)留一部分空間彌補(bǔ)缺陷部分損失的空間,如果容量太低的話就不能提供而定空間,就得返廠重新生產(chǎn),或者就按現(xiàn)有容量這么賣。

2)硬盤上不是有做緩存,Reallocation的扇區(qū)嗎?在硬盤使用的早期把這部分拿出來存儲數(shù)據(jù),然后一步步的把這些數(shù)據(jù)拿回來發(fā)揮原有的功能。

3)還有就是當(dāng)磁頭故障時(shí)磁盤需要重新初始化,然后找回丟失的數(shù)據(jù)。谷歌建議以后磁頭故障的時(shí)候別管他,直接繼續(xù)往下讀,這樣能延長使用壽命。

9,增大扇區(qū)

ECC校驗(yàn)?zāi)芰Φ奶嵘沟糜脖P服務(wù)商能提高扇區(qū)的大小,從512B提升到4KB之后降低了ECC的不利影響,而現(xiàn)在許多時(shí)候都需要把數(shù)據(jù)讀取到分布式系統(tǒng)當(dāng)中,如果能繼續(xù)增加扇區(qū)大小的話,會有許多好處。

許多主機(jī)軟件在寫入數(shù)據(jù)的時(shí)候都會加入CRC(周期性循環(huán)檢查),而現(xiàn)在許多SATA盤都開始支持?jǐn)U展扇區(qū)功能,比如有了4K+16B,64K+256B這樣的扇區(qū),據(jù)了解,現(xiàn)在許多SCSI磁盤已經(jīng)有了這樣的功能了。

10,通過優(yōu)化隊(duì)列管理,提升IOPS

谷歌指出了NCQ和TCQ的許多問題,這個(gè)比較復(fù)雜,筆者能力有限,想了解的更詳細(xì)的內(nèi)容點(diǎn)擊下方下載鏈接獲取完整報(bào)告吧。

看完這篇報(bào)告,筆者感覺谷歌實(shí)在是很挑剔,但正如企事錄創(chuàng)始人狒哥所說,谷歌其實(shí)做不了什么,最多也就在固件和接口層做點(diǎn)內(nèi)容。誠然,谷歌提出意見為的是引起關(guān)注,希望硬盤廠商能行動起來做出一些優(yōu)化。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號