技術貢獻解讀 浪潮雲海OpenStack X版本技術貢獻中國第一

伺服器頻道發表於2021-11-16

10月6日,OpenStack社群釋出第24個版本 Xena(簡稱X版本),浪潮雲海在Nova、Cyborg、Cinder、Masakari、Manila等核心專案的技術貢獻排名再次獲得「中國第一」、全球前三,已連續4個版本榮登社群技術貢獻國內榜首,引領OpenStack重要技術發展。

其中,浪潮雲海OS技術團隊向OpenStack社群貢獻的視覺化日誌管理專案——Venus,是國內首個在智慧運維領域貢獻的開源專案。

在此版本中,浪潮雲海團隊分別從以下四個方面做了大量技術貢獻:

一、GPU高階虛擬化功能增強及最佳化

二、加密卷、檔案等儲存場景增強最佳化

三、雲平臺上穩定性和持久記憶體的易用性增強

四、基於Kolla的Venus專案整合實踐,實現生產級映象加速部署


一、GPU高階虛擬化功能增強及最佳化

AI技術快速發展,市場上對深度學習、圖形影像處理及科學計算等多種場景的需求不斷增加,但GPU價格昂貴,對雲平臺來說,如果一個GPU裝置只能提供給一個虛擬機器或物理機使用,GPU的利用率會大大降低。為滿足客戶多臺虛擬機器同時使用一個物理GPU,浪潮雲海OS團隊基於硬體加速裝置管理專案Cyborg實現了對GPU/vGPU資源的精細化排程和管理功能,支援根據vGPU視訊記憶體大小進行排程建立vGPU虛擬機器,極大程度上提升GPU資源利用率。

浪潮雲海OS可支援GPU高階虛擬化(vGPU)功能,以支援一個GPU裝置(即GPU:vGPU = 1: n(n≥1))啟動多個高效能虛擬機器,此時一個物理GPU裝置可支援多臺虛擬機器執行,提升GPU對使用者業務的並行處理能力。浪潮雲海OS作業系統集雲端計算、大資料和人工智慧於一體,作為雲資料中心的“中樞神經系統”,實現了資料中心資源融合,資源管理及服務交付,同時支援GPU裝置細粒度、精細化排程;支援根據GPU廠商、產品號、名稱等屬性排程所需的GPU或vGPU裝置。

vGPU裝置管理架構

浪潮雲海OS透過GPU或vGPU裝置為虛擬機器提供了無與倫比的圖形效能和應用程式相容性,同時在多個工作負載之間共享GPU以帶來成本效益和可擴充套件性。

二、加密卷、檔案等儲存場景增強最佳化

隨著雲平臺規模的增大,如何保障雲平臺的高可用性成為了各個雲廠商關注的熱點話題。浪潮雲海OS從真實客戶需求出發,綜合虛擬機器、物理機等多種應用場景,為客戶提供多平面感知的高可用能力,以下是在X版本貢獻的多項核心技術:

雲海OS團隊在檔案儲存Manila元件方面貢獻了多個高階功能。例如增加檔案儲存回收站功能,透過軟刪除方式將Share放入回收站,回收站中的Share預設在七天之後被徹底刪除,進一步提升檔案安全性。支援使用者對回收站內的Share進行檢視、恢復以及徹底刪除(暫不支援對Share更新、擴容、遷移等操作);管理員和普通使用者預設支援使用回收站功能,在一定程度上提升了使用者使用雲平臺的安全性,降低由於操作不規範、誤刪檔案等帶來經濟損失的可能。

納管卷實現原理

以OpenStack平臺為例,浪潮雲海技術團隊最佳化了核心專案Cinder加密卷的處理邏輯,並將此最佳化推送到社群。具體來說,卷加密功能是基於LinuxLUKS架構,在卷掛載到虛擬機器之前首先判斷卷的資料格式。如果卷資料格式非LUKS格式,會將目標卷格式化為LUKS之後再對映給虛擬機器使用。此種情況下,如果納管儲存上已經存在資料的卷,就可能出現資料丟失風險。另外如果目標卷是加密型別的,納管時需要有金鑰支援,無金鑰則無法解析加密卷。

捲上傳映象架構

在對接iSCSI協議的儲存時,卷對映虛擬機器後,在宿主機上會生成SCSI相關協議的鏈路資訊(Multipath、SCSI裝置對映等)。在融合部署cinder-volume服務與nova-compute服務時,捲上傳映象操作在讀取卷所使用的鏈路資訊時,會與虛擬機器使用的鏈路資訊保持一致。如果上傳映象操作處理完時需要解除卷與虛擬機器的對映資訊,此時也會解除虛擬機器所使用的連結對映,並造成虛擬機器故障。

針對此問題,浪潮雲海針對此問題進行了深入研究,設計修復方案並完成開發,完成了對雲海OS產品的最佳化,並將針對此問題的技術實現推送到OpenStack開源社群,得到了眾多開源專案維護者及社群開發者的認可。

三、雲平臺上穩定性和持久記憶體的易用性增強

主機多平面故障檢測

當計算叢集發生大規模故障時,計算資源急劇收縮,可能存在資源不足的情況,此時疏散可能給雲平臺造成更大的傷害。另外,計算節點上雲主機根據承載的業務不同,有的業務應用例項價值高,有的就可能沒那麼重要。

如何保障高價值的業務優先恢復?

這就需要透過定義使用者業務例項的優先順序,然後透過排隊、熔斷、限流、降級重試等策略保障使用者業務的可用性,從而保障雲平臺業務的穩定性。

PMEM裝置虛擬機器離線遷移實現原理

PMEM裝置虛擬機器離線遷移實現時序圖

浪潮雲海技術團隊和英特爾中國CESG ESS部門及英特爾中國OpenStack社群研發團隊共同合作,對持久化記憶體(PMEM)進行了深入研究,完善並深度最佳化PMEM裝置虛擬機器的相關功能,例如支援PMEM裝置虛擬機器離線遷移,支援將已有的PMEM資料的虛擬機器遷移到目標PMEM伺服器節點上。

PMEM裝置管理

為了更進一步實現異構加速器裝置的管理,浪潮雲海技術團隊編寫了PMEM裝置的驅動程式,並將其貢獻到OpenStack Cyborg社群,以支援透過智慧加速器裝置管理專案統一管理PMEM裝置,支援PMEM裝置的自動發現、自動上報、Nova建立虛擬機器智慧排程,更好支援虛擬機器在建立時請求PMEM裝置。

四、基於Kolla的Venus專案整合實踐,實現生產級映象加速部署

作為OpenStack平臺部署專案,Kolla透過構建OpenStack容器化元件映象,將不同的元件根據角色配置部署到不同的節點上,實現了生產級別的映象加速部署,最大程度簡化OpenStack部署和運維成本。

Venus專案容器化部署實現原理

Venus是浪潮雲海技術團隊提出的基於OpenStack雲平臺的視覺化日誌管理專案,且已成為OpenStack社群官方專案,提供了一站式日誌採集、清洗、索引、分析、警告、視覺化等能力。浪潮雲海技術團隊在Kolla專案中率先整合了Venus,透過Kolla專案分層模式實現Venus映象構建,Kolla-ansible容器化實現Venus配置檔案自動生成、資料註冊、建立資料及啟動容器化服務等,從而提升Venus專案的部署效率及後期運維能力。

一直以來,浪潮雲海透過在架構最佳化、權威基準測試、規模化應用、社群貢獻、生態完善等方面的持續創新,構建了開放、融合、敏捷、智慧的雲作業系統,為各行各業提供數字轉型、智慧升級、融合創新的雲基礎設施;同時持續推動OpenStack等開源技術在中國及世界範圍的發展,為打造創新技術引擎不懈努力著。

未來,浪潮雲海在不斷推進OpenStack創新發展的同時,會努力為更多新興業務提供安全可靠的雲基礎設施,為構築雲數智融合的智算底座不懈努力。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545803/viewspace-2842464/,如需轉載,請註明出處,否則將追究法律責任。

相關文章