亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于KVM的B/S架構虛擬化管理系統(tǒng)

        2013-09-08 10:18:46江銘炎袁東風
        計算機工程與設計 2013年6期
        關鍵詞:磁盤虛擬化客戶端

        黨 飛,江銘炎,袁東風

        (山東大學 信息科學與工程學院,濟南 山東250100)

        0 引 言

        云計算的提出為信息技術學術界和產業(yè)界的發(fā)展提供了一個全新的思路。虛擬化作為云計算IaaS層的關鍵技術,近年來也得到了迅速發(fā)展。20世紀60年代,IBM就開始研究虛擬化技術,使得大型機的資源能得被多用戶使用[1]。經過幾十年的發(fā)展,虛擬化技術已經日漸成熟,誕生了如vmware,virtual PC[2],Xen和 KVM (kernel based virtual machine)等一批成熟的虛擬化產品。與其他虛擬化產品相比,KVM的最大優(yōu)勢是完全開源。KVM是基于內核的完全虛擬化,在與其他虛擬化產品效率對比中表現出色[3],但是其管理系統(tǒng)仍然只有C/S架構的,C/S架構本身的缺點造成了系統(tǒng)資源的浪費。而且用戶進行管理工作之前,需要預先安裝管理軟件;而且不同的管理軟件對操作系統(tǒng)和硬件資源還有不同的要求。相比起來,B/S模式的管理系統(tǒng)就靈活很多,只要有瀏覽器的終端都可以用來進行管理工作,提高了管理效率,節(jié)省了客戶端資源占用。

        本文實現了一個基于KVM虛擬化產品的B/S架構的虛擬化管理系統(tǒng)。通過調用KVM的libvirt開發(fā)接口,利用J2EE技術,系統(tǒng)管理員可在任何地方通過瀏覽器登陸系統(tǒng),進行虛擬機和虛擬存儲的管理工作。最后通過實際測試表明B/S架構的優(yōu)越性。

        1 系統(tǒng)組成部分

        基于KVM的虛擬化管理系統(tǒng),主要包括客戶端、Web服務器、虛擬化服務器集群和共享存儲服務器4個模塊。其中客戶端是具有瀏覽器的上網設備,操作系統(tǒng)可以是Linux、Windows甚至嵌入式操作系統(tǒng);Web服務器上安裝Web容器tomcat,操作系統(tǒng)采用Linux或 Windows,將完成管理工作的J2EE工程放在Web容器里;虛擬化服務器集群上統(tǒng)一安裝Linux操作系統(tǒng),KVM虛擬化軟件和libvirt接口,并與Web服務器建立ssh無密碼連接;共享存儲服務器是一個磁盤陣列,安裝freenas后通過ip網絡向虛擬化集群提供數據存儲服務。

        用戶通過jsp頁面登陸后進行相關操作,操作參數傳遞給web服務器,web服務器與管理目標服務器建立ssh連接,通過調用libvirt接口進行虛擬化集群的管理工作,并將操作結果通過jsp頁面呈現給用戶。用戶還可以通過調用spice插件,用圖形界面的方式查看虛擬機的工作情況。整個系統(tǒng)結構如圖1所示。

        圖1 系統(tǒng)架構

        1.1 KVM (Kernel based virtual machine)

        KVM即基于內核的虛擬化,依賴于Linux內核,其性能優(yōu)越,接近單機操作系統(tǒng)。由于其優(yōu)越的性能和開源性,得到業(yè)界的一致認可并在近年來取得很大的發(fā)展[4]。KVM使用軟件模擬的方式實現完全虛擬化,通過將客戶操作系統(tǒng)的I/O指令提交給宿主操作系統(tǒng) (即Linux操作系統(tǒng))上的QEMU,QEMU將操作指令轉換為對宿主機的I/O操作這種方式來實現虛擬化,然后宿主操作系統(tǒng)調用驅動程序訪問硬件。通過這種方式對硬件進行了模擬,實現起來比較簡潔,而且效率較高[5-6]。

        1.2 SPICE (simple protocol for independent computing environment)

        spice是一個開源的遠程桌面協(xié)議,可以用于在服務器、遠程計算機和瘦客戶端等設備上部署虛擬桌面,與微軟的 Remote Desktop Protocol相似,支持 Windows和Linux操作系統(tǒng)。

        spice包括兩部分:spice server和spice client。通過在虛擬機里安裝spice Server進行相應的配置后,就可以在客戶端通過spice client插件遠程鏈接該虛擬機,以圖形界面形式進行操作。

        1.3 Libvirt接口

        Libvirt是一套開源的、用C語言開發(fā)的支持虛擬化函數庫編程接口,用一種單一方式管理不同的虛擬化提供方式和管理工具,適用于主流虛擬化工具包括Xen、KVM和vmware等,支持與Java、python、C/C++等開發(fā)語言的綁定。Linux下常用的虛擬化管理工具Virt-manager和virtinstall都是基于libvirt開發(fā)[7]。

        1.4 Freenas

        FreeNAS是一款免費的NAS(網絡附加存儲)服務器軟件,它能將普通PC或服務器的硬盤資源變成網絡存儲服務器。該軟件基于FreeBSD,Samba及PHP,支持FTP/NFS/RSYNC/CIFS/AFP/UNISON/SSH 協(xié)議及 web界面的設定工具。Freenas還可以被安裝在移動存儲設備中,使用方便靈活,在組建網絡存儲服務器方面應用廣泛[8]。

        2 J2EE工程架構

        系統(tǒng)實現的核心是完成管理工作并和用戶交互的J2EE工程。J2EE工程架構如圖2所示。

        圖2 J2EE工程架構

        客戶層實現用戶和系統(tǒng)的交互,用戶通過Web瀏覽器登錄系統(tǒng),并通過頁面提交操作參數。瀏覽器負責用戶請求接收和服務器返回信息的顯示。

        Struts控制器負責接收和處理用戶請求,并將相應請求轉發(fā)到業(yè)務邏輯層,然后從業(yè)務邏輯層接收結果并返回給客戶層進行顯示。

        業(yè)務邏輯層是J2EE工程的核心,負責接收struts傳遞的用戶請求,調用底層libvirt API完成相應的操作,并將處理結果經Web層展現給用戶。

        將管理虛擬化的J2EE工程放在中心服務器 (即Web服務器)的tomcat容器里,這臺Web服務器應該與虛擬化集群在同一局域網中以保證連接速度。用戶通過前臺jsp頁面登陸管理系統(tǒng),Web服務器接收到用戶的請求參數后,與管理目標服務器通過ssh建立連接,用戶即可進行相關的管理操作。在Web服務器接收到用戶管理操作參數后,將參數轉換為libvirt接口認可的xml格式文件的參數,然后發(fā)送給管理目標服務器,目標服務器接收到參數后調用libvirt接口,執(zhí)行相關操作。具體實現過程如下:

        用戶提交請求參數:用戶登錄成功后,可以進行如下四方面管理:用戶管理、存儲磁盤、虛擬機管理和集群管理。通過用戶管理可以修改用戶登錄密碼,定期修改密碼可以增強安全性;通過存儲管理可以添加或刪除資源池,查看、刪除或者新建虛擬磁盤;通過虛擬機管理,可以查看和修改虛擬機信息,并通過spice查看虛擬機圖形界面;集群管理可以查看集群中的物理機信息,并可以將虛擬機遷移到另一臺物理機上。用戶操作通過表單形式提交給Web服務器。

        Web服務器轉換請求參數并發(fā)送給目標服務器:Web服務器通過servlet接收到用戶請求參數,轉換為字符串,然后將參數組合為xml格式的libvirt配置文件,然后與目標服務器建立ssh連接,通過配置文件將需要進行的操作傳遞給目標服務器。

        目標服務器進行相關管理操作并向Web服務器返回結果:目標服務器收到配置文件參數后,調用libvirt接口將操作參數傳入,進行相應的操作。然后將操作結果返回給Web服務器。

        Web服務器將操作結果返回給用戶:Web服務器接收到返回結果后,進行相應的封裝后傳遞給前臺頁面,顯示給用戶。如果用戶的請求是圖形界面查看虛擬機,則Web服務器將虛擬機的參數傳遞給客戶端后,客戶端與目標服務器直接建立連接。

        3 系統(tǒng)設計功能

        用戶登錄后可以進行如下四方面管理工作:用戶管理、存儲管理、虛擬機管理和集群管理。系統(tǒng)功能框圖如圖3所示。

        3.1 用戶管理

        用戶名和密碼通過加密后寫在配置文件里,用戶提交登錄請求后Web服務器讀取配置文件并進行登錄驗證,驗證通過即可進行權限內的相關管理操作。用戶可以定期修改密碼,以增強安全性。超級用戶可以對用戶進行管理,包括添加、刪除用戶,為用戶分配權限等,但是超級用戶本身不能對虛擬化集群直接進行管理。通過這種權限分離的方式提高系統(tǒng)的安全性。

        3.2 虛擬存儲管理

        創(chuàng)建虛擬磁盤之前需要先創(chuàng)建資源池,然后在資源池中創(chuàng)建虛擬磁盤。虛擬磁盤就是提供給虛擬機用的存儲空間,是位于共享存儲之上的虛擬邏輯磁盤空間。用戶登錄之后,存儲管理界面提供的管理操作包括:新建和刪除資源池,新建和刪除虛擬磁盤。新建和刪除虛擬磁盤的時候,將虛擬磁盤名作為參數傳遞給Web服務器,創(chuàng)建虛擬磁盤時提交表單包括磁盤名稱和磁盤大小。表單提交給servlet進行處理。

        圖3 系統(tǒng)功能結構

        3.3 虛擬機管理

        創(chuàng)建虛擬機之后,KVM會給每個虛擬機分配一個UUID (universally unique identifier),用于唯一標識該虛擬機。KVM每次啟動的時候,都會為每個虛擬機分配一個ID。通過UUID或者ID都可以唯一找到該虛擬機。

        虛擬機管理進行的操作包括:新建和刪除虛擬機,查看和修改虛擬機配置信息,啟動、掛起和關閉虛擬機,導出虛擬機模板,從模板創(chuàng)建虛擬機,顯示虛擬機界面(spice)。本系統(tǒng)將虛擬機的ID作為參數進行傳遞。首先用戶將操作指令和虛擬機ID傳遞給Web服務器,Web服務器封裝后傳遞給目標服務器,然后接受目標服務器執(zhí)行后的返回結果,再傳遞給用戶顯示。

        在調用spice通過圖形界面方式查看虛擬機中,首先檢測spice插件是否正確安裝,如果沒有正確安裝,提示用戶下載并安裝。如果正確安裝,在攔截到查看指令后,從網頁啟動spice插件。并將虛擬機參數傳遞給spice,輸入密碼即可查看虛擬機的界面。其效果如圖4所示。

        3.4 集群管理

        集群管理包括物理主機管理和集群調度。物理機管理包括向虛擬化集群添加和刪除物理機,通過SNMP(simple network management protocol)協(xié)議收集物理機信息,維護活動物理機列表;集群調度采用虛擬機遷移來實現,采用中心任務調度算法,根據管理節(jié)點服務器 (即 Web服務器)通過SNMP協(xié)議收集到的主機狀態(tài)信息,在物理機負載過高時,將其上的部分虛擬機遷移到其他物理機上,也可以將負載量很小的物理機上的虛擬機遷移到其他主機上,然后關閉該物理機以節(jié)省電能。

        圖4 spice查看虛擬機

        4 關鍵技術

        4.1 封裝ssh連接類

        系統(tǒng)中用到建立ssh連接的地方比較多,因此通過對連接類進行封裝可以有效減少代碼量,提高可讀性。

        封裝ssh連接類需要用到兩個類:org.libvirt包下的Connect和LibvirtException類。實現封裝的類如下:

        4.2 Ajax (Asynchronous JavaScript and XML)技術

        考慮到不同的用戶同時對一臺服務器進行管理的可能性,本系統(tǒng)在向服務器讀取數據的時候都是實時讀取的,這就要用到Ajax技術。

        Ajax即異步JavaScript和XML,是一種創(chuàng)建交互式網頁應用的網頁開發(fā)技術。其工作原理是,在用戶和服務器之間增加了了一個中間層——Ajax引擎.使用戶操作與服務器響應異步化,部分操作由Ajax直接完成,無需向服務器提交數據。在用戶需要從服務器讀取新數據時由Ajax引擎代為向服務器提交請求,然后將讀取結果發(fā)送給用戶。在使用Ajax擎后,用戶從感覺上幾乎所有的操作都會很快響應沒有頁面重載的等待,也沒有頁面跳轉[9]。其工作原理如圖5所示。

        圖5 Ajax工作原理

        4.3 用spice查看虛擬機

        在創(chuàng)建虛擬機的時候,將圖形設備選擇為spice,添加spice server并設置端口號,將顯卡設備選擇為視頻卡QXL設備[10]。Web服務器在接收到查看圖形界面請求后,首先進行客戶操作系統(tǒng)的判斷,并檢測用戶是否正確安裝spice,如果沒有安裝則根據用戶操作系統(tǒng)提示用戶下載安裝spice包。

        如果spice正確安裝,則通過網頁啟動spice,并將相應參數傳入,即可打開虛擬機的圖形界面。

        4.4 提供類應用軟件試圖

        為了使管理的步驟更加清晰和兼顧用戶使用習慣,本系統(tǒng)設計類似應用軟件的用戶交互界面。首先將操作拆分成各個步驟,并為每一步驟設計一個jsp頁面,然后使用CSS+div建立一個可拖動的層,然后采用iframe技術將操作步驟對應的jsp頁面加載到層中顯示,用JavaScript控制層中內容的切換和數據的緩存,需要與服務器及時交互的數據則采用Ajax技術實時獲取。在一個操作完成后將表單數據整合并提交。

        5 系統(tǒng)性能測試

        以vmware的vCenter server/vClient為例,與本系統(tǒng)性能做一個比較,測試環(huán)境為包含6臺服務器的集群。

        用pc做客戶端進行測試,CPU為雙核2.9GHz,內存為2G,Windows Xp系統(tǒng)使用內存約350M。使用的系統(tǒng)資源情況分別如圖6和圖7所示。

        由圖可見,C/S架構客戶端CPU利用率約為50%,內存使用為350M左右,而使用B/S架構系統(tǒng)的客戶端CPU平均使用率約為20%,內存使用為190M左右。

        管理節(jié)點采用的是2個64位CPU,主頻2.5GHz,內存8G,硬盤100G。安裝hyper-V和作web服務器時系統(tǒng)資源使用情況見表1。

        表1 管理節(jié)點消耗的系統(tǒng)資源對比

        由此可見,B/S架構管理系統(tǒng)能極大降低系統(tǒng)資源的消耗。這一特點在集群規(guī)模增大時會體現的更加明顯,因此對大規(guī)模虛擬化集群部署有重要的參考價值。

        6 結束語

        基于KVM的B/S架構虛擬化管理系統(tǒng),將虛擬化管理工作由C/S模式轉向了B/S模式,用戶在管理虛擬化集群之前不用先安裝客戶端,直接通過瀏覽器登陸即可進行管理,管理工作不用限定在特定的客戶機上,也不用限定在特定的網絡環(huán)境中。由于Web服務器取代了管理中心服務器,使系統(tǒng)的資源消耗更少,管理方式更加靈活。本系統(tǒng)在Windows和Linux下經過測試,運行良好。

        [1]ZHU Changyun.Virtualization technology in the press of information technology [J].Computer Knowledge and Technology,2010,6 (17):4847-4849 (in Chinese). [朱昌云.虛擬化技術在報業(yè)信息化建設中的應用 [J].電腦知識與技術,2010,6 (17):4847-4849.]

        [2]DONG Yaozu,ZHOU Zhengwei.X86-based system virtual machine development and application [J].Computer Engineering,2006,32 (13):71-73 (in Chinese). [董耀祖,周正偉.基于X86架構的系統(tǒng)虛擬機技術與應用 [J].計算機工程,2006,32 (13):71-73.]

        [3]Zhongguancun Online.Three virtualization platform test competition for ubuntu11.10 [EB/OL].[2011-11-05].http://www.enet.com.cn/article/2011/1107/A20111107934270_4.shtml(in Chinese).[中關村在線.Ubuntu11.10測試三平臺虛擬化比拼 [EB/OL].[2011-11-05].http://www.enet.com.cn/article/2011 /1107/A20111107934270_4.shtml.]

        [4]HAO Xudong.Intel VT-d technology research and the realization of the virtual machine in KVM [D].Hefei:University of Electronic Science and Technology of China,2009:8-15 (in Chinese).[郝旭東.Intel VT-d技術的研究及其在KVM虛擬機上的實現 [D].合肥:電子科技大學,2009:8-15.]

        [5]ZHANG Binbin,WANG Xiaolin,YANG Liang,et al.Modifying guest OS to optimize I/O virtualization in KVM [J].Chinese Journal of Computers,2010,33 (12):2312-2320 (in Chinese).[張彬彬,汪小林,楊亮,等.修改客戶操作系統(tǒng)優(yōu)化KVM虛擬機的I/O性能 [J].計算機學報,2010,33 (12):2312-2320.]

        [6]LI Shengzhao,HAO Qinfen,XIAO Liming.Analysis on KVM virtualization Machin.Changsha [J].Computer Engineering & Science,2008,30 (A1):129-132 (in Chinese).[李勝召,郝沁汾,肖利民.KVM虛擬機分析 [J].計算機工程與科學,2008,30 (A1):129-132.]

        [7]WIKIPEDIA.Libvirt[EB].[2012-09-15].http://en.wikipedia.org/wiki/Libvirt.

        [8]Baidu Baike [DB]. [2012-08-13].http://baike.baidu.com view/1777672.htm (in Chinese). [Freenas.百度百科.Freenas [DB]. [2012-08-13].http://baike.baidu.com/view/1777672.htm.]

        [9]YOU Lizhen,GUO Yuchun,LI Chunxi.The principle and application of Ajax engin [J].Control & Automation,2006,22 (2-3):205-207 (in Chinese).[游麗貞,郭宇春,李純喜.Ajax引擎的原理和應用 [J].微計算機信息,2006,22 (2-3):205-207.]

        [10]Red Hat,Inc spice user manual [EB].[2009-09-21].http://spice-space.org/docs/spice_user_manual.pdf.

        猜你喜歡
        磁盤虛擬化客戶端
        解決Windows磁盤簽名沖突
        電腦愛好者(2019年2期)2019-10-30 03:45:31
        基于OpenStack虛擬化網絡管理平臺的設計與實現
        電子制作(2019年10期)2019-06-17 11:45:10
        修改磁盤屬性
        對基于Docker的虛擬化技術的幾點探討
        電子制作(2018年14期)2018-08-21 01:38:20
        縣級臺在突發(fā)事件報道中如何應用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設計與實現
        電子測試(2018年10期)2018-06-26 05:53:34
        虛擬化技術在計算機技術創(chuàng)造中的應用
        電子測試(2017年11期)2017-12-15 08:57:56
        磁盤組群組及iSCSI Target設置
        創(chuàng)建VSAN群集
        国产饥渴的富婆一凶二区| 四虎影视在线观看2413| 欧美xxxx新一区二区三区 | 日韩Va亚洲va欧美Ⅴa久久| 日本97色视频日本熟妇视频| 亚洲综合第一页中文字幕| 午夜性色一区二区三区不卡视频 | 小13箩利洗澡无码免费视频| 久久国产精品免费久久久| 精品女同一区二区三区免费战| 日本大肚子孕妇交xxx| 国产午夜亚洲精品午夜鲁丝片| 91精品国产91| 免费国产自拍视频在线观看| 精品国内日本一区二区| 在线看无码的免费网站| 精品久久久久久中文字幕| 高清高速无码一区二区| 久久婷婷国产色一区二区三区| 亚洲综合av大全色婷婷| 中文字幕乱码亚洲精品一区| 麻豆av传媒蜜桃天美传媒| 久久一区av蜜桃人妻| 亚洲精品一区二区三区四区久久 | 五月天精品视频在线观看| 久久午夜无码鲁丝片直播午夜精品| 亚洲情精品中文字幕99在线| 日本一区二区在线免费视频| 曰欧一片内射vα在线影院| 人与嘼av免费| 东京道一本热码加勒比小泽| 久久精品国产亚洲av高清三区| 永久免费人禽av在线观看| 免费夜色污私人影院在线观看| 人妻爽综合网| 国产一区二区三免费视频| 欧美日韩精品一区二区视频| 18禁美女裸身无遮挡免费网站| 亚洲AV秘 片一区二区三区| 国产三区三区三区看三区| 国产a√无码专区亚洲av|