杉巖統一存儲推出SandStone AgileStore高性能引擎
眾所周知,分布式存儲是將服務器本地的磁盤資源通過網絡組織起來,構建一個統一的存儲資源池。在分布式存儲系統中,如何利用好磁盤資源及網絡資源對于整個分布式系統的性能發揮至關重要。
在基于Ceph架構的分布式存儲集群中,針對每個物理磁盤,都會啟動一個獨立的進程OSD(object storage daemon)來處理通過網絡轉發過來的IO請求及數據最終的持久化。其中,ObjectStore模塊位于OSD的***層,是專門用于管理硬盤上數據的專用存儲后端,是IO路徑的“***一公里”。
Ceph架構當前的應對方法與難點
一直以來,Ceph默認的ObjectStore后端都是FileStore,它依賴于標準的本地文件系統,將底層對象直接保存為文件系統中的一個個文件,而且FileJournal的引入直接導致寫入放大,這些都造成了性能缺陷,同時,由于本地文件系統這一層較為厚重的“屏障”,割裂了Ceph OSD與底層硬盤硬件,使存儲感知硬件的能力大大降低。
BlueStore的出現在一定程度上解決了FileStore的上述問題,它直接管理硬盤設備,去除FileJournal,解決了寫放大問題,自行管理硬盤的每一塊空間,store元數據以kv的形式保存在RocksDB數據庫中。但是BlueStore自身仍然存在空間管理碎片化問題,尤其是使用大容量盤時,長時間運行后對于大范圍的隨機IO響應較慢,導致嚴重的性能瓶頸。
全自主研發,杉巖首推高性能引擎SandStone AgileStore
因此,開篇提及的“***一公里”至關重要,如果處理不好,很容易成為整個系統的性能短板。杉巖分布式統一存儲平臺(SandStone USP)中的ObjectStore支持多種后端,可以通過插件的方式進行選擇管理,目前兼容Ceph的FileStore、BlueStore。
經過一年的開發,SandStone USP v3.1版本重磅出爐,杉巖數據在此版本上推出高性能的ObjectStore,即SandStone AgileStore,數據端到端的處理性能相比使用FileStore的SandStone USP v2.0版本提高40%以上,同時可靠性大大增強,為IO路徑的“***一公里”帶來極速體驗。
究其優勢,主要展現在如下三方面:
1、性能提升
SandStone AgileStore解決了FileStore與BlueStore存在的問題,采用更加先進的空間管理方式,數據和元數據可全部自行管理,不依賴XFS或RocksDB等第三方組件,提高數據和元數據的寫入性能,輕松應對大容量盤長時間隨機IO帶來的空間碎片問題。
2、硬件感知
傳統磁盤長時間工作后經常會報告一些SCSI硬件錯誤(如:Unrecovered read error),而這些錯誤不會體現在SMART信息中,用戶無法通過硬盤健康檢查等Routine程序檢測到。而SandStone AgileStore可直接管理裸盤硬件,同時運用杉巖申請的獨家專利技術(一種基于SCSI設備的容錯方法及系統,專利號:CN105975358A)對這些錯誤進行高效的處理,可直接在IO路徑上及時發現并修復硬盤錯誤,增強磁盤的可靠性。
3、應用感知
SandStone AgileCache是杉巖自主研發的SSD高速緩存,在系統軟件棧上位于SandStone AgileStore的下方,通過AgileStore與AgileCache的聯動,SandStone USP v3.1可以感知邏輯卷的優先級,將用戶卷劃分為高、中、低三個優先級,實現高優先級的卷全部緩存在SSD中,中優先級的卷只有部分熱點數據緩存在SSD,較冷的數據全部保存在HDD中,通過應用優先級感知實現IO智能化管理。
SandStone AgileStore對企業用戶的價值
基于SandStone AgileStore推出的杉巖統一存儲平臺(SandStone USP) v3.1版本,整體性能對比上個版本提升40%以上,同時支持更豐富的高級企業級存儲特性,如:自動精簡配置、ROW無損快照、數據壓縮等等,對下感知硬件、對上感知應用,在性能大幅提升的同時,可靠性和智能化對比原生Ceph都有明顯提高,是真正可商用的高性能企業級分布式存儲產品。
當下,隨著大容量HDD和SSD的普及,使用2U12盤位的服務器滿配12TB的硬盤,只需要7臺服務器就可以達到1PB的裸容量,單節點容量密度的增加對每個OSD的處理能力提出了嚴峻挑戰,SandStone USP v3.1版本依靠獨有的SandStone AgileStore 和 SandStone AgileCache 技術,能夠幫助用戶從容應對此種場景,在不增加CPU及內存資源額外消耗的前提下,輕松應對容量密集型集群的“***一公里”問題,無懼業務長時間以各種變化的IO模型運行帶來的問題,節省用戶硬件投資成本,保障核心應用體驗。