隨著網際網路、大資料、人工智慧等技術高速發展,資料呈指數級增長。面對海量的資料,除了提供巨大的儲存空間以外,如何更好地儲存海量小檔案(簡稱 LOSF,lots of small files)成為了業界公認的難題。
海量小檔案挑戰
海量小檔案的儲存和管理之所以困難,主要在於儲存成本和訪問效能兩個方面的矛盾衝突:
1、從儲存成本上考慮,採用 HDD 儲存海量小檔案比較經濟,但會對 HDD盤產生大量隨機小 IO 訪問,效能非常低;
2、從效能上考慮,可以用 SSD 盤儲存小檔案,發揮 SSD 盤隨機小 IO 高效能優勢,但海量小檔案需要大量 SSD 儲存空間,儲存成本太高。
為了平衡成本和效能,達到雙收益,業界通常採用“大小 IO 自適應,小檔案歸併”技術解決 LOSF 問題。早在 2016 年,XSKY星辰天合便率先研究出了小檔案歸併機制:系統將寫入的大檔案透傳到 HDD 資料池,小檔案在快取池歸併成大物件後再寫入資料池中。
隨著技術的不斷應用,我們發現既有的機制仍然存在一些問題:
1、後設資料處理 IO 流程長,有效磁碟服務時間低;
2、小檔案歸併時,需要從快取池讀出資料再寫入,歸併過程會對前端業務寫入效能產生較大影響;
3、非同步歸併機制,有可能導致資料積壓,甚至快取空間被佔滿;
4、對於 1~4MB 範圍大小的檔案,寫入快取池會佔用大量的高效能儲存空間,成本高,而如果選擇直接透傳到資料池,延時高,無法滿足業務效能需求;
5、小檔案歸併後,若存在刪除請求,會造成儲存空洞,佔用一定的儲存資源。
基於此,在下一代物件儲存 XEOS V6 中,我們進行了全新升級,進一步攻克小檔案管理難題。
高效後設資料管理
通常一個物件的訪問包括對後設資料和資料的訪問。物件資料容量越小,後設資料訪問在整個物件訪問中的佔比就越高。所以對於海量小檔案管理,後設資料訪問的高效性非常關鍵。
XEOS V6 引入了分散式統一後設資料叢集,採用少量的 SSD盤部署後設資料分割槽,不僅能夠提供海量物件後設資料資訊的儲存,而且後設資料儲存效能大幅提升。下圖為同等硬體情況下,XEOS V6 版本相較於V5 版本的 OPS 請求情況,小檔案寫入效能平均提升了 65%。
靈活資料佈局
擁有高效的後設資料管理機制能夠有效提升小檔案的儲存效能,但是低效的資料佈局仍然會造成訪問效能的下降,並且導致大量的磁碟空間被浪費。隨著 XEOS V6 版本的釋出,小檔案歸併機制也迎來了重磅升級。
線上歸併
首先,以往的非同步歸併方式升級為了線上實時歸併。線上歸併更為及時,且不再需要從快取池中讀取資料,減小了快取池的壓力,同時歸併效能不受叢集規模影響,並且由於線上歸併直接在前端 IO 上下文進行處理,因此可以對前端 IO 起到很好的反饋作用,防止前端業務壓力太大導致業務不可寫。
多級快取
其次,XEOS V6 實現了中速快取策略。使用者可以複用資料池中 HDD 硬體資源,部署中速快取副本池,將 1~4MB(可配)檔案寫入中速快取池,減少此範圍大小的檔案對於快取記憶體空間的佔用,降低成本。同時它可以應對突發小檔案流量帶來的壓力,在快取記憶體池寫滿後,自動啟用中速快取池繼續寫入小檔案資料,提高快取池的可靠性,保證業務的連續性。
空洞回收
面對小檔案頻繁刪除,歸併物件產生大量空洞的場景,XEOS V6 支援二次歸併機制,將空洞率超過回收閾值的歸併物件重新歸併,使得磁碟空間得以釋放。
總結
XEOS V6 的小檔案管理機制能夠加快小檔案的儲存效率,將不同大小的資料寫入合適的資源池中,發揮各類硬體優勢,資料佈局靈活。同時,藉助 EC 冗餘機制、空洞回收能力,可以進一步提高儲存空間利用率,節省儲存成本!
瞭解更多軟體定義儲存及物件儲存知識,請訪問,或者撥打電話:400-016-6101