但是,這種異步歸并的方法還是有一定的局限性,因此在下一代對象存儲產(chǎn)品中,針對小文件歸并存在的挑戰(zhàn),XSKY星辰天合再次剖析問題,發(fā)明解決了小文件歸并方法需要寫入緩存池,再從緩存池中讀取歸并效率低的技術(shù)問題,實(shí)現(xiàn)了在線歸并。該技術(shù)當(dāng)前已經(jīng)申請了國家知識產(chǎn)權(quán)局發(fā)明專利,正處于實(shí)質(zhì)審查階段。
星辰天合下一代對象存儲產(chǎn)品XEOS V6中,海量小文件歸并管理方案有了全新的升級,從異步歸并升級到在線歸并,將帶給用戶更良好的體驗。下面講述下一代對象中的小文件在線歸并使用到的幾個關(guān)鍵技術(shù)。
多級緩存
從成本角度考慮,高性能 SSD 盤通常配置較少,難以應(yīng)對突發(fā)小文件流量壓力;對于 1MB 以上的小文件,直接寫入 HDD 介質(zhì)會更加高效。不同于以往采用單一緩存池承載小文件,XEOS 設(shè)計了多級緩存池機(jī)制,存儲不同大小的數(shù)據(jù)。采用 SSD 構(gòu)建高速緩存池, HDD 構(gòu)建普通EC數(shù)據(jù)池,復(fù)用已有 HDD 硬件資源部署中速緩存副本池。文件上傳后,系統(tǒng)自動識別文件大小,1MB以內(nèi)的小文件寫入高速緩存池,1~4MB文件寫入中速緩存池,大于4MB的文件透傳至普通數(shù)據(jù)池。
引入中速緩存池可以在保證文件訪問性能的基礎(chǔ)上,減少1~4MB范圍大小文件對于高速緩存空間的占用,同時提高緩存池的可靠性。在高速緩存池寫滿后,系統(tǒng)自動啟用中速緩存池繼續(xù)寫入小文件數(shù)據(jù),保證了業(yè)務(wù)的連續(xù)性,當(dāng)高速緩存池的數(shù)據(jù)被歸并而釋放緩存空間后,恢復(fù)使用高速緩存池寫入小文件數(shù)據(jù)。
高效歸并
小文件歸并存儲可以降低小文件寫入的隨機(jī)性,提高存儲效率,減少寫放大帶來的空間浪費(fèi)。XEOS V6同時支持在線歸并、離線歸并,歸并策略自動切換。
默認(rèn)情況下執(zhí)行在線歸并策略。網(wǎng)關(guān)內(nèi)預(yù)留一定的內(nèi)存,在接收小文件數(shù)據(jù)并寫入緩存池的同時,以追加的方式在內(nèi)存中緩存,緩存達(dá)到某個閾值后寫入普通數(shù)據(jù)池,更新元數(shù)據(jù),刪除緩存池中的數(shù)據(jù)。
采用在線歸并,不再需要從緩存池中讀取數(shù)據(jù),大大減小了緩存池的壓力,同時歸并性能不受集群規(guī)模影響,并且由于在線歸并直接在前端IO上下文進(jìn)行處理,因此可以對前端IO起到很好的反饋?zhàn)饔?,防止前端業(yè)務(wù)壓力太大導(dǎo)致業(yè)務(wù)不可寫。
當(dāng)小文件寫入流量大,或存儲平臺短時間內(nèi)故障,在線歸并可能會將預(yù)留的內(nèi)存全部消耗完,無法繼續(xù)執(zhí)行,此刻,網(wǎng)關(guān)自動轉(zhuǎn)入離線歸并策略,及時釋放緩存池的空間。
空洞回收
當(dāng)頻繁進(jìn)行小文件刪除時,歸并對象將產(chǎn)生大量的空洞,占用一定的存儲資源。為了能夠釋放該部分空間,XEOS 支持二次歸并機(jī)制。二次歸并將空洞率超過回收閾值的歸并對象中剩余的有效對象進(jìn)行重新歸并 ,歸并成新的歸并對象后刪除原有歸并對象,使得磁盤空間得以釋放。
總結(jié)
通過多年的努力,XSKY星辰天合在小文件處理機(jī)制上長期處于領(lǐng)先地位,并且不斷地完成自我超越。下一代對象存儲海量小文件管理的實(shí)際表現(xiàn)如何,讓我們拭目以待。
XSKY星辰天合的下一代對象存儲產(chǎn)品XEOS即將在7月20日舉辦線上發(fā)布會,
可以掃描二維碼
或者點(diǎn)擊鏈接均可報名:https://d.looks.wang/CEOcV