前言
UCloud優(yōu)刻得在2020年8月正式發(fā)布了基于US3的全新一代歸檔存儲(chǔ)產(chǎn)品,該產(chǎn)品采用UCloud優(yōu)刻得全新自研存儲(chǔ)架構(gòu),相較標(biāo)準(zhǔn)存儲(chǔ)降低近80%存儲(chǔ)成本的同時(shí),與市場(chǎng)同類歸檔存儲(chǔ)產(chǎn)品相比降低近30%的價(jià)格。據(jù)IDC的預(yù)測(cè),全球年新增數(shù)據(jù)量到2025年將達(dá)175ZB,真正能存儲(chǔ)下來(lái)的數(shù)據(jù)僅有15ZB左右,流失率超過(guò)91%。在目前企業(yè)數(shù)據(jù)的冰山模型里,80%的數(shù)據(jù)量來(lái)源于冷數(shù)據(jù)。在公有云領(lǐng)域,UCloud優(yōu)刻得認(rèn)為容量型存儲(chǔ)通過(guò)技術(shù)手段提升發(fā)展的空間還十分巨大。
如何最大化利用最新的高容量硬件來(lái)進(jìn)一步降低存儲(chǔ)成本?如何在歸檔存儲(chǔ)長(zhǎng)期保存的場(chǎng)景下充分保障用戶的數(shù)據(jù)安全?這些都需要UCloud優(yōu)刻得對(duì)US3歸檔存儲(chǔ)的整個(gè)IO路徑做較大的優(yōu)化以及硬件適配工作,同時(shí)我們還需要保障產(chǎn)品的易用性,避免給用戶帶來(lái)額外的使用成本。
接下來(lái)本文將從UCloud優(yōu)刻得如何利用硬盤(pán)技術(shù)提升存儲(chǔ)密度以及優(yōu)化IO調(diào)度來(lái)降低運(yùn)營(yíng)成本這兩個(gè)角度,詳細(xì)解析US3歸檔存儲(chǔ)的底層存儲(chǔ)引擎的軟件以及硬件選型優(yōu)化細(xì)節(jié)。
采用SMR盤(pán)+JBOD設(shè)備提高存儲(chǔ)密度
降低硬件層面的成本,主要體現(xiàn)在提高存儲(chǔ)密度上。這里我們探索過(guò)包括藍(lán)光,磁帶、硬盤(pán)等不同的存儲(chǔ)介質(zhì),也有參考過(guò)微軟的Pelican系統(tǒng)的硬件設(shè)計(jì)。考慮到我們最終實(shí)現(xiàn)的目標(biāo)是期望用戶可以在緊急情況下分鐘內(nèi)實(shí)現(xiàn)數(shù)據(jù)的激活與讀取,正常情況下可以在小時(shí)內(nèi)完成激活與讀取,對(duì)于用戶的最短保存時(shí)間不需要以年來(lái)計(jì)算。因此,UCloud 優(yōu)刻得結(jié)合自身的存儲(chǔ)技術(shù)優(yōu)勢(shì),暫時(shí)排除了藍(lán)光以及磁帶的存儲(chǔ)介質(zhì)實(shí)現(xiàn),主要采用高密度硬盤(pán)的方式來(lái)實(shí)現(xiàn)歸檔型的云存儲(chǔ)服務(wù)。
這里先介紹一下傳統(tǒng)硬盤(pán)是怎么記錄數(shù)據(jù)的。
這種傳統(tǒng)的硬盤(pán)一般來(lái)說(shuō)是屬于垂直磁記錄PMR類型的硬盤(pán)。數(shù)據(jù)通過(guò)寫(xiě)入彼此平行而不重疊的磁道來(lái)記錄數(shù)據(jù),提升數(shù)據(jù)存儲(chǔ)容量只能通過(guò)提升磁道數(shù)量來(lái)提升。
相較于這種傳統(tǒng)的硬盤(pán)還有一種基于疊瓦磁記錄SMR的磁存儲(chǔ)數(shù)據(jù)記錄技術(shù)的硬盤(pán)可以提升存儲(chǔ)密度以及整體硬盤(pán)的存儲(chǔ)容量。這里介紹SMR硬盤(pán)的硬件實(shí)現(xiàn)之前還需要先了解一個(gè)背景知識(shí),首先我們將磁盤(pán)的磁頭放大來(lái)看。
由于物理上的原因,磁盤(pán)寫(xiě)入磁頭所需要的寬度要比讀取的磁頭寬上很多,這就導(dǎo)致了讀寫(xiě)兩個(gè)操作對(duì)于磁道寬度的需求其實(shí)是不對(duì)等的,寫(xiě)入需要的寬度更多,這就給提高磁盤(pán)密度帶來(lái)了可能性,下面我們?cè)賮?lái)看一下SMR磁盤(pán)的構(gòu)造。
SMR硬盤(pán)寫(xiě)入的新磁道與先前寫(xiě)入的磁道部分重疊,從而使先前的磁道更窄,因此能擁有更高的磁道密度。由此可以看出,使用疊瓦磁技術(shù)的磁道相互重疊,與用作屋頂?shù)耐咂询B方式類似,所以叫做疊瓦磁記錄硬盤(pán)。
從SMR硬盤(pán)的硬件構(gòu)造我們不難看出在提升硬盤(pán)存儲(chǔ)容量的同時(shí),對(duì)于寫(xiě)入其實(shí)會(huì)造成很大的困難,一旦當(dāng)前磁道的下一條磁道被寫(xiě)入過(guò)數(shù)據(jù),這個(gè)磁道如果再想寫(xiě)入,由于磁道有重疊,寫(xiě)入的磁頭又較大就會(huì)對(duì)后面的數(shù)據(jù)造成影響。所以從使用的角度來(lái)看,SMR硬盤(pán)會(huì)被劃分成若干的Zone,每個(gè)Zone中的數(shù)據(jù)只能夠進(jìn)行追加寫(xiě)入,這其中又會(huì)有1%的Zone,磁道不重疊,叫做CMR Zone,可以支持隨機(jī)讀寫(xiě)。
可想而知如果要對(duì)上層屏蔽SMR盤(pán)帶來(lái)的限制的話會(huì)帶來(lái)不少的代價(jià),這里有device managed、host aware兩種方式來(lái)簡(jiǎn)單屏蔽掉SMR的順序?qū)懭胂拗?,但不論哪一種,都是將隨機(jī)IO轉(zhuǎn)化為順序IO,這樣會(huì)帶來(lái)一定的寫(xiě)放大以及讀性能下降,以及在特定IO場(chǎng)景下的硬盤(pán)壽命影響,且上層對(duì)其影響不可控。
UCloud優(yōu)刻得存儲(chǔ)團(tuán)隊(duì)在多個(gè)現(xiàn)有產(chǎn)品上,都有繞過(guò)文件系統(tǒng)直接對(duì)塊層存儲(chǔ)操作的技術(shù)積累,為避免對(duì)底層存儲(chǔ)落地文件系統(tǒng)有強(qiáng)依賴,我們選取了host managed的方式來(lái)對(duì)SMR盤(pán)進(jìn)行讀寫(xiě)管理。
在硬盤(pán)數(shù)據(jù)落地的同時(shí),我們也將相關(guān)的少量元數(shù)據(jù)與數(shù)據(jù)合并在一起寫(xiě)入,這樣做有三方面考慮:一是這部分少量元數(shù)據(jù),我們會(huì)包含這一次IO的整體CRC,用于防止硬盤(pán)的靜默錯(cuò)誤(Silent Data Corruption),提高用戶在使用US3歸檔存儲(chǔ)時(shí)的數(shù)據(jù)可靠性,因此在冷存儲(chǔ)這種海量且長(zhǎng)期存儲(chǔ)場(chǎng)景硬盤(pán)的比特位反轉(zhuǎn)(bit flip)等錯(cuò)誤還是需要我們特別關(guān)注的。二是當(dāng)我們的元數(shù)據(jù)受到一些毀滅性的軟硬件問(wèn)題導(dǎo)致不可用時(shí),我們可以通過(guò)重新讀取這些隨IO寫(xiě)入的元數(shù)據(jù)復(fù)原出整體的結(jié)構(gòu),當(dāng)然這個(gè)代價(jià)也是比較大,預(yù)期也是在應(yīng)對(duì)一些黑天鵝事件時(shí)的處理方案。三是可以降低我們的寫(xiě)放大,在寫(xiě)入時(shí)不會(huì)由于需要更新元數(shù)據(jù)而寫(xiě)入兩次IO,這在隨機(jī)IO能力不是強(qiáng)項(xiàng)的HDD硬盤(pán)場(chǎng)景下也格外重要。
我們選取了其中頭部的若干CMR Zone用于自解析當(dāng)前盤(pán)的元數(shù)據(jù),并冗余多份,這里由于自身1%的CMR Zone對(duì)于元數(shù)據(jù)來(lái)說(shuō)還是較多,所以這里我們將部分CMR Zone和只能追加寫(xiě)的SMR Zone都抽象成了只能追加寫(xiě)的Data Zone,來(lái)最大化的利用磁盤(pán)的空間。
至此我們提高了單塊磁盤(pán)的存儲(chǔ)密度,使單塊硬盤(pán)存儲(chǔ)空間提升150%,相較于之前,我們還提高了單機(jī)柜的磁盤(pán)密度來(lái)進(jìn)一步提升整體的存儲(chǔ)密度。相較于傳統(tǒng)36盤(pán)位的傳統(tǒng)高密機(jī)型,我們采用了JBOD的方式。這里受益于 UCloud優(yōu)刻得自建機(jī)房的優(yōu)勢(shì),先前單機(jī)柜機(jī)房地板承重以及高功率機(jī)柜稀缺的限制不再存在,從而可以在單機(jī)柜存放更多的JBOD存儲(chǔ)設(shè)備,使單位機(jī)架的存儲(chǔ)容量提升5.375倍,硬盤(pán)數(shù)量增加59%。
除此之外,我們還采用了雙機(jī)頭硬件架構(gòu),所有JBOD中的硬盤(pán)保證同時(shí)雙機(jī)頭可見(jiàn),這樣保證了在單機(jī)宕機(jī)的情況下,仍然可以通過(guò)我們的選主算法立刻切到另外一個(gè)機(jī)器上,保證服務(wù)的可用性。
優(yōu)化IO調(diào)度算法降低運(yùn)營(yíng)成本
提高密度本質(zhì)上降低的是我們的CAPEX(Capital Expenditure)資本性支出,在歸檔存儲(chǔ)的場(chǎng)景下長(zhǎng)期的OPEX(Operating Expense)運(yùn)營(yíng)成本也占比較大。這里我們做出的優(yōu)化是在不影響用戶使用體驗(yàn)及存儲(chǔ)性能的前提下降低我們的電費(fèi)支出(即降低OPEX成本)。
為此我們?cè)贗O調(diào)度層增加基于硬盤(pán)Spin-up、 Spin-down的調(diào)度算法。用來(lái)降低在高密度機(jī)型的冷存儲(chǔ)場(chǎng)景下大量硬盤(pán)空轉(zhuǎn)的電力浪費(fèi)。
這里整體的調(diào)度算法需要考慮的因素很多,我們首先根據(jù)故障域把JBOD中的磁盤(pán)分成若干個(gè)磁盤(pán)組,保證在適當(dāng)?shù)腅C條帶以及JBOD個(gè)數(shù)下,能夠容忍磁盤(pán)以及JBOD層面的故障,之后Spin up-down的操作都基于磁盤(pán)組為單位進(jìn)行操作。
同時(shí)我們需要考慮在滿足用戶緊急讀取需求的同時(shí)保證硬盤(pán)的Spin up-down次數(shù)在一定的范圍之內(nèi),這里我們將硬盤(pán)使用壽命內(nèi)的可操作上下電次數(shù)平均到每天每小時(shí),在算法上保證磁盤(pán)的每次Spin up-down會(huì)有一定的冷卻時(shí)間,而用戶的普通讀再通過(guò)正常的輪詢上電的時(shí)間片內(nèi)進(jìn)行讀取,這樣既可以降低用戶的使用成本也保證了用戶數(shù)據(jù)在硬盤(pán)使用方式層面的可靠性。
除了可靠性上面的考慮,我們也需要保證寫(xiě)入的性能是否能夠吃滿我們的硬件,由于SMR盤(pán)以及業(yè)務(wù)邏輯的特殊性我們的寫(xiě)入包括之后的Compaction都是大量順序?qū)懭耄晕覀兣浜螮C條帶的大小保證一個(gè)磁盤(pán)組的寫(xiě)入數(shù)據(jù)帶寬可以吃滿我們整體設(shè)備的網(wǎng)卡帶寬,這樣在性能上就不會(huì)有額外的浪費(fèi)。
寫(xiě)在最后
基于上述提高磁盤(pán)存儲(chǔ)密度以及降低運(yùn)營(yíng)成本(即電費(fèi))兩個(gè)主要方面的設(shè)計(jì)考慮,UCloud優(yōu)刻得研發(fā)了US3歸檔存儲(chǔ)的底層存儲(chǔ)引擎(如上圖所示),在大幅降低US3歸檔存儲(chǔ)成本的同時(shí),保障了在歸檔存儲(chǔ)這種長(zhǎng)期冷存儲(chǔ)下的數(shù)據(jù)高可靠性。
后續(xù)UCloud優(yōu)刻得US3歸檔存儲(chǔ)會(huì)繼續(xù)從各個(gè)方面提升產(chǎn)品的使用體驗(yàn),例如更加便捷自動(dòng)的數(shù)據(jù)降冷處理,更加智能化的降低存儲(chǔ)成本,讓用戶充分享受UCloud優(yōu)刻得技術(shù)創(chuàng)新帶來(lái)的價(jià)格紅利。還會(huì)探索深度歸檔場(chǎng)景下磁帶等其他存儲(chǔ)介質(zhì)的使用,讓UCloud優(yōu)刻得用戶不用與復(fù)雜的底層硬件進(jìn)行直接的交互,就能滿足海量冷數(shù)據(jù)存儲(chǔ)的需求。
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )