金永霞, 孫 寧
(河海大學(xué) 物聯(lián)網(wǎng)工程學(xué)院, 江蘇 常州 213022)
云計(jì)算實(shí)驗(yàn)平臺(tái)虛擬機(jī)鏡像的管理與維護(hù)
金永霞, 孫 寧
(河海大學(xué) 物聯(lián)網(wǎng)工程學(xué)院, 江蘇 常州 213022)
針對(duì)云平臺(tái)在實(shí)驗(yàn)教學(xué)應(yīng)用中出現(xiàn)的一些問(wèn)題,設(shè)計(jì)實(shí)現(xiàn)了虛擬機(jī)鏡像管理與維護(hù)系統(tǒng)。通過(guò)在云平臺(tái)的持續(xù)集成環(huán)境中部署腳本,實(shí)現(xiàn)對(duì)鏡像的緩存、回收、更新升級(jí)等維護(hù)功能,給出了維護(hù)模塊的具體實(shí)現(xiàn)方法和維護(hù)管理流程。鏡像的管理和維護(hù)有利于虛擬機(jī)保持良好運(yùn)行,使云平臺(tái)可以快速創(chuàng)建實(shí)驗(yàn)環(huán)境和及時(shí)回收實(shí)驗(yàn)資源,為實(shí)驗(yàn)教學(xué)提供有效的環(huán)境支撐。
云計(jì)算實(shí)驗(yàn)平臺(tái); 虛擬機(jī)鏡像; 管理與維護(hù); 持續(xù)集成環(huán)境
虛擬機(jī)鏡像是封裝了操作系統(tǒng)、應(yīng)用軟件和系統(tǒng)配置的一種特定格式的文件,云計(jì)算IaaS (infrastructure as a service)平臺(tái)以鏡像為模板構(gòu)建虛擬機(jī)并分配vCPU、內(nèi)存等硬件資源,按用戶需求提供動(dòng)態(tài)計(jì)算資源和個(gè)性化的云服務(wù)。一個(gè)完整的鏡像文件通常有GB級(jí)的容量,鏡像文件的存儲(chǔ)、傳輸和加載都會(huì)消耗底層硬件資源,對(duì)云平臺(tái)的資源利用率和服務(wù)性能有很大的影響,因此對(duì)鏡像文件的優(yōu)化管理已成為云計(jì)算研究的關(guān)鍵問(wèn)題[1-3]。
筆者采用“IBM OpenStack Solution for System X”云解決方案構(gòu)建了基于私有云架構(gòu)的云計(jì)算實(shí)驗(yàn)平臺(tái)[4],在云平臺(tái)中根據(jù)不同的實(shí)驗(yàn)要求配置了多種虛擬機(jī)鏡像,需要時(shí)利用這些鏡像創(chuàng)建虛擬機(jī)為用戶提供實(shí)驗(yàn)環(huán)境。鏡像是虛擬機(jī)的基礎(chǔ),對(duì)鏡像的有效管理和安全控制有利于虛擬機(jī)的良好運(yùn)行,也是使云實(shí)驗(yàn)平臺(tái)保持良好系統(tǒng)性能的主要維護(hù)手段。本文針對(duì)實(shí)驗(yàn)教學(xué)中使用云平臺(tái)時(shí)出現(xiàn)的一些問(wèn)題,如批量部署虛擬機(jī)耗時(shí)長(zhǎng)、云平臺(tái)長(zhǎng)期運(yùn)行后產(chǎn)生閑置鏡像占用資源、虛擬機(jī)鏡像的升級(jí)更新需求等,設(shè)計(jì)實(shí)現(xiàn)了虛擬機(jī)鏡像管理與維護(hù)系統(tǒng),通過(guò)在云平臺(tái)的持續(xù)集成環(huán)境中建立腳本對(duì)鏡像進(jìn)行定期的回收、更新、清除等維護(hù)工作,提升云平臺(tái)的資源效用比,提高虛擬機(jī)集群的部署效率。
云計(jì)算實(shí)驗(yàn)平臺(tái)主要為實(shí)驗(yàn)教學(xué)和應(yīng)用開(kāi)發(fā)提供環(huán)境支持,要求能夠根據(jù)需求快速創(chuàng)建實(shí)驗(yàn)環(huán)境,并對(duì)云資源的分配和使用情況進(jìn)行有效的管理和監(jiān)控。通過(guò)在云平臺(tái)中部署系統(tǒng)資源管理和監(jiān)控工具、云環(huán)境配置工具以及滿足實(shí)驗(yàn)需求的應(yīng)用服務(wù),實(shí)現(xiàn)對(duì)軟硬件資源的統(tǒng)一管理和按需分配。云實(shí)驗(yàn)平臺(tái)架構(gòu)如圖1所示,主要包括虛擬化資源層、服務(wù)管理層、接口訪問(wèn)層。
(1) 虛擬化資源層。云計(jì)算實(shí)驗(yàn)平臺(tái)建立在由多臺(tái)物理機(jī)組成的計(jì)算機(jī)集群網(wǎng)絡(luò)中,包括控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)。物理服務(wù)器集群提供基礎(chǔ)的計(jì)算資源、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備,借助KVM虛擬化技術(shù)對(duì)底層硬件進(jìn)行抽象形成統(tǒng)一的虛擬化資源池。
(2) 服務(wù)管理層。通過(guò)建立和配置云計(jì)算節(jié)點(diǎn),部署云計(jì)算IaaS服務(wù)實(shí)現(xiàn)對(duì)云平臺(tái)資源的動(dòng)態(tài)規(guī)劃和管理,提供虛擬資源管理、服務(wù)配置管理、持續(xù)集成管理、實(shí)時(shí)監(jiān)控管理等眾多應(yīng)用服務(wù)。通過(guò)部署OpenStack的核心服務(wù)組件實(shí)現(xiàn)對(duì)云資源的管理,根據(jù)業(yè)務(wù)需求創(chuàng)建、配置和管理虛擬機(jī)用以提供云服務(wù),這些組件包括存儲(chǔ)服務(wù)(Glance、Cinder)、計(jì)算服務(wù)(Nova)、認(rèn)證服務(wù)(Keystone)、網(wǎng)絡(luò)服務(wù)(Neutron)等。設(shè)置自動(dòng)化配置管理工具Chef對(duì)云環(huán)境進(jìn)行自動(dòng)化配置和部署。配置開(kāi)源的網(wǎng)絡(luò)資源監(jiān)控工具Ganglia和Nagios,對(duì)云平臺(tái)的主機(jī)運(yùn)行狀況、服務(wù)狀態(tài)以及性能進(jìn)行實(shí)時(shí)監(jiān)控。搭建持續(xù)集成環(huán)境Jenkins[5]用以持續(xù)自動(dòng)地構(gòu)建和測(cè)試軟件項(xiàng)目,監(jiān)控一些定時(shí)執(zhí)行的任務(wù)。這些服務(wù)運(yùn)行于控制節(jié)點(diǎn)所配置的獨(dú)立虛擬機(jī)中,并伴隨控制節(jié)點(diǎn)系統(tǒng)一起啟動(dòng)。利用虛擬機(jī)運(yùn)行有利于服務(wù)的遷移和備份,也易于調(diào)整服務(wù)需要的資源[6]。
(3) 接口訪問(wèn)層。提供云平臺(tái)的訪問(wèn)入口,接受用戶的服務(wù)創(chuàng)建請(qǐng)求,提供服務(wù)部署和可視化的操作界面。
2.1 持續(xù)集成環(huán)境
Jenkins是一個(gè)開(kāi)源的持續(xù)集成工具,可以用來(lái)搭建持續(xù)集成自動(dòng)化測(cè)試平臺(tái),配置在云環(huán)境中,主要用于管理和測(cè)試軟件項(xiàng)目的執(zhí)行。持續(xù)集成環(huán)境包括1個(gè)可獲取源代碼的倉(cāng)庫(kù)、1個(gè)包含構(gòu)建腳本的項(xiàng)目以及1個(gè)Jenkins服務(wù)器,其工作流程如圖2所示。
圖2 Jenkins工作流程
對(duì)鏡像的管理和維護(hù)功能可以借助持續(xù)集成平臺(tái)下的腳本設(shè)計(jì)來(lái)實(shí)現(xiàn),通過(guò)在持續(xù)集成環(huán)境中部署鏡像維護(hù)管理所需的腳本,定期構(gòu)建、編譯、運(yùn)行相應(yīng)代碼實(shí)現(xiàn)對(duì)鏡像生命周期的管理,提供對(duì)鏡像的更新、回收、清除等服務(wù)機(jī)制。通過(guò)在云平臺(tái)中部署存儲(chǔ)源碼的倉(cāng)庫(kù)(SVN Repository),用于提交代碼和處理源碼修改的版本控制。Jenkins的構(gòu)建項(xiàng)目中需要配置代碼倉(cāng)庫(kù)地址、觸發(fā)的方式、構(gòu)建后的步驟以及郵件通知等信息[7],所有配置都通過(guò)其提供的Web界面實(shí)現(xiàn)。Jenkins根據(jù)構(gòu)建請(qǐng)求發(fā)起相應(yīng)的操作,通過(guò)給定的代碼倉(cāng)庫(kù)地址URL,將代碼拉取到項(xiàng)目對(duì)應(yīng)的工作區(qū)執(zhí)行構(gòu)建過(guò)程。
當(dāng)云平臺(tái)中配置了提供Jenkins持續(xù)集成的節(jié)點(diǎn)后,通過(guò)登錄Jenkins Web服務(wù)器,在可視化的操作界面中選擇要執(zhí)行的項(xiàng)目名稱和構(gòu)建所需的相關(guān)參數(shù),就可以開(kāi)始一次腳本的構(gòu)建、編譯和執(zhí)行,之后腳本會(huì)按照所配置的觸發(fā)方式和頻率進(jìn)行構(gòu)建執(zhí)行。
2.2 鏡像的緩存和清除
與云實(shí)驗(yàn)平臺(tái)連接的客戶機(jī)中配置了鏡像的定制環(huán)境,用戶通過(guò)在Linux系統(tǒng)中運(yùn)行的虛擬化工具Virt-Manager制作一臺(tái)適用于KVM的虛擬機(jī)鏡像文件,在進(jìn)行適當(dāng)配置后上傳到云平臺(tái)的鏡像存儲(chǔ)池保存,同時(shí)對(duì)鏡像進(jìn)行描述的數(shù)據(jù)字段也存入數(shù)據(jù)庫(kù)中?;贠penStack的云平臺(tái)支持多種虛擬機(jī)鏡像格式,不同的鏡像格式讀寫性能也不盡相同[8],本實(shí)驗(yàn)平臺(tái)中制作的鏡像文件采用qcow2格式。qcow2格式具有占用磁盤空間小、支持快照、壓縮和加密等特性。當(dāng)定制的鏡像文件上傳到云平臺(tái)后就開(kāi)啟了鏡像文件的生命周期運(yùn)轉(zhuǎn),用戶可以按照需要使用不同的鏡像創(chuàng)建虛擬機(jī)獲得實(shí)驗(yàn)環(huán)境。
OpenStack平臺(tái)下的鏡像管理組件Glance用于鏡像的元數(shù)據(jù)信息管理和鏡像存儲(chǔ)池的管理。在基于本地存儲(chǔ)的虛擬機(jī)運(yùn)行方案中,Nova需要從Glance服務(wù)器下載大小為GB級(jí)的鏡像文件緩存到計(jì)算節(jié)點(diǎn)本地,該鏡像文件是格式為raw的基礎(chǔ)鏡像,并基于該鏡像生成一個(gè)運(yùn)行虛擬機(jī)的實(shí)例鏡像,所有對(duì)于虛擬機(jī)的寫操作都會(huì)寫入這個(gè)實(shí)例鏡像。在云實(shí)驗(yàn)平臺(tái)中上傳了一個(gè)新制作的鏡像后,每個(gè)計(jì)算節(jié)點(diǎn)還沒(méi)有緩存該鏡像,此時(shí)批量部署虛擬機(jī)需要長(zhǎng)時(shí)間等待鏡像下載,使虛擬機(jī)的啟動(dòng)變得很慢。為此,利用Glance的緩存機(jī)制,在部署虛擬機(jī)集群前預(yù)先通過(guò)執(zhí)行腳本將所需的鏡像緩存到計(jì)算節(jié)點(diǎn)上,有利于提高虛擬機(jī)的創(chuàng)建速度。鏡像緩存腳本執(zhí)行的基本流程如下:
(1) 上傳一個(gè)鏡像后在指定計(jì)算節(jié)點(diǎn)上通過(guò)該鏡像創(chuàng)建一個(gè)虛擬機(jī)實(shí)例;
(2) 若虛擬機(jī)實(shí)例創(chuàng)建成功,則獲取虛擬機(jī)實(shí)例ID,否則處理錯(cuò)誤并退出;
(3) 在計(jì)算節(jié)點(diǎn)根據(jù)虛擬機(jī)實(shí)例ID查詢虛擬機(jī)存放目錄下的鏡像信息,確定虛擬機(jī)實(shí)例對(duì)應(yīng)的基礎(chǔ)鏡像文件名;
(4) 遍歷計(jì)算節(jié)點(diǎn),將所獲取的基礎(chǔ)鏡像文件從已緩存的計(jì)算節(jié)點(diǎn)同步到其他未緩存的計(jì)算節(jié)點(diǎn)。
在云平臺(tái)中順序啟動(dòng)多個(gè)使用相同鏡像創(chuàng)建的虛擬機(jī)實(shí)例,所消耗的時(shí)間包括鏡像在網(wǎng)絡(luò)中傳輸?shù)臅r(shí)間和在計(jì)算節(jié)點(diǎn)啟動(dòng)鏡像的時(shí)間。鏡像的緩存相當(dāng)于對(duì)鏡像進(jìn)行預(yù)加載,通過(guò)啟動(dòng)第一臺(tái)虛擬機(jī)實(shí)例將鏡像下載到本地,然后把鏡像同步到其他計(jì)算節(jié)點(diǎn),鏡像的同步可以借助對(duì)遠(yuǎn)程同步工具的優(yōu)化縮短網(wǎng)絡(luò)傳輸所用的時(shí)間。在鏡像文件緩存到所有計(jì)算節(jié)點(diǎn)的情況下,如果使用該鏡像創(chuàng)建多個(gè)相同配置的虛擬機(jī),云平臺(tái)將直接生成運(yùn)行虛擬機(jī)的實(shí)例鏡像,使虛擬機(jī)的啟動(dòng)速度明顯提高,適用于需要批量部署實(shí)驗(yàn)環(huán)境的教學(xué)場(chǎng)景。
需要注意的是在計(jì)算節(jié)點(diǎn)上產(chǎn)生的基礎(chǔ)鏡像不會(huì)隨著虛擬機(jī)的刪除而自動(dòng)清除,云平臺(tái)長(zhǎng)期運(yùn)行后會(huì)導(dǎo)致基礎(chǔ)鏡像占用大量磁盤空間。因此在實(shí)驗(yàn)平臺(tái)中配置了對(duì)基礎(chǔ)鏡像進(jìn)行清除的腳本,用于定期檢查緩存鏡像的保存時(shí)間,對(duì)于長(zhǎng)期不使用的鏡像,在沒(méi)有虛擬機(jī)運(yùn)行的情況下刪除基礎(chǔ)鏡像文件釋放磁盤空間,以提高硬件資源利用率[9]。
2.3 閑置鏡像回收
云實(shí)驗(yàn)平臺(tái)的管理員或用戶創(chuàng)建一個(gè)新的虛擬機(jī)時(shí),虛擬機(jī)加載鏡像,使鏡像激活并處于在線狀態(tài)。當(dāng)鏡像長(zhǎng)期不用時(shí)處于閑置狀態(tài),但仍會(huì)占用云平臺(tái)有限的資源,在一定程度上影響系統(tǒng)的性能,所以有必要及時(shí)對(duì)閑置的鏡像進(jìn)行回收以釋放資源。通過(guò)在Jenkins持續(xù)集成環(huán)境中構(gòu)建和執(zhí)行回收鏡像資源的腳本,定期對(duì)鏡像進(jìn)行掃描獲取鏡像信息,可以識(shí)別出長(zhǎng)期閑置不用的鏡像資源并進(jìn)行處理。
鏡像資源的相關(guān)信息在上傳到云平臺(tái)時(shí)會(huì)注冊(cè)到OpenStack的Nova數(shù)據(jù)庫(kù)中,實(shí)現(xiàn)鏡像回收服務(wù)需要設(shè)置OpenStack數(shù)據(jù)庫(kù)的連接配置信息(數(shù)據(jù)庫(kù)服務(wù)器地址,Nova數(shù)據(jù)庫(kù)和Keystone數(shù)據(jù)庫(kù)的用戶名、密碼)、鏡像資源生命周期配置信息(資源留存的時(shí)長(zhǎng),對(duì)用戶進(jìn)行提醒通知的時(shí)間)、云平臺(tái)管理賬戶配置信息以及Web服務(wù)的端口[10]?;厥辗?wù)啟動(dòng)時(shí)讀取這些配置信息,連接OpenStack數(shù)據(jù)庫(kù),對(duì)鏡像的最后修改日期、用戶、主機(jī)、鏡像ID等進(jìn)行查詢操作,比較鏡像的最后修改日期和當(dāng)前日期,判斷鏡像資源是否處于過(guò)期或即將過(guò)期的狀態(tài),并對(duì)鏡像資源進(jìn)行延期、刪除等操作。對(duì)于已過(guò)期的資源,執(zhí)行自動(dòng)清除并通知所有者;對(duì)于將過(guò)期的資源,提醒所有者通過(guò)改寫鏡像的最后修改日期來(lái)實(shí)現(xiàn)延期。鏡像回收的流程見(jiàn)圖3。
圖3 閑置鏡像回收流程
在腳本中設(shè)計(jì)實(shí)現(xiàn)API接口函數(shù),用以獲取鏡像信息以及對(duì)鏡像進(jìn)行篩選、延期和刪除等操作,通過(guò)連接數(shù)據(jù)庫(kù)使用SQL語(yǔ)句來(lái)實(shí)現(xiàn)查詢鏡像的過(guò)期信息和更新鏡像的最后修改日期。在云實(shí)驗(yàn)平臺(tái)中配置自動(dòng)回收鏡像的腳本,可以避免存在和積累閑置的鏡像,提高CPU、存儲(chǔ)、網(wǎng)絡(luò)等硬件資源的利用率,減少系統(tǒng)不必要的開(kāi)銷。
2.4 鏡像升級(jí)更新
在云實(shí)驗(yàn)平臺(tái)的節(jié)點(diǎn)上運(yùn)行著不同的基于Linux系統(tǒng)的虛擬機(jī),它們提供具體的業(yè)務(wù)服務(wù)功能和實(shí)驗(yàn)環(huán)境支持。在很多情況下,云平臺(tái)構(gòu)建的虛擬機(jī)需要以操作系統(tǒng)鏡像為基礎(chǔ)版本,用戶基于此系統(tǒng)鏡像的虛擬機(jī)實(shí)例安裝實(shí)驗(yàn)所需的相關(guān)軟件并配置相應(yīng)參數(shù),生成能夠滿足實(shí)驗(yàn)環(huán)境要求的虛擬機(jī)?;贚inux操作系統(tǒng)發(fā)行版的虛擬機(jī)鏡像需要根據(jù)軟件安裝的需求進(jìn)行及時(shí)的更新升級(jí),這是維護(hù)虛擬機(jī)實(shí)驗(yàn)環(huán)境穩(wěn)定性的需要,也有利于云平臺(tái)的安全運(yùn)行。
云實(shí)驗(yàn)平臺(tái)對(duì)鏡像的更新維護(hù)采用在線更新機(jī)制,即在虛擬機(jī)系統(tǒng)正常運(yùn)行的狀態(tài)下執(zhí)行更新腳本進(jìn)行軟件的升級(jí)和更新操作。鏡像升級(jí)更新的實(shí)現(xiàn)過(guò)程:選擇掃描節(jié)點(diǎn)和虛擬機(jī)鏡像,對(duì)鏡像和補(bǔ)丁源進(jìn)行遍歷和匹配,獲取需要更新的軟件補(bǔ)丁包,在線安裝補(bǔ)丁,對(duì)更新后的虛擬機(jī)進(jìn)行備份形成新的鏡像。
對(duì)虛擬機(jī)鏡像補(bǔ)丁的管理可以借助鏡像安裝操作系統(tǒng)提供的軟件包管理工具來(lái)實(shí)現(xiàn),軟件包管理工具使用特定格式的數(shù)據(jù)來(lái)保存已安裝軟件的相關(guān)信息,并提供了系統(tǒng)配置文件保存軟件升級(jí)庫(kù)的信息。本實(shí)驗(yàn)平臺(tái)運(yùn)行的虛擬機(jī)基于RedHat操作系統(tǒng),可以借助yum方式實(shí)現(xiàn)對(duì)節(jié)點(diǎn)虛擬機(jī)鏡像補(bǔ)丁的掃描和更新。為了獲得較快的更新訪問(wèn)速度,在私有云的網(wǎng)絡(luò)環(huán)境下搭建一個(gè)內(nèi)部補(bǔ)丁服務(wù)器[11],用于下載存儲(chǔ)從鏡像發(fā)行方獲取的補(bǔ)丁軟件包和操作系統(tǒng)版本匹配的補(bǔ)丁信息庫(kù),虛擬機(jī)鏡像更新時(shí)從內(nèi)部補(bǔ)丁服務(wù)器獲取補(bǔ)丁包進(jìn)行升級(jí)。虛擬機(jī)鏡像的升級(jí)更新主要通過(guò)2個(gè)腳本來(lái)實(shí)現(xiàn):
(1) 補(bǔ)丁源遍歷和匹配腳本。主要功能是讓所選節(jié)點(diǎn)中的虛擬機(jī)鏡像和補(bǔ)丁信息庫(kù)掃描比較,通過(guò)匹配已安裝的包和可獲得的包的信息來(lái)檢查軟件包是否已經(jīng)過(guò)期,得到需要更新的軟件包補(bǔ)丁列表。腳本執(zhí)行時(shí)以最新的補(bǔ)丁信息庫(kù)作為虛擬機(jī)鏡像掃描的參照數(shù)據(jù)庫(kù),然后從rpm數(shù)據(jù)庫(kù)文件內(nèi)提取已安裝軟件包的信息,與補(bǔ)丁信息庫(kù)進(jìn)行對(duì)比,確定需要更新的補(bǔ)丁詳細(xì)信息。鏡像掃描的結(jié)果記錄在數(shù)據(jù)表中,詳細(xì)信息包括掃描時(shí)間、云節(jié)點(diǎn)標(biāo)識(shí)、虛擬機(jī)鏡像標(biāo)識(shí)、需要更新的軟件包名、軟件包當(dāng)前版本、需要更新的版本信息、補(bǔ)丁升級(jí)站點(diǎn)等。
(2) 補(bǔ)丁更新腳本。在腳本中配置參數(shù)使云節(jié)點(diǎn)的虛擬機(jī)可以通過(guò)yum方式更新補(bǔ)丁,編輯系統(tǒng)配置文件repo文件使yum服務(wù)器指向內(nèi)部補(bǔ)丁服務(wù)器。yum服務(wù)器能整理出每個(gè)rpm軟件包的基本信息,如軟件名、軟件版本、配置文件等,使用yum工具執(zhí)行更新或安裝命令時(shí)會(huì)從指定的配置文件中解析yum服務(wù)器的地址,在更新時(shí)清除原有補(bǔ)丁的緩存,從內(nèi)部補(bǔ)丁服務(wù)器中獲取匹配的rpm軟件包執(zhí)行安裝更新操作[12]。
補(bǔ)丁更新升級(jí)成功后對(duì)虛擬機(jī)進(jìn)行備份,在云平臺(tái)管理端使用鏡像操作命令更改這個(gè)備份的屬性,使之成為一個(gè)新的鏡像。內(nèi)部補(bǔ)丁服務(wù)器設(shè)置為定期下載補(bǔ)丁和更新補(bǔ)丁信息庫(kù),使存儲(chǔ)的軟件版本足夠滿足實(shí)驗(yàn)教學(xué)的環(huán)境要求,能保持虛擬機(jī)穩(wěn)定運(yùn)行即可,這種方式也解決了軟件更新過(guò)程中復(fù)雜的依賴包安裝問(wèn)題。
在云實(shí)驗(yàn)平臺(tái)中對(duì)鏡像資源的有效管理和維護(hù)有利于虛擬機(jī)保持良好運(yùn)行、提供滿足實(shí)驗(yàn)教學(xué)需求的個(gè)性化實(shí)驗(yàn)環(huán)境。通過(guò)在云平臺(tái)中部署腳本實(shí)現(xiàn)虛擬機(jī)鏡像的緩存、回收以及更新升級(jí)等維護(hù)功能,在一定程度上提高了批量創(chuàng)建虛擬機(jī)的效率,能夠及時(shí)回收實(shí)驗(yàn)資源,維護(hù)云實(shí)驗(yàn)環(huán)境的穩(wěn)定性。鏡像維護(hù)是云實(shí)驗(yàn)平臺(tái)運(yùn)維工作的主要內(nèi)容,利用腳本的自動(dòng)構(gòu)建和執(zhí)行實(shí)現(xiàn)對(duì)虛擬機(jī)鏡像的維護(hù),也提高了云平臺(tái)的運(yùn)維效率。
References)
[1] 李鋒,陸婷婷,郭建華.一種基于重復(fù)數(shù)據(jù)刪除的鏡像文件存儲(chǔ)方法研究[J].計(jì)算機(jī)科學(xué),2016,43(11):495-498.
[2] 吳凡,宋云奎,徐繼偉,等.QoS約束的虛擬機(jī)鏡像放置優(yōu)化方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2015,24(10):197-203.
[3] 李思陽(yáng),羅宇.基于多級(jí)索引的云平臺(tái)鏡像管理系統(tǒng)Milance的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2015,37(9):1637-1642.
[4] 金永霞,孫寧.基于OpenStack的云計(jì)算實(shí)驗(yàn)平臺(tái)建設(shè)與應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2016,33(6):145-149.
[5] Jenkins[EB/OL].[2017-04-10].https://jenkins.io/.
[6] 張小斌.OpenStack企業(yè)云平臺(tái)架構(gòu)與實(shí)踐[M].北京:電子工業(yè)出版社,2015.
[7] 劉華婷.基于Jenkins快速搭建持續(xù)集成環(huán)境[EB/OL].(2011-11-24) [2017-04-10].https://www.ibm.com/developerworks/cn/java/j-lo-jenkins/.
[8] 魯志軍,祖立軍.云計(jì)算虛擬化環(huán)境下開(kāi)源鏡像對(duì)比分析[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(8):84-87.
[9] 黃凱,毛偉杰,顧駿杰.OpenStack實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,2014.
[10] 胡國(guó)清,吳春峰.OpenStack中自動(dòng)回收實(shí)例與鏡像的最佳實(shí)踐[EB/OL].(2015-09-14)[2017-04-10].https://www.ibm.com/developerworks/cn/cloud/library/1509_hugq_openstackautocollect/.
[11] 張敬東. Linux服務(wù)器配置與管理[M]. 北京:清華大學(xué)出版社,2014.
[12] 楊卓然.基于OpenStack的云計(jì)算鏡像安全管理的研究[D].北京:中國(guó)地質(zhì)大學(xué),2016.
Management and maintenance of virtual machine mirror image at cloud computing experimental platform
Jin Yongxia, Sun Ning
(College of Internet of Things Engineering, Hohai University. Changzhou 213022, China)
In view of some problems in the application of the cloud platform in experimental teaching, a management and maintenance system for the virtual machine mirror image is designed and realized. Through the deployment of scripts in continuous integration environment of the cloud platform, the maintenance functions such as mirror image caching, recycling, updating, upgrading, etc., can be realized. The management and maintenance of the mirror image are beneficial for the virtual machine to maintain good operation, so that the cloud platform can quickly create the experimental environment and recycle the experimental resources in time to provide effective environmental support for the experimental teaching.
cloud computing experimental platform; virtual machine mirror image; management and maintenance; continuous integration environment
10.16791/j.cnki.sjg.2017.11.025
TP393.07
A
1002-4956(2017)11-0102-04
2017-04-26
江蘇高校品牌專業(yè)建設(shè)工程資助項(xiàng)目(PPZY2015B141)
金永霞(1973—),女,寧夏平羅,碩士,實(shí)驗(yàn)師,研究方向?yàn)樵朴?jì)算實(shí)踐與應(yīng)用.
實(shí)驗(yàn)技術(shù)與管理2017年11期