趙利芳
(集寧師范學(xué)院,內(nèi)蒙古 集寧 012000)
現(xiàn)階段,國內(nèi)互聯(lián)網(wǎng)業(yè)務(wù)蓬勃發(fā)展,以互聯(lián)網(wǎng)為基礎(chǔ)的平臺(tái)建設(shè)實(shí)現(xiàn)了在各行各業(yè)的全面滲透。以教學(xué)資源共享和在線教育為目標(biāo)的校園IT平臺(tái)逐漸成為校園教學(xué)建設(shè)的重要組成部分之一[1]。與其他行業(yè)相比,校園IT平臺(tái)中不僅包含的數(shù)據(jù)資源規(guī)模較大,同時(shí)信息的更新頻率也相對(duì)較高,同時(shí)資源的價(jià)值具有長期價(jià)值,因此,如何實(shí)現(xiàn)對(duì)平臺(tái)信息的完整存儲(chǔ)成了需要重點(diǎn)關(guān)注的問題[2]。為此,將平臺(tái)進(jìn)行云端遷移成了首選,通過將平臺(tái)中的信息資源遷移到云端,可以實(shí)現(xiàn)對(duì)其完整備份,且避免了平臺(tái)攻擊條件下的信息安全問題。不僅如此,還可以降低平臺(tái)的運(yùn)行負(fù)載,提高工作效率。其中,彭軍等[3]研究了一種以快速深度Q學(xué)習(xí)為基礎(chǔ)的車載系統(tǒng)云遷移方法,提高了遷移的完整性,但在遷移過程中的停機(jī)時(shí)間較長;李坤妃[4]對(duì)鐵路檢測系統(tǒng)的云遷移方案進(jìn)行研究,改善了遷移過程中的內(nèi)存開銷,但遷移的穩(wěn)定性存在一定提升空間。
在平臺(tái)的實(shí)際遷移過程中,穩(wěn)定性的高低關(guān)系到遷移過程中信息的安全性,為此,本文就遷移過程中停機(jī)時(shí)間這一問題展開了關(guān)于校園IT平臺(tái)向云端遷移的研究,并通過實(shí)驗(yàn)驗(yàn)證了所提遷移方法的有效性。通過本文的研究,以期為校園IT平臺(tái)的業(yè)務(wù)聯(lián)動(dòng)以及平臺(tái)大數(shù)據(jù)分析帶去幫助。
為減少遷移過程中云計(jì)算中心運(yùn)行節(jié)點(diǎn)的數(shù)量,以最小的成本完成平臺(tái)向云端的遷移,本文首先對(duì)節(jié)點(diǎn)的負(fù)載率遷出閾值進(jìn)行設(shè)置,以待遷移校園IT平臺(tái)的規(guī)模為依據(jù),設(shè)計(jì)節(jié)點(diǎn)的負(fù)載率閾值,以此為基礎(chǔ)的節(jié)點(diǎn)選擇流程如圖1所示。
從圖1中可以看出,負(fù)載過低節(jié)點(diǎn)上的全部虛擬機(jī)是待遷移平臺(tái)虛擬機(jī)的來源。由這些虛擬機(jī)共同構(gòu)成平臺(tái)的遷移列表。通過對(duì)云計(jì)算中心處于運(yùn)行狀態(tài)的節(jié)點(diǎn)進(jìn)行遍歷,對(duì)各個(gè)節(jié)點(diǎn)的負(fù)載率進(jìn)行計(jì)算,其計(jì)算方式如下:
圖1 遷移節(jié)點(diǎn)選擇流程
其中,P表示節(jié)點(diǎn)的負(fù)載率,λ表示節(jié)點(diǎn)的傳輸系數(shù),a和b分別表示節(jié)點(diǎn)傳輸隊(duì)列的大小以及已經(jīng)完成的傳輸隊(duì)列大小,l表示單個(gè)待傳輸信息的長度。
再以設(shè)定的負(fù)載率遷出閾值為判斷標(biāo)準(zhǔn),假設(shè)云遷移的負(fù)載率閾值為Pmax,當(dāng)存在P≤Pmax時(shí),則經(jīng)該節(jié)點(diǎn)劃分為欠載節(jié)點(diǎn),否則為正常負(fù)載節(jié)點(diǎn),通過這樣的方式,選擇欠載節(jié)點(diǎn)進(jìn)行平臺(tái)的云端遷移。
在確定遷移的節(jié)點(diǎn)后,即可開展平臺(tái)的遷移工作,為此,需要建立待遷平臺(tái)虛擬機(jī)與遷移節(jié)點(diǎn)之間的匹配關(guān)系,通過這樣的方式確保遷移過程中節(jié)點(diǎn)的負(fù)載不會(huì)出現(xiàn)異常,減少停機(jī)狀態(tài)出現(xiàn)的時(shí)間。
本文首先確定平臺(tái)遷移的最佳節(jié)點(diǎn),以平臺(tái)虛擬機(jī)請(qǐng)求資源與節(jié)點(diǎn)剩余負(fù)載資源的一致性關(guān)系作為選擇標(biāo)準(zhǔn),對(duì)遷移過程中的每個(gè)節(jié)點(diǎn)進(jìn)行選擇。由于平臺(tái)虛擬機(jī)的遷移請(qǐng)求中涉及多種資源,為此,本文對(duì)不同資源的單項(xiàng)遷移成本進(jìn)行計(jì)算,對(duì)不同表示方式的資源遷移需求歸一化處理,方式如下:
其中,x表示平臺(tái)的某個(gè)單項(xiàng)資源,S(*)表示歸一化后的表示形式,L(*)表示對(duì)應(yīng)x資源的遷移需求,節(jié)點(diǎn)上的剩余負(fù)載,R(*)表示平臺(tái)虛擬機(jī)請(qǐng)求遷移的資源,T(*)表示節(jié)點(diǎn)上現(xiàn)有的資源量。
以此為基礎(chǔ),對(duì)平臺(tái)資源與遷移節(jié)點(diǎn)進(jìn)行匹配,匹配的目標(biāo)是節(jié)點(diǎn)利用率最大化,同時(shí)遷移過程中經(jīng)過的節(jié)點(diǎn)數(shù)量最小化。本文按照平臺(tái)虛擬機(jī)云遷移所需總時(shí)間的長短,以升序的方式對(duì)所有待遷移的平臺(tái)虛擬機(jī)進(jìn)行排序,將遷移時(shí)間轉(zhuǎn)化為平臺(tái)虛擬機(jī) RAM和CPU資源與遷移帶寬之間的比值關(guān)系,以最小值作為遷移的實(shí)施路徑,以此實(shí)現(xiàn)平臺(tái)的云端遷移。
將本文提出的平臺(tái)云遷移方法應(yīng)用于實(shí)際的環(huán)結(jié)構(gòu)中,為此,本文在Linux 環(huán)境下搭建了OpenStack私有云環(huán)境作為遷移目標(biāo),以此為基礎(chǔ)開展測試。
校園IT平臺(tái)虛擬機(jī)的操作系統(tǒng)為SUSE LINUX Enterprise Server Service Pack 3 64bit,設(shè)置有雙核的CPU,64G的運(yùn)行內(nèi)存用于適應(yīng)信息訪問請(qǐng)求的兼容,硬盤大小為1T,用于存儲(chǔ)平臺(tái)用戶的信息以及平臺(tái)運(yùn)行的基本邏輯編碼。
在上述基礎(chǔ)上,本文首先通過搭建OpenStack云平臺(tái)實(shí)現(xiàn)對(duì)校園IT平臺(tái)虛擬化服務(wù)的管理,使用KVMQEMU架構(gòu)為下層的平臺(tái)虛擬域提供基本的虛擬化服務(wù),libtpms提供平臺(tái)的完整功能數(shù)據(jù)基礎(chǔ)。并在其中3臺(tái)計(jì)算機(jī)上搭建OpenStack平臺(tái),一臺(tái)作為OpenStack云平臺(tái)控制節(jié)點(diǎn),兩臺(tái)為計(jì)算節(jié)點(diǎn),為了確保計(jì)算效率,為其搭載了TPM2.0芯片。除此之外的第四臺(tái)計(jì)算機(jī)作為共享存儲(chǔ)服務(wù)器,以平臺(tái)存儲(chǔ)后端的形式存在,各設(shè)備節(jié)點(diǎn)之間的連接是通過交換機(jī)實(shí)現(xiàn)的。
以此為基礎(chǔ),在OpenStack 的計(jì)算節(jié)點(diǎn)添加libtpms,通過這樣的方式為QEMU提供完整的調(diào)用資源,并修改OpenStack 的代碼,確保平臺(tái)支持OpenStack對(duì)平臺(tái)界面的管理。為了保證平臺(tái)源節(jié)點(diǎn)虛擬機(jī)和云環(huán)境節(jié)點(diǎn)狀態(tài)在動(dòng)態(tài)遷移中的一致性,對(duì)平臺(tái)進(jìn)行了一次時(shí)間為0.1m的停機(jī)遷移,使二者的內(nèi)存狀態(tài)、CPU狀態(tài)以及硬件設(shè)備狀態(tài)實(shí)現(xiàn)同步。在此基礎(chǔ)上,對(duì)同樣資源的校園IT平臺(tái)進(jìn)行10次遷移,并將彭軍等[3]和李坤妃[4]方法作為對(duì)照組,在相同環(huán)境下進(jìn)行遷移。
本文分別統(tǒng)計(jì)了3種方法遷移規(guī)程中出現(xiàn)的停機(jī)時(shí)間,其結(jié)果如表1所示。
表1 不同方法遷移過程中停機(jī)時(shí)間統(tǒng)計(jì)/ms
從表1中可以看出,在3種方法中,彭軍等[3]方法的停機(jī)時(shí)間基本在20~25 ms,10次遷移的停機(jī)時(shí)間均值為22.48,相對(duì)較長;李坤妃[4]方法的停機(jī)時(shí)間波動(dòng)較大,最短僅為12.69 ms,屬于極為優(yōu)秀的遷移,最長時(shí)間可達(dá)到26.41 ms,屬于低質(zhì)量遷移,10次遷移的平均停機(jī)時(shí)間為20.26 ms,基本與彭軍等[3]方法持平,說明李坤妃[4]方法的穩(wěn)定性較差;本文方法的停機(jī)時(shí)間始終穩(wěn)定在10~13 ms階段,最長停機(jī)時(shí)間也僅為12.31 ms,10次遷移的平均停機(jī)時(shí)間為11.20 ms,表明本文提出的云遷移方法可以實(shí)現(xiàn)可靠的平臺(tái)遷移處理。
目前平臺(tái)的云端遷移問題已經(jīng)成為確保數(shù)據(jù)信息安全,實(shí)現(xiàn)平臺(tái)信息完成備份處理的重要方式之一,其不僅可以大大降低平臺(tái)載體的運(yùn)轉(zhuǎn)負(fù)荷,提高使用壽命,也可以在某種程度上保證平臺(tái)功能執(zhí)行的穩(wěn)定性。一般情況下,遷移方案主要是以特定遷移場景為目標(biāo)設(shè)計(jì)的,不具有普遍適用性。本文就平臺(tái)云遷移過程中的停機(jī)時(shí)間過程這一問題展開研究,并最終實(shí)現(xiàn)了對(duì)停機(jī)時(shí)間的有效控制。通過本文的研究,以期為提高平臺(tái)云遷移的效率提供借鑒價(jià)值。