朱軍紅+唐明根+孫學(xué)杉
摘要:云計(jì)算作為當(dāng)前主流計(jì)算機(jī)應(yīng)用技術(shù),由于采用應(yīng)用即服務(wù)模式實(shí)現(xiàn)IT資源集中共享與按需分配,其全新的系統(tǒng)體系架構(gòu)加速了數(shù)據(jù)中心向高度集成化、架構(gòu)化發(fā)展,同時(shí)云計(jì)算中按需服務(wù)的付費(fèi)模式推動(dòng)了云計(jì)算技術(shù)商業(yè)化應(yīng)用。 本論文就是在此背景下展開對(duì)云計(jì)算虛擬化技術(shù)研究,重點(diǎn)對(duì)云計(jì)算相關(guān)測(cè)試人員提供可行性測(cè)試解決方案。
關(guān)鍵詞:云計(jì)算;虛擬化;虛擬化測(cè)試系統(tǒng);平臺(tái)即服務(wù)
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)04-0229-02
1 虛擬化技術(shù)
1.1 虛擬化技術(shù)概述
虛擬化技術(shù)主要把計(jì)算機(jī)底層物理硬件資源、操作系統(tǒng)以及應(yīng)用程序API資源進(jìn)行抽象與集中管理,虛擬化技術(shù)作為連接上下層的中間件,通過上下層耦合提高架構(gòu)靈活性。總之,虛擬化技術(shù)實(shí)現(xiàn)了對(duì)物理內(nèi)存資源、存儲(chǔ)資源抽象管理與應(yīng)用程序多任務(wù)共享操作管理。虛擬化技術(shù)主要有平臺(tái)虛擬化、資源虛擬化、應(yīng)用虛擬化三個(gè)技術(shù)[1]。
1)平臺(tái)虛擬化技術(shù)
平臺(tái)虛擬化分為全虛擬化、超虛擬化、硬件輔助虛擬化、部分虛擬化、操作系統(tǒng)虛擬化[2]。全虛擬化主要是對(duì)CPU、內(nèi)存、存儲(chǔ)器等底層硬件資源進(jìn)行完全虛擬,同時(shí)軟件資源與虛擬化平臺(tái)進(jìn)行無縫銜接,同時(shí)虛擬機(jī)可以直接訪問底層硬件資源,不需要通過宿主操作系統(tǒng)實(shí)現(xiàn)訪問[3];超虛擬化主要是通過修改部分宿主操作訪問級(jí)實(shí)現(xiàn)虛擬主機(jī)與宿主操作系統(tǒng)間的數(shù)據(jù)交互;硬件輔助虛擬化主要是指硬件資源提供虛擬監(jiān)視器結(jié)構(gòu)支持,實(shí)現(xiàn)虛擬機(jī)獨(dú)立運(yùn)行;部分虛擬化是指通過VMM模擬內(nèi)存地址空間,實(shí)現(xiàn)資源共享和線程獨(dú)立;操作系統(tǒng)級(jí)虛擬化是指多個(gè)虛擬機(jī)獨(dú)立運(yùn)行在同一個(gè)宿主主機(jī)上,不同虛擬主機(jī)間互不影響[4]。
2)資源虛擬化技術(shù)
資源虛擬化技術(shù)是指在計(jì)算機(jī)底層硬件資源(磁盤、CPU、電源等)上建立一個(gè)抽象層,通過該抽象層為上層應(yīng)用提供服務(wù),該層主要起到了平衡利用硬件資源的目的。常見的資源虛擬化技術(shù)有存儲(chǔ)虛擬化、網(wǎng)絡(luò)虛擬化、計(jì)算虛擬化。
3)應(yīng)用虛擬化技術(shù)
應(yīng)用虛擬化技術(shù)是指為應(yīng)用程序虛擬出脫離操作系統(tǒng)的虛擬運(yùn)行環(huán)境,對(duì)應(yīng)用程序依賴的操作環(huán)境與硬件資源進(jìn)行虛擬化處理,目前應(yīng)用虛擬化技術(shù)主要有應(yīng)用程序流、遠(yuǎn)程桌面服務(wù)、桌面虛擬化。
1.2 虛擬化系統(tǒng)架構(gòu)
目前比較成熟虛擬產(chǎn)品有KVM、Xen、VMware、IBM公司等,由于KVM、Xen為開源虛機(jī)監(jiān)視器[5]。
1)Xen通過半虛擬化方式實(shí)現(xiàn)多個(gè)操作系統(tǒng)同時(shí)運(yùn)行在一個(gè)物理主機(jī)上,若主機(jī)硬件資源支持輔助條件則開源實(shí)現(xiàn)完全虛擬化。在Xen環(huán)境中,當(dāng)系統(tǒng)開始運(yùn)行時(shí),通過加載特權(quán)管理虛擬機(jī)Domain 0實(shí)現(xiàn)Xen VMM與實(shí)體鍵的數(shù)據(jù)交互與虛擬機(jī)管理與硬件資源虛擬化與管理。
2)KVM為運(yùn)行在Linux內(nèi)核的虛擬主機(jī),在KVM虛擬化架構(gòu)中,通過把虛擬主機(jī)作為一個(gè)標(biāo)準(zhǔn)進(jìn)程進(jìn)行控制欲管理,通過QEMU工具實(shí)現(xiàn)KVM控制。
1.3 服務(wù)器虛擬化
服務(wù)器虛擬化主要是指在一個(gè)物理主機(jī)上虛擬出許多主機(jī),而主機(jī)與主機(jī)相互隔離,而用戶進(jìn)行登錄虛擬主機(jī)后要對(duì)物理資源進(jìn)行訪問時(shí),則通過虛擬機(jī)管理器實(shí)現(xiàn)物理資源操作,即這些虛擬主機(jī)共享著底層的物理資源(內(nèi)存資源、存儲(chǔ)資源、I/O輸入輸出資源),對(duì)于CPU資源的資源共享則通過CPU虛擬化實(shí)現(xiàn),在大型機(jī)器上都支持虛擬化技術(shù),如今所說服務(wù)器虛擬化主要是針對(duì)x86系統(tǒng)的服務(wù)器虛擬化[6]。服務(wù)器虛擬化類型主要有Hypervisor模型、宿主模型、混合模型。Hyervisor模型中虛擬主機(jī)直接通過虛擬機(jī)管理器訪問宿主主機(jī)中的底層物理資源;宿主模型指虛擬主機(jī)訪問硬件資源通過虛擬機(jī)管理器,再經(jīng)過在宿主主機(jī)操作系統(tǒng)來訪問底層硬件資源,該虛擬主機(jī)和虛擬機(jī)管理器只是作為宿主主機(jī)一個(gè)進(jìn)程來實(shí)現(xiàn);混合模型主要是指一部分硬件資源訪問由虛擬管理器直接訪問底層硬件資源來實(shí)現(xiàn),而另外一部分則通過虛擬管理器和特權(quán)操作系統(tǒng)公共管理實(shí)現(xiàn)。
2 虛擬化資源管理模型
2.1 服務(wù)-資源映射模型
虛擬化資源管理(VMA)采用虛擬化技術(shù)實(shí)現(xiàn)多個(gè)虛擬化資源管理模型,每個(gè)資源管理模型中都包括了虛擬化存儲(chǔ)服務(wù)、文件服務(wù)等系統(tǒng)級(jí)資源服務(wù)。虛擬化資源的主要功能包括資源抽象、資源監(jiān)控、負(fù)載管理、數(shù)據(jù)管理、資源動(dòng)態(tài)部署[7]。
對(duì)虛擬化資源管理的主要問題集中在物理資源與虛擬資源間的抽象映射關(guān)系、虛擬資源的動(dòng)態(tài)分配與實(shí)際物理資源的調(diào)度問題。物理資源與虛擬資源映射主要有上行虛擬化、下行虛擬化兩種方式,上行虛擬化主要通過把底層多個(gè)硬件資源作為一個(gè)整體提供給單一虛擬化資源使用,而當(dāng)另外一個(gè)虛擬化資源需要訪問硬件資源時(shí)需要等待前面一個(gè)虛擬化資源釋放后才可以使用;而下行虛擬化則把底層一個(gè)物理資源拆分為多個(gè)虛擬化資源同時(shí)滿足多個(gè)虛擬化資源請(qǐng)求。這種物理資源與虛擬資源抽象與映射最重要的因素就是要對(duì)各種資源映射建模,通過標(biāo)準(zhǔn)化管理協(xié)議實(shí)現(xiàn)編程接口的統(tǒng)一化。而對(duì)于虛擬化資源分配則主要通過預(yù)測(cè)技術(shù)來管理云服務(wù)SLA虛擬機(jī)資源管理動(dòng)態(tài)管理分配,預(yù)測(cè)技術(shù)通過歷史數(shù)據(jù)匯總學(xué)習(xí)預(yù)測(cè)下一個(gè)時(shí)間段資源使用自動(dòng)分配。在下面的小節(jié)中將重點(diǎn)介紹物理資源與虛擬資源間的抽象映射關(guān)系以及物理資源動(dòng)態(tài)分配方法。
2.2 物理資源與虛擬資源間的抽象映射
物理資源與虛擬資源抽象映射設(shè)計(jì)主要是基于服務(wù)細(xì)粒抽象化和底層基礎(chǔ)資源虛擬化原理上構(gòu)建多層服務(wù)-資源映射模型。其結(jié)構(gòu)上主要包括服務(wù)抽象層、虛擬資源池、底層物理資源集,其映射模型如圖1所示。
在服務(wù)層中通過把底層虛擬資源池中的服務(wù)作為原子云服務(wù),原子云服務(wù)作為云計(jì)算中最小服務(wù)顆粒,通過組合原子服務(wù)顆粒組合滿足用戶需求。而在原子云服務(wù)組合時(shí),采用一定的組合關(guān)系實(shí)現(xiàn)原子服務(wù)功能調(diào)用,對(duì)于底層資源來說,原子云服務(wù)是作為資源申請(qǐng)者,需要通過資源向量(S(s,m,s,b))來進(jìn)行管理[8]。對(duì)于底層物理資源集則通過云中心的服務(wù)器集群構(gòu)成,通過物理資源抽象技術(shù)(HAL)實(shí)現(xiàn)資源的虛擬化。
2.3 虛擬資源的動(dòng)態(tài)分配
對(duì)于資源的分配,要實(shí)現(xiàn)隨著資源負(fù)載變化自動(dòng)分配資源則需要預(yù)測(cè)技術(shù)來實(shí)現(xiàn)。預(yù)測(cè)技術(shù)主要是指通過一定的原則與計(jì)算方法預(yù)先對(duì)目前應(yīng)用程序運(yùn)行情況以及資源使用情況做評(píng)估分析,從而預(yù)測(cè)下一個(gè)時(shí)間段資源消耗情況。在流程中預(yù)測(cè)方法可以通過類比法、主觀概率法、回歸分析法、實(shí)際序列分析方法、灰度預(yù)測(cè)法等來進(jìn)行定性與定量預(yù)測(cè)[9]。通過預(yù)測(cè)技術(shù)實(shí)現(xiàn)了下一個(gè)時(shí)間段的資源負(fù)載情況,然后通過資源分配控制器中的分配器實(shí)現(xiàn)對(duì)資源動(dòng)態(tài)分配。資源分配控制器由預(yù)測(cè)器、判斷器、分配器組成,在進(jìn)行具體資源分配時(shí),首先預(yù)測(cè)器以時(shí)間作為參數(shù)計(jì)算出下一個(gè)時(shí)間點(diǎn)負(fù)載特征情況,然后由判斷器進(jìn)行結(jié)果判定與驗(yàn)證,分配器則根據(jù)預(yù)測(cè)器計(jì)算的資源峰值與預(yù)期值進(jìn)行資源分配。
3 總結(jié)
本論文在討論云計(jì)算服務(wù)層、應(yīng)用應(yīng)用層、基礎(chǔ)實(shí)施層層級(jí)結(jié)構(gòu)和虛擬化技術(shù)相關(guān)理論,重點(diǎn)對(duì)虛擬化資源管理中的服務(wù)-資源映射模型、底層物理資源分配中的預(yù)測(cè)技術(shù)、虛擬機(jī)工作做了深入分析。
參考文獻(xiàn):
[1] Adeniran Oluwaranti, Clement Onime,Lawrence Kehinde,et al. A User Identity Management Protocol for Cloud Computing Paradigm[J]. Int'l J. of Communications, Network and System Sciences, 2011, 4(3): 11-16.
[2] 吳朱華. 云計(jì)算核心技術(shù)剖析[J]. 人民郵電期刊, 2012, 12(9): 32-35.
[3] Hideo Kitazume,Takaaki Koyama,Toshiharu Kishi,,et al. Network Virtualization Technology to Support Cloud Services[C]. IEICE Transactions, 2012,
[4] Pradeep Padala, Kang G. Shin, Xiaoyun Zhu, et al. Adaptive control of virtualized resources in utility computing environments[C]. Proceedings of EuroSys 2010:289-302.
[5] 高翔. 基于 Xen 的虛擬機(jī)動(dòng)態(tài)遷移算法優(yōu)化[J]. 哈爾濱工業(yè)大學(xué)校園期刊, 2013, 9(12): 4-10.
[6] Tibor Horvath, Tarek F Abdelzaher, Kevin Skadron, et al. Dynamic Voltage Scaling in Multitier Web Servers with End-to-End Delay Control[C]. IEEE Transactions on Computers, 2007: 444-458.
[7] 宋可為. 云計(jì)算在電信業(yè)務(wù)平臺(tái)[J]. 北京郵電大學(xué)校園期刊, 2012, 11(12): 20-40.
[8] I.Pratt, D. Magenheimer, H. Blanchard, et al. The Ongoing Evolution of Xen. Proceedings of the Linux Symposium, 2013(2): 195-209.
[9] Ye K, Jiang X, Chen S,et al. Analyzing and modeling the performance in Xen-based virtual cluster environment[C]. The 12th IEEE nternational Conference on High Performance Computing and Communications (HPCC), 2014: 273–280.