技術貢獻解讀 浪潮雲海OpenStack X版本技術貢獻中國第一
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OpenStack X版本釋出 浪潮雲海技術貢獻再得第一
- 再次登頂,浪潮雲海OpenStack Y版本社群技術貢獻中國第一
- Apache SeaTunnel 4月回顧:明星貢獻者與技術突破Apache
- .NET 各版本貢獻者列表
- 如何幫助OpenStack開發者成為貢獻者
- 蘋果的貢獻蘋果
- 為抗擊新肺炎貢獻一份技術力量-App研發APP
- GitHub Contribution 貢獻圖手辦 | 簡單上手 | 技術點評Github
- 「雲原生可觀測團隊」獲選「InfoQ 年度技術內容貢獻獎」
- 團隊貢獻分分配
- 發展數字經濟 貢獻中國智慧
- 如何給 swoft 貢獻程式碼
- 為開源社群做貢獻
- 如何為PHP貢獻程式碼PHP
- 花花隊——團隊貢獻分
- 如何為 PHP 貢獻程式碼PHP
- 3、18 貢獻法學習
- 小組貢獻統計表
- TDengine 上榜 BenchCouncil 全球第一個開源貢獻榜
- 預處理技術文獻
- IAM:2021年全球VVC技術貢獻排名 高通華為位元組跳動位列前三
- 《金融電子化》2021 金融業新技術應用創新突出貢獻獎。
- NGB:高通華為英特爾領先Wi-Fi 6技術專利貢獻數量
- Sentry 開發者貢獻指南 - 配置 PyCharmPyCharm
- 聊聊原始碼貢獻這件大事原始碼
- 為什麼要貢獻開源
- 【week6】團隊貢獻分
- 成人網站的“歷史貢獻”網站
- CNCF:中國已成為全球第二大開源貢獻國 CNCF專案的程式碼貢獻接近100萬
- 如何給開源專案做貢獻
- NSA 向 Coreboot 專案貢獻程式碼boot
- Sentry 開發者貢獻指南 - 測試技巧
- Sentry 開發者貢獻指南 - Feature Flag
- 如何為開源軟體做出貢獻
- redis在微服務領域的貢獻Redis微服務
- 如何向 Mozilla 開源社群做貢獻
- 淺談團隊貢獻分如何分配
- 如何給 GNU 專案貢獻程式碼