文章作者:浪潮云海OS技術(shù)研發(fā)團(tuán)隊(duì)張百林
“千淘萬(wàn)漉雖辛苦,吹盡狂沙始到金”。
經(jīng)歷十年磨煉,OpenStack成功吸引了來(lái)自世界范圍內(nèi)50多個(gè)國(guó)家、近200個(gè)不同組織中近萬(wàn)位開(kāi)發(fā)人員的代碼貢獻(xiàn),是金融、通信等多個(gè)重要領(lǐng)域上云的事實(shí)標(biāo)準(zhǔn),在關(guān)鍵行業(yè)落地并承載核心生產(chǎn)業(yè)務(wù)。
浪潮作為OIF基金會(huì)的創(chuàng)始黃金會(huì)員,始終秉承“源于開(kāi)源,饋于開(kāi)源”的宗旨,多年來(lái)持續(xù)投入社區(qū)貢獻(xiàn)。憑借著在代碼提交數(shù)、完成藍(lán)圖數(shù)、補(bǔ)丁修復(fù)數(shù)等方面的突出表現(xiàn),浪潮在社區(qū)最新發(fā)布的W版本中繼續(xù)保持領(lǐng)先,繼V版本以來(lái)社區(qū)貢獻(xiàn)蟬聯(lián)中國(guó)第一,成為OpenStack全球重要的技術(shù)引領(lǐng)者。
AICDop6Por7vmtarmva7kupHmtbflnKhPcGVuU3RhY2sgV+eJiOacrOeahOekvuWMuui0oeeMrg=="/>
據(jù)悉,在新發(fā)布的W版本中,浪潮云海主要聚焦Nova、Cyborg、Manila、Ironic、關(guān)鍵中間件等核心項(xiàng)目,補(bǔ)足核心功能并進(jìn)行大量的優(yōu)化工作,有效提高了OpenStack的成熟度。
那么在這些核心項(xiàng)目中,浪潮云海究竟做了哪些重要的優(yōu)化工作?具體來(lái)看!
「Cyborg優(yōu)化」
作為智能硬件加速設(shè)備管理項(xiàng)目,通過(guò)采用Cyborg可以在云平臺(tái)上方便使用GPU、vGPU、FPGA、SSD、SR-IOV等智能設(shè)備,有效優(yōu)化加速設(shè)備(例如,GPU、vGPU、SR-IOV等)在Nova項(xiàng)目的配置復(fù)雜,使用不便以及難以運(yùn)維等問(wèn)題。
在最新發(fā)布的W版本中,浪潮云海OS技術(shù)團(tuán)隊(duì)在Cyborg項(xiàng)目引入了Inspur NVMe SSD 驅(qū)動(dòng),可以做到自動(dòng)發(fā)現(xiàn)OpenStack平臺(tái)上的Inspur NVMe SSD設(shè)備并自動(dòng)上報(bào)到資源管理系統(tǒng),用戶在創(chuàng)建云主機(jī)時(shí)便可使用。
AICDop6Por7vmtarmva7kupHmtbflnKhPcGVuU3RhY2sgV+eJiOacrOeahOekvuWMuui0oeeMrg=="/>
圖1 Inspur NVMe SSD設(shè)備驅(qū)動(dòng)實(shí)現(xiàn)原理
一直以來(lái),浪潮云海OS研發(fā)團(tuán)隊(duì)都秉承用戶至上的原則,從功能易用性和穩(wěn)定性的角度開(kāi)發(fā)支持了在線綁定/解綁硬件加速設(shè)備的功能,包括GPU、vGPU、Inspur NVMe SSD等加速設(shè)備,有效提升了操作的便捷性,降低了運(yùn)維管理的難度,提高了 GPU、vGPU、NVMe SSD、FPGA等硬件加速設(shè)備的使用效率。
「Nova優(yōu)化」
Nova項(xiàng)目作為OpenStack項(xiàng)目的核心模塊,負(fù)責(zé)計(jì)算資源調(diào)度管理,例如云主機(jī)的創(chuàng)建、調(diào)度、生命周期管理等功能。早在U版本中已經(jīng)實(shí)現(xiàn)了Nova和Cyborg的交互機(jī)制,支持在創(chuàng)建云主機(jī)時(shí)指定GPU、FPGA、NVMe SSD等加速器設(shè)備,以此來(lái)提升云主機(jī)圖形圖像處理、FPGA編程、IO讀寫(xiě)的能力,同時(shí)也豐富了云主機(jī)設(shè)備使用的多樣性。
“在最新的Wallaby版本中,我們完善了對(duì)綁定加速器設(shè)備云主機(jī)的操作,完成了對(duì)加速器云主機(jī)的擱置和取消擱置功能,彌補(bǔ)了加速器云主機(jī)的高級(jí)特性。如圖2所示在擱置過(guò)程中,我們需要銷(xiāo)毀云主機(jī),同時(shí)釋放加速器設(shè)備以提高加速器設(shè)備的利用率。”
AICDop6Por7vmtarmva7kupHmtbflnKhPcGVuU3RhY2sgV+eJiOacrOeahOekvuWMuui0oeeMrg=="/>
圖2 擱置加速器云主機(jī)實(shí)現(xiàn)原理
圖3 取消擱置加速器云主機(jī)操作實(shí)現(xiàn)原理
如圖3表示,在取消擱置過(guò)程恰恰與此相反,需重新調(diào)度物理主機(jī),以獲取滿足加速器設(shè)備的物理主機(jī),然后請(qǐng)求Cyborg創(chuàng)建加速器設(shè)備的映射關(guān)系,以重新綁定加速器設(shè)備。“我們還在持續(xù)完善加速器云主機(jī)的掛起/恢復(fù)、在線/離線遷移、調(diào)整配置等高級(jí)特性,以方便用戶高效使用云平臺(tái)的加速設(shè)備,持續(xù)貢獻(xiàn)社區(qū),讓更多人受益。”
「Masakari優(yōu)化」
Masakari項(xiàng)目是專注于OpenStack云平臺(tái)高可用的開(kāi)源項(xiàng)目,實(shí)現(xiàn)了云主機(jī)、關(guān)鍵進(jìn)程和物理機(jī)三個(gè)不同層次的高可用,主要通過(guò)Monitor檢測(cè)云主機(jī)、關(guān)鍵進(jìn)程和物理主機(jī)的故障,一旦檢測(cè)到故障,就觸發(fā)故障恢復(fù)機(jī)制,恢復(fù)云主機(jī)和物理主機(jī)的重要業(yè)務(wù)。
浪潮云海OS研發(fā)團(tuán)隊(duì)則通過(guò)客戶訴求、現(xiàn)場(chǎng)問(wèn)題反饋等方式,有針對(duì)性的對(duì)Masakari項(xiàng)目進(jìn)行深入研究和探討,設(shè)計(jì)了針對(duì)云主機(jī)、關(guān)鍵進(jìn)程和物理機(jī)等多層面故障檢測(cè)、判斷處理矩陣,能有效應(yīng)對(duì)云平臺(tái)可能觸發(fā)的故障場(chǎng)景。
在最新的Wallaby版本,技術(shù)團(tuán)隊(duì)在主機(jī)狀態(tài)檢測(cè)機(jī)制的基礎(chǔ)上進(jìn)行創(chuàng)新,提出并實(shí)現(xiàn)了主機(jī)連續(xù)檢測(cè)機(jī)制,通過(guò)檢測(cè)主機(jī)的網(wǎng)絡(luò)連接狀態(tài)以確定主機(jī)是否故障,并設(shè)定故障節(jié)點(diǎn)云主機(jī)的疏散策略,增強(qiáng)了云平臺(tái)的高可靠性。
圖4中(左)為Masakari項(xiàng)目原故障檢測(cè)機(jī)制,Monitor只探測(cè)一次,當(dāng)云平臺(tái)存在網(wǎng)絡(luò)抖動(dòng)時(shí)存在誤判風(fēng)險(xiǎn);圖4(右)為改進(jìn)后的故障檢測(cè)機(jī)制,通過(guò)多次探測(cè)平滑預(yù)測(cè)物理主機(jī)的節(jié)點(diǎn)狀態(tài),管理員可設(shè)定Monitor探測(cè)閾值,僅當(dāng)連續(xù)檢測(cè)到節(jié)點(diǎn)故障時(shí)才會(huì)觸發(fā)主機(jī)故障的高可用事件,提高主機(jī)故障檢測(cè)的可靠性。
圖4 主機(jī)狀態(tài)連續(xù)檢測(cè)實(shí)現(xiàn)機(jī)制
“同時(shí)我們還優(yōu)化了計(jì)算節(jié)點(diǎn)高可用功能,支持對(duì)高可用集群設(shè)置禁用和啟用狀態(tài)。當(dāng)對(duì)云平臺(tái)進(jìn)行維護(hù)時(shí),運(yùn)維人員可以將高可用集群置于維護(hù)模式中,而不必再對(duì)每臺(tái)物理主機(jī)單獨(dú)設(shè)置維護(hù)狀態(tài)。”
「Memcached優(yōu)化」
Memcached作為一套分布式的高速緩存系統(tǒng),為OpenStack云平臺(tái)提供數(shù)據(jù)緩存服務(wù)和高效的數(shù)據(jù)訪問(wèn)能力,有效減輕了數(shù)據(jù)庫(kù)的訪問(wèn)壓力,但是Memcached缺乏認(rèn)證以及安全機(jī)制。對(duì)此浪潮云海OS研發(fā)團(tuán)隊(duì)針對(duì)Memcached提出了SASL(全稱Simple Authentication and Security Layer,是一種用來(lái)擴(kuò)充C/S模式驗(yàn)證能力的機(jī)制)認(rèn)證機(jī)制,以彌補(bǔ)Memcached在OpenStack云平臺(tái)數(shù)據(jù)緩存方面的不足,有效避免由于Memcached認(rèn)證機(jī)制缺失造成其他客戶端可以隨意訪問(wèn)Memcached緩存數(shù)據(jù)的風(fēng)險(xiǎn),提高OpenStack云平臺(tái)數(shù)據(jù)訪問(wèn)的安全性。
其中SASL驗(yàn)證機(jī)制能夠規(guī)范Client與Server之間的應(yīng)答過(guò)程以及傳輸內(nèi)容的編碼, SASL驗(yàn)證架構(gòu)決定服務(wù)器本身如何存儲(chǔ)客戶端的身份證書(shū)以及如何核驗(yàn)客戶端提供的密碼。如果客戶端能成功通過(guò)驗(yàn)證,服務(wù)器端便能夠確定用戶的身份,以此來(lái)確保用戶數(shù)據(jù)的安全性。
如圖5所示,浪潮云海OS研發(fā)團(tuán)隊(duì)通過(guò)在Oslo.cache和Keystonemiddleware中間組件中增加對(duì)SASL進(jìn)行認(rèn)證的客戶端,并通過(guò)啟用配置文件設(shè)置相應(yīng)的用戶名和密碼,開(kāi)啟SASL的訪問(wèn)認(rèn)證來(lái)提高M(jìn)emcached緩存服務(wù)的安全性。
圖5 基于SASL認(rèn)證訪問(wèn)的Memcached實(shí)現(xiàn)
研發(fā)團(tuán)隊(duì)表示:“在大量應(yīng)用及測(cè)試過(guò)程中,我們發(fā)現(xiàn)掛載云硬盤(pán)出現(xiàn)重復(fù)請(qǐng)求的問(wèn)題,造成此問(wèn)題的根本原因是在Nova項(xiàng)目中掛載云硬盤(pán)過(guò)程是分兩部分來(lái)完成且缺少異步消息檢測(cè)機(jī)制。”
如圖6所示,社區(qū)原云硬盤(pán)掛載功能設(shè)計(jì)的核心思想是在Nova生成云主機(jī)和塊設(shè)備的映射關(guān)系并記錄數(shù)據(jù)庫(kù),然后執(zhí)行掛載云硬盤(pán)的請(qǐng)求,通過(guò)Cinder完成云硬盤(pán)和云主機(jī)的映射關(guān)系,修改云硬盤(pán)狀態(tài);但此過(guò)程中容易出現(xiàn)掛載超時(shí),云主機(jī)再次發(fā)送云硬盤(pán)掛載請(qǐng)求造成消息阻塞以至等待超時(shí),導(dǎo)致云主機(jī)掛載云硬盤(pán)信息不一致的問(wèn)題。
圖6 開(kāi)源社區(qū)云硬盤(pán)掛載流程
如圖7 ,浪潮云海OS研發(fā)團(tuán)隊(duì)針對(duì)上述云硬盤(pán)掛載邏輯進(jìn)行優(yōu)化,核心思想是取消第一次的RPC同步消息請(qǐng)求,整個(gè)云硬盤(pán)掛載流程中只保留一次RPC異步消息請(qǐng)求,將生成的塊備映射表信息放到RPC異步消息處理流程中來(lái)處理,來(lái)保證連續(xù)掛載云硬盤(pán)操作的健壯性,有效提高云平臺(tái)的高可用性和穩(wěn)定性。
圖7 優(yōu)化之后的云硬盤(pán)掛載流程
「Ironic優(yōu)化」
Ironic項(xiàng)目是當(dāng)前開(kāi)源社區(qū)最熱的裸金屬管理項(xiàng)目,浪潮云海OS研發(fā)團(tuán)隊(duì)在開(kāi)發(fā)新特性貢獻(xiàn)Ironic項(xiàng)目的同時(shí),極力推動(dòng)AEP(全稱Apache Pass,Intel推出的一種新型的非易失Memory設(shè)備,是持久化內(nèi)存的一種。)設(shè)備在Ironic項(xiàng)目上的適配。
如圖8所示,團(tuán)隊(duì)通過(guò)研究裸金屬CPU高級(jí)特性以及針對(duì)高級(jí)特性的裸金屬調(diào)度實(shí)踐并加以創(chuàng)新,適配新型的非易性失持久內(nèi)存設(shè)備,彌補(bǔ)裸金屬對(duì)持久性內(nèi)存設(shè)備的支持能力,在Ironic開(kāi)源社區(qū)以提交了相關(guān)議題及實(shí)現(xiàn)。
“在未來(lái)版本中,我們將持續(xù)貢獻(xiàn)Ironic開(kāi)源項(xiàng)目,將iSCSI/FC-SAN云硬盤(pán)掛載、裸金屬RAID配置、裸金屬檢查定制化、多架構(gòu)適配和裸金屬智能網(wǎng)卡等高級(jí)特性貢獻(xiàn)社區(qū),造福更多用戶和開(kāi)源愛(ài)好者。”
圖8 AEP設(shè)備裸金屬驗(yàn)證環(huán)境拓?fù)?/strong>
「Cinder優(yōu)化」
眾所周知Cinder項(xiàng)目為OpenStack云平臺(tái)提供塊存儲(chǔ)服務(wù),云硬盤(pán)快照作為一種數(shù)據(jù)快速備份的方式,但當(dāng)前在Cinder社區(qū)并不支持對(duì)云硬盤(pán)中間時(shí)刻的快照進(jìn)行回滾,只能做到對(duì)最近一次創(chuàng)建的快照進(jìn)行回滾,這在一定程度上降低了快照回滾功能的易用性。
基于此如圖9所示,浪潮云海OS研發(fā)團(tuán)隊(duì)通過(guò)對(duì)比多種存儲(chǔ),提煉了它們的公共特性,優(yōu)化了云硬盤(pán)快照的恢復(fù)邏輯,在實(shí)現(xiàn)了任意快照回滾的同時(shí)確保了數(shù)據(jù)的安全性、快照功能的易用性。
圖9 云硬盤(pán)自動(dòng)快照實(shí)現(xiàn)原理
「Manila優(yōu)化」
針對(duì)為OpenStack云平臺(tái)提供文件存儲(chǔ)服務(wù)的Manila項(xiàng)目,浪潮云海OS研發(fā)團(tuán)隊(duì)在最新的Wallaby版本中,在文件存儲(chǔ)類型擴(kuò)展規(guī)格中新增限制共享容量的特性。如圖10所示,該特性通過(guò)使用鍵值對(duì)來(lái)限制文件存儲(chǔ)創(chuàng)建、擴(kuò)容、納管操作的最大和最小容量,可適應(yīng)更多的場(chǎng)景,能夠?yàn)椴煌挠脩籼峁﹤€(gè)性化的服務(wù),極大程度提高了云平臺(tái)的安全性,提升了云平臺(tái)的智能化運(yùn)維能力。
圖10 文件存儲(chǔ)共享類型容量限制設(shè)計(jì)原理
總結(jié)一下,社區(qū)貢獻(xiàn)引領(lǐng)的背后,除了具備強(qiáng)大的研發(fā)能力之外,還要求企業(yè)擁有豐富的實(shí)踐積累。浪潮基于OpenStack開(kāi)發(fā)的企業(yè)發(fā)行版,即浪潮云海OS,對(duì)開(kāi)源版本進(jìn)行了深度優(yōu)化,建設(shè)了中國(guó)最大的金融生產(chǎn)云、亞洲最大的廣電云,并聯(lián)合國(guó)家相關(guān)行業(yè)信息化主管部門(mén)制定了云計(jì)算行業(yè)商用大規(guī)模上云標(biāo)準(zhǔn)、實(shí)踐白皮書(shū)等。
浪潮信息副總裁張東表示,作為OIF基金會(huì)創(chuàng)始黃金會(huì)員,浪潮積極投入開(kāi)源社區(qū)建設(shè),尤其在Nova(計(jì)算)、Cinder(塊存儲(chǔ))、Cyborg(硬件加速)、Masakari(高可靠)等核心項(xiàng)目中貢獻(xiàn)突出,提升了開(kāi)源版本的產(chǎn)品化能力,持續(xù)引領(lǐng)OpenStack不斷走向成熟完善。
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )