再得中國第一 解讀浪潮云海在OpenStack W版本的社區(qū)貢獻

文章作者:浪潮云海OS技術研發(fā)團隊張百林

“千淘萬漉雖辛苦,吹盡狂沙始到金”。

經(jīng)歷十年磨煉,OpenStack成功吸引了來自世界范圍內(nèi)50多個國家、近200個不同組織中近萬位開發(fā)人員的代碼貢獻,是金融、通信等多個重要領域上云的事實標準,在關鍵行業(yè)落地并承載核心生產(chǎn)業(yè)務。

浪潮作為OIF基金會的創(chuàng)始黃金會員,始終秉承“源于開源,饋于開源”的宗旨,多年來持續(xù)投入社區(qū)貢獻。憑借著在代碼提交數(shù)、完成藍圖數(shù)、補丁修復數(shù)等方面的突出表現(xiàn),浪潮在社區(qū)最新發(fā)布的W版本中繼續(xù)保持領先,繼V版本以來社區(qū)貢獻蟬聯(lián)中國第一,成為OpenStack全球重要的技術引領者。

再得中國第業(yè)???AICDop6Por7vmtarmva7kupHmtbflnKhPcGVuU3RhY2sgV+eJiOacrOeahOekvuWMuui0oeeMrg=="/>

據(jù)悉,在新發(fā)布的W版本中,浪潮云海主要聚焦Nova、Cyborg、Manila、Ironic、關鍵中間件等核心項目,補足核心功能并進行大量的優(yōu)化工作,有效提高了OpenStack的成熟度。

那么在這些核心項目中,浪潮云海究竟做了哪些重要的優(yōu)化工作?具體來看!

「Cyborg優(yōu)化」

作為智能硬件加速設備管理項目,通過采用Cyborg可以在云平臺上方便使用GPU、vGPU、FPGA、SSD、SR-IOV等智能設備,有效優(yōu)化加速設備(例如,GPU、vGPU、SR-IOV等)在Nova項目的配置復雜,使用不便以及難以運維等問題。

在最新發(fā)布的W版本中,浪潮云海OS技術團隊在Cyborg項目引入了Inspur NVMe SSD 驅(qū)動,可以做到自動發(fā)現(xiàn)OpenStack平臺上的Inspur NVMe SSD設備并自動上報到資源管理系統(tǒng),用戶在創(chuàng)建云主機時便可使用。

再得中國第業(yè)???AICDop6Por7vmtarmva7kupHmtbflnKhPcGVuU3RhY2sgV+eJiOacrOeahOekvuWMuui0oeeMrg=="/>

圖1 Inspur NVMe SSD設備驅(qū)動實現(xiàn)原理

一直以來,浪潮云海OS研發(fā)團隊都秉承用戶至上的原則,從功能易用性和穩(wěn)定性的角度開發(fā)支持了在線綁定/解綁硬件加速設備的功能,包括GPU、vGPU、Inspur NVMe SSD等加速設備,有效提升了操作的便捷性,降低了運維管理的難度,提高了 GPU、vGPU、NVMe SSD、FPGA等硬件加速設備的使用效率。

「Nova優(yōu)化」

Nova項目作為OpenStack項目的核心模塊,負責計算資源調(diào)度管理,例如云主機的創(chuàng)建、調(diào)度、生命周期管理等功能。早在U版本中已經(jīng)實現(xiàn)了Nova和Cyborg的交互機制,支持在創(chuàng)建云主機時指定GPU、FPGA、NVMe SSD等加速器設備,以此來提升云主機圖形圖像處理、FPGA編程、IO讀寫的能力,同時也豐富了云主機設備使用的多樣性。

“在最新的Wallaby版本中,我們完善了對綁定加速器設備云主機的操作,完成了對加速器云主機的擱置和取消擱置功能,彌補了加速器云主機的高級特性。如圖2所示在擱置過程中,我們需要銷毀云主機,同時釋放加速器設備以提高加速器設備的利用率。”

再得中國第業(yè)???AICDop6Por7vmtarmva7kupHmtbflnKhPcGVuU3RhY2sgV+eJiOacrOeahOekvuWMuui0oeeMrg=="/>

圖2 擱置加速器云主機實現(xiàn)原理

再得中國第一  解讀浪潮云海在OpenStack W版本的社區(qū)貢獻

圖3 取消擱置加速器云主機操作實現(xiàn)原理

如圖3表示,在取消擱置過程恰恰與此相反,需重新調(diào)度物理主機,以獲取滿足加速器設備的物理主機,然后請求Cyborg創(chuàng)建加速器設備的映射關系,以重新綁定加速器設備。“我們還在持續(xù)完善加速器云主機的掛起/恢復、在線/離線遷移、調(diào)整配置等高級特性,以方便用戶高效使用云平臺的加速設備,持續(xù)貢獻社區(qū),讓更多人受益。”

「Masakari優(yōu)化」

Masakari項目是專注于OpenStack云平臺高可用的開源項目,實現(xiàn)了云主機、關鍵進程和物理機三個不同層次的高可用,主要通過Monitor檢測云主機、關鍵進程和物理主機的故障,一旦檢測到故障,就觸發(fā)故障恢復機制,恢復云主機和物理主機的重要業(yè)務。

浪潮云海OS研發(fā)團隊則通過客戶訴求、現(xiàn)場問題反饋等方式,有針對性的對Masakari項目進行深入研究和探討,設計了針對云主機、關鍵進程和物理機等多層面故障檢測、判斷處理矩陣,能有效應對云平臺可能觸發(fā)的故障場景。

在最新的Wallaby版本,技術團隊在主機狀態(tài)檢測機制的基礎上進行創(chuàng)新,提出并實現(xiàn)了主機連續(xù)檢測機制,通過檢測主機的網(wǎng)絡連接狀態(tài)以確定主機是否故障,并設定故障節(jié)點云主機的疏散策略,增強了云平臺的高可靠性。

圖4中(左)為Masakari項目原故障檢測機制,Monitor只探測一次,當云平臺存在網(wǎng)絡抖動時存在誤判風險;圖4(右)為改進后的故障檢測機制,通過多次探測平滑預測物理主機的節(jié)點狀態(tài),管理員可設定Monitor探測閾值,僅當連續(xù)檢測到節(jié)點故障時才會觸發(fā)主機故障的高可用事件,提高主機故障檢測的可靠性。

再得中國第一  解讀浪潮云海在OpenStack W版本的社區(qū)貢獻

圖4 主機狀態(tài)連續(xù)檢測實現(xiàn)機制

“同時我們還優(yōu)化了計算節(jié)點高可用功能,支持對高可用集群設置禁用和啟用狀態(tài)。當對云平臺進行維護時,運維人員可以將高可用集群置于維護模式中,而不必再對每臺物理主機單獨設置維護狀態(tài)。”

「Memcached優(yōu)化」

Memcached作為一套分布式的高速緩存系統(tǒng),為OpenStack云平臺提供數(shù)據(jù)緩存服務和高效的數(shù)據(jù)訪問能力,有效減輕了數(shù)據(jù)庫的訪問壓力,但是Memcached缺乏認證以及安全機制。對此浪潮云海OS研發(fā)團隊針對Memcached提出了SASL(全稱Simple Authentication and Security Layer,是一種用來擴充C/S模式驗證能力的機制)認證機制,以彌補Memcached在OpenStack云平臺數(shù)據(jù)緩存方面的不足,有效避免由于Memcached認證機制缺失造成其他客戶端可以隨意訪問Memcached緩存數(shù)據(jù)的風險,提高OpenStack云平臺數(shù)據(jù)訪問的安全性。

其中SASL驗證機制能夠規(guī)范Client與Server之間的應答過程以及傳輸內(nèi)容的編碼, SASL驗證架構(gòu)決定服務器本身如何存儲客戶端的身份證書以及如何核驗客戶端提供的密碼。如果客戶端能成功通過驗證,服務器端便能夠確定用戶的身份,以此來確保用戶數(shù)據(jù)的安全性。

如圖5所示,浪潮云海OS研發(fā)團隊通過在Oslo.cache和Keystonemiddleware中間組件中增加對SASL進行認證的客戶端,并通過啟用配置文件設置相應的用戶名和密碼,開啟SASL的訪問認證來提高Memcached緩存服務的安全性。

再得中國第一  解讀浪潮云海在OpenStack W版本的社區(qū)貢獻

圖5 基于SASL認證訪問的Memcached實現(xiàn)

研發(fā)團隊表示:“在大量應用及測試過程中,我們發(fā)現(xiàn)掛載云硬盤出現(xiàn)重復請求的問題,造成此問題的根本原因是在Nova項目中掛載云硬盤過程是分兩部分來完成且缺少異步消息檢測機制。”

如圖6所示,社區(qū)原云硬盤掛載功能設計的核心思想是在Nova生成云主機和塊設備的映射關系并記錄數(shù)據(jù)庫,然后執(zhí)行掛載云硬盤的請求,通過Cinder完成云硬盤和云主機的映射關系,修改云硬盤狀態(tài);但此過程中容易出現(xiàn)掛載超時,云主機再次發(fā)送云硬盤掛載請求造成消息阻塞以至等待超時,導致云主機掛載云硬盤信息不一致的問題。

再得中國第一  解讀浪潮云海在OpenStack W版本的社區(qū)貢獻

圖6 開源社區(qū)云硬盤掛載流程

如圖7 ,浪潮云海OS研發(fā)團隊針對上述云硬盤掛載邏輯進行優(yōu)化,核心思想是取消第一次的RPC同步消息請求,整個云硬盤掛載流程中只保留一次RPC異步消息請求,將生成的塊備映射表信息放到RPC異步消息處理流程中來處理,來保證連續(xù)掛載云硬盤操作的健壯性,有效提高云平臺的高可用性和穩(wěn)定性。

再得中國第一  解讀浪潮云海在OpenStack W版本的社區(qū)貢獻

圖7 優(yōu)化之后的云硬盤掛載流程

「Ironic優(yōu)化」

Ironic項目是當前開源社區(qū)最熱的裸金屬管理項目,浪潮云海OS研發(fā)團隊在開發(fā)新特性貢獻Ironic項目的同時,極力推動AEP(全稱Apache Pass,Intel推出的一種新型的非易失Memory設備,是持久化內(nèi)存的一種。)設備在Ironic項目上的適配。

如圖8所示,團隊通過研究裸金屬CPU高級特性以及針對高級特性的裸金屬調(diào)度實踐并加以創(chuàng)新,適配新型的非易性失持久內(nèi)存設備,彌補裸金屬對持久性內(nèi)存設備的支持能力,在Ironic開源社區(qū)以提交了相關議題及實現(xiàn)。

“在未來版本中,我們將持續(xù)貢獻Ironic開源項目,將iSCSI/FC-SAN云硬盤掛載、裸金屬RAID配置、裸金屬檢查定制化、多架構(gòu)適配和裸金屬智能網(wǎng)卡等高級特性貢獻社區(qū),造福更多用戶和開源愛好者。”

再得中國第一  解讀浪潮云海在OpenStack W版本的社區(qū)貢獻

圖8 AEP設備裸金屬驗證環(huán)境拓撲

「Cinder優(yōu)化」

眾所周知Cinder項目為OpenStack云平臺提供塊存儲服務,云硬盤快照作為一種數(shù)據(jù)快速備份的方式,但當前在Cinder社區(qū)并不支持對云硬盤中間時刻的快照進行回滾,只能做到對最近一次創(chuàng)建的快照進行回滾,這在一定程度上降低了快照回滾功能的易用性。

基于此如圖9所示,浪潮云海OS研發(fā)團隊通過對比多種存儲,提煉了它們的公共特性,優(yōu)化了云硬盤快照的恢復邏輯,在實現(xiàn)了任意快照回滾的同時確保了數(shù)據(jù)的安全性、快照功能的易用性。

再得中國第一  解讀浪潮云海在OpenStack W版本的社區(qū)貢獻

圖9 云硬盤自動快照實現(xiàn)原理

「Manila優(yōu)化」

針對為OpenStack云平臺提供文件存儲服務的Manila項目,浪潮云海OS研發(fā)團隊在最新的Wallaby版本中,在文件存儲類型擴展規(guī)格中新增限制共享容量的特性。如圖10所示,該特性通過使用鍵值對來限制文件存儲創(chuàng)建、擴容、納管操作的最大和最小容量,可適應更多的場景,能夠為不同的用戶提供個性化的服務,極大程度提高了云平臺的安全性,提升了云平臺的智能化運維能力。

再得中國第一  解讀浪潮云海在OpenStack W版本的社區(qū)貢獻

圖10 文件存儲共享類型容量限制設計原理

總結(jié)一下,社區(qū)貢獻引領的背后,除了具備強大的研發(fā)能力之外,還要求企業(yè)擁有豐富的實踐積累。浪潮基于OpenStack開發(fā)的企業(yè)發(fā)行版,即浪潮云海OS,對開源版本進行了深度優(yōu)化,建設了中國最大的金融生產(chǎn)云、亞洲最大的廣電云,并聯(lián)合國家相關行業(yè)信息化主管部門制定了云計算行業(yè)商用大規(guī)模上云標準、實踐白皮書等。

浪潮信息副總裁張東表示,作為OIF基金會創(chuàng)始黃金會員,浪潮積極投入開源社區(qū)建設,尤其在Nova(計算)、Cinder(塊存儲)、Cyborg(硬件加速)、Masakari(高可靠)等核心項目中貢獻突出,提升了開源版本的產(chǎn)品化能力,持續(xù)引領OpenStack不斷走向成熟完善。

(免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內(nèi)容或斷開相關鏈接。 )