NVMe是新一代的PCIe固態硬盤接口規范,其目的是統一主流廠商的SSD接口交互標準,并更好的對上層系統釋放效率潛能[1]。NVMe標準的倡導者包括英特爾、三星、美光、Oracle、微軟、Dell、HGST、希捷等行業領先企業,2014年11月發布版本1.2標準。
?
市售的基于NVMe硬盤動輒可達到單盤GB級的讀寫帶寬和十萬量級的隨機IOPS,為SATA固態硬盤的5~10倍。然而,由于Linux內核驅動實現與調度機制的限制,主流的軟件定義存儲系統并不能完全釋放其性能,同時,對CPU等系統資源消耗巨大,為構建融合存儲系統帶來挑戰。
?
繼為SDN和NFV領域帶來福音的DPDK之后,英特爾于2015年9月開始,逐步將為NVMe等新一代存儲規范優化的Linux性能工具包SPDK[2](Storage PerformanceDevelopment Kit)對合作伙伴與社區開源,試圖將Linux用戶態存儲服務程序與底層硬件設施打通,大幅度縮短IO路徑,充分利用無鎖機制,為NVMe等新一代的存儲介質打通軟件層瓶頸,使其能夠在有限的系統資源消耗下支撐關鍵業務存儲系統足夠的帶寬和延時要求。

SPDK系統架構圖[3]
?
如同DPDK一樣,SPDK作為開源的代碼實現,并不僅僅支持英特爾品牌的閃存設備。它面向整個基于Linux平臺的軟件生態系統,為業界“軟件定義存儲”(SDS,SoftwareDefined Storage)提供了又一性能與架構利器,勢必影響深遠。
?
作為開源軟件定義存儲的首選系統,Ceph長期以來就其計算資源占用率和性能方面,雖不斷提高,但在閃存環境下仍難覓突破性進展。順應業界趨勢,將SPDK的支持在Ceph中實現勢在必行。

Ceph與SPDK結合架構圖
?
XSKY(星辰天合)是國內SDS初創企業[4],其團隊在Ceph開源社區代碼貢獻量在全球行業內領先。作為英特爾在中國的首批SPDK合作伙伴之一,XSKY率先將SPDK與Ceph用戶態文件系統BlueFS整合,以提高Ceph在NVMe介質上的落盤效率。

用戶態SPDK NVMe驅動和公版內核態驅動的性能對比[5]
?
相較于此前的NVMe公版內核態驅動,數據落盤模塊性能提升明顯,特別是時延方面,提高在20%以上(在英特爾??P3700 SSD上已測試驗證)。下一步,XSKY將發起針對整個Ceph OSD的重構,全面面向SPDK進行優化并接納英特爾DPDK作為網絡層交互方案,可以期待性能達到雙倍提高。隨著對Ceph上層模塊的不斷優化,整個軟件定義存儲系統會有更好的性能表現。
?
該創新實踐已得到Red Hat方面Ceph社區領袖SageWeil等人的認可,XSKY已將此部分代碼貢獻到開源Ceph主線,并承諾持續對此部分進行整合優化工作,推動該技術在實際生產環境中的應用。
?
[1]?http://www.nvmexpress.org/
[2]?https://01.org/zh/spdk
[3]?https://software.intel.com/sites/default/files/managed/a8/ff/introduction-to-the-storage-performance-development-kit-spdk-fig2.png
[4]?http://www.xsky.com?
[5] 測試基于Ceph 10.0.2社區版,英特爾?至強?E5 2600v3服務器

您也可以關注我們的官方微信公眾號(ID:ctoutiao),給您更多好看的內容。
2022-04-28 XSKY星辰天合發布了 《云集成,給超大規模K8s 運維帶來的絲滑體驗》的文章
2022-04-27 XSKY星辰天合發布了 《 "軟件定義存儲 賦能實體經濟新變革”大咖直播即將上線!》的文章
2022-04-26 XSKY星辰天合發布了 《快速部署XSKY SDS一體機,晉中學院提升數據安全及存儲性能》的文章
2022-04-24 XSKY星辰天合發布了 《星辰天合成為歐拉生態服務平臺首批通過技術評測伙伴》的文章
2022-04-22 XSKY星辰天合發布了 《XSKY星辰天合獲紅帽 OpenShift 容器平臺認證并入選紅帽生態目錄》的文章