張 詣 溫洪念 許愛雪
(石家莊鐵路職業(yè)技術(shù)學(xué)院 河北石家莊 050041)
計算機(jī)技術(shù)的迅速發(fā)展也帶動了云計算技術(shù)的快速發(fā)展,作為一種革新的信息技術(shù)云計算把硬件資源和軟件資源封裝為服務(wù),通過網(wǎng)絡(luò)系統(tǒng)整合為計算資源池,在邏輯上以整合實體的形式提供服務(wù)接口供用戶按需使用并按需計費(fèi)。云計算是目前信息技術(shù)領(lǐng)域的熱門技術(shù)之一,得到了業(yè)界的廣泛關(guān)注,很多國際化大公司已經(jīng)推出了自己的云計算方案。云計算的發(fā)展促進(jìn)了對云操作系統(tǒng)的需求,OpenStack開源云平臺構(gòu)建軟件旨在提供基礎(chǔ)設(shè)施即服務(wù)的云平臺建設(shè)和管理功能,是目前部署最為廣泛的云操作系統(tǒng)。OpenStack由多種組件共同構(gòu)成,設(shè)計和搭建云計算平臺的實質(zhì)就是如何結(jié)合其他工具配置和管理這些組件,這來源于 OpenStack 云操作系統(tǒng)的深入理解以及豐富的實踐經(jīng)驗。隨著虛擬化技術(shù)在云計算基礎(chǔ)設(shè)施即服務(wù)中的普遍運(yùn)用,通過云計算供應(yīng)者提供的 IaaS服務(wù)模式,可以讓普通用戶避免對后臺基礎(chǔ)設(shè)施的復(fù)雜配置,專注于自己的工作。所以提供便捷可靠的IaaS服務(wù)模式來管理云計算中大量的虛擬機(jī)是一項重大的考驗,特別是節(jié)點上虛擬機(jī)鏡像的管理和安全問題又是云計算中必須要重點考慮的問題。對于基于OpenStack的IaaS云平臺來說,當(dāng)前還面臨著很多問題,其中安全問題主要是各節(jié)點的虛擬機(jī)系統(tǒng)的安全。
OpenStack誕生于2010年,由美國國家航空航天局貢獻(xiàn)出平臺代碼和Rackspace貢獻(xiàn)出云文件平臺代碼,以 Apache 許可證開源發(fā)布了OpenStack,旨在為云計算的建設(shè)與管理提供軟件的開源項目。OpenStack是一個松耦合的架構(gòu)模型,由一系列離散的服務(wù)組件構(gòu)成,主要包括負(fù)責(zé)計算服務(wù)的Nova組件、負(fù)責(zé)網(wǎng)絡(luò)服務(wù)的Neutron組件、負(fù)責(zé)向云環(huán)境中虛擬機(jī)提供存儲卷的Cinder組件、以及云環(huán)境中虛擬機(jī)鏡像管理的Glance組件等。通過REST接口OpenStack組件進(jìn)行相互通信,在組件內(nèi)部則采用了基于高級消息隊列協(xié)議模型的遠(yuǎn)程過程調(diào)用通信協(xié)議,OpenStack 架構(gòu)的標(biāo)準(zhǔn)視圖如圖1 所示。
OpenStack中有三個核心組件分別負(fù)責(zé)云平臺的計算處理、鏡像服務(wù)和對象存儲,項目代號分別是Nova、Swift和Glance,它們自身也是多個服務(wù)的集合。根據(jù)部署OpenStack規(guī)模的不同,各服務(wù)可以運(yùn)行在一臺或多臺機(jī)器上。三個核心組件的關(guān)系如圖2 所示。
作為與Swift、Cinder并列的存儲組件Glance本身并不負(fù)責(zé)大量數(shù)據(jù)的存儲,可以為Nova組件創(chuàng)建、啟動虛擬機(jī)提供鏡像管理服務(wù),而鏡像管理服務(wù)中鏡像的存儲又依賴于Swift組件。Glance組件使用 RESTful接口接收虛擬機(jī)鏡像管理的查詢、注冊等請求,在 Nova組件和Swift組件間起到了一個橋梁作用。
圖1 OpenStack架構(gòu)標(biāo)準(zhǔn)視圖
圖2 三個核心組件的關(guān)系
本文設(shè)計了基于 OpenStack的云計算IaaS云平臺,包括節(jié)點的設(shè)計、配置和部署,云平臺中虛擬機(jī)和鏡像的自動回收機(jī)制,節(jié)點上虛擬機(jī)鏡像補(bǔ)丁管理模塊的設(shè)計。在持續(xù)集成平臺上編寫腳本實現(xiàn)相關(guān)需求的功能,實現(xiàn)可持續(xù)集成。
云平臺云的設(shè)計,采用了KVM虛擬化技術(shù)來建立云平臺管理和運(yùn)行服務(wù)所需要的虛擬主機(jī)節(jié)點,方便虛擬管理層的有效管理,支持計算和資源配置的動態(tài)規(guī)劃。IaaS云平臺總體設(shè)計如圖3所示。
圖3 云平臺的總體設(shè)計
在云平臺上通過基于Jenkins持續(xù)集成平臺中的腳本定期的觸發(fā)回收工作,實際應(yīng)用中可根據(jù)需要采用不同的觸發(fā)方式和頻率。資源自動回收機(jī)制通過web service實現(xiàn)對實例和鏡像狀態(tài)的檢測,完成與相關(guān)用戶的交互,通過發(fā)送郵件通知用戶做出處理動作,最終達(dá)到回收資源的作用。虛擬機(jī)和鏡像自動回收機(jī)制的流程圖如圖 4所示。
圖4 自動回收機(jī)制的流程圖
圖5 漏洞補(bǔ)丁管理合規(guī)性流程
云計算中漏洞和相應(yīng)補(bǔ)丁的管理與升級是一個長期性的、循環(huán)性的工作。同時補(bǔ)丁升級過程中是否引入了新的問題或者有的補(bǔ)丁更新后需要重新啟動節(jié)點虛擬機(jī)和相應(yīng)服務(wù)都是我們需要考慮的。所以云平臺中各節(jié)點補(bǔ)丁升級的合規(guī)策略就顯得由為重要。補(bǔ)丁安全管理的主干流程包括漏洞的補(bǔ)丁掃描、補(bǔ)丁分析、補(bǔ)丁搜集、測試環(huán)境中補(bǔ)丁安裝、測試環(huán)境中測試、問題處理、云平臺上其他節(jié)點更新升級補(bǔ)丁七個環(huán)節(jié),這七個環(huán)節(jié)緊密相連,共同完成對節(jié)點虛擬機(jī)鏡像補(bǔ)丁的管理。漏洞補(bǔ)丁檢查和更新是一個長期循環(huán)演進(jìn)的過程,漏洞補(bǔ)丁管理合規(guī)性流程圖如圖5所示。
本文主要研究了云計算IaaS平臺的構(gòu)建和其上虛擬機(jī)和鏡像的管理以及云平臺中節(jié)點虛擬機(jī)鏡像的補(bǔ)丁管理,其中涉及到云計算中的安全問題也是近年來云計算系統(tǒng)中重點研究的問題。本文分析和設(shè)計了云平臺中自動回收虛擬機(jī)和鏡像的方案,提高了平臺系統(tǒng)性能,及時有效的回收了系統(tǒng)資源,提升 IT 資源利用率。并進(jìn)一步分析和設(shè)計了云平臺中進(jìn)行大規(guī)模節(jié)點補(bǔ)丁管理的方案,實現(xiàn)了補(bǔ)丁管理的自動化與持續(xù)集成。