• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于虛擬化技術的云服務平臺的構建與管理

      2016-11-02 23:36何國民王代君
      電腦知識與技術 2016年23期
      關鍵詞:私有云虛擬化技術云計算

      何國民 王代君

      摘要:本文主要采用云計算虛擬化技術在開放式操作系統(tǒng)Linux下,就虛擬化平臺基礎服務端、虛擬化連接管理中間件和Web管理平臺這三個主要組成部分的設計和配置,設計和構建一個針對高校實驗室私有云服務平臺,能動態(tài)分配實驗室計算資源,高效率滿足實驗教學、開發(fā)、測試、管理等不同需求。

      關鍵詞:云計算;虛擬化技術;Linux;私有云

      中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)23-0199-02

      云計算是計算機科學和互聯(lián)網(wǎng)技術發(fā)展的產(chǎn)物,也是引領未來信息產(chǎn)業(yè)創(chuàng)新的關鍵戰(zhàn)略性技術和手段。它將帶來工作方式和商業(yè)模式的根本性改變,對我國發(fā)展高新技術產(chǎn)業(yè)具有重要的戰(zhàn)略意義。

      虛擬化技術是實現(xiàn)云計算的關鍵技術,它是一種調配計算資源的方法,它將不同層面——硬件、軟件、數(shù)據(jù)、網(wǎng)絡、存儲——隔離開來。它的運行完全像一臺物理服務器一樣,并在同一臺物理服務器上運行多臺虛擬機,可以節(jié)省硬件、存儲空間以及能耗。近年來,云計算技術發(fā)展如火如荼,國外的亞馬遜AWS云計算服務平臺、微軟的Microsoft Azure云以及Google的Cloud Platform引領著云計算技術的先鋒和浪潮。國內的各個互聯(lián)網(wǎng)企業(yè)也紛紛推出各自的云服務,如阿里巴巴的阿里云,新浪的SAE平臺,百度的BAE平臺等。在計算機業(yè)界,云計算可以說是現(xiàn)階段最熱門的技術之一。整個社會已經(jīng)進入到了互聯(lián)網(wǎng)+時代。

      本文是基于Linux內核虛擬化技術和Libvirt開源管理中間件以及Python語言開發(fā),實現(xiàn)了在實驗室機房環(huán)境中搭建私有云計算服務平臺,從而實現(xiàn)服務器的硬件虛擬化,提供多臺虛擬機給不同用戶以運行不同的服務,給實驗教學、資源的共享等帶來了極為方便的應用場景。

      1 虛擬化云服務器平臺的主要功能設計

      云服務平臺的虛擬化環(huán)境構建采用基于Linux內核的QEMU-KVM虛擬化技術,服務平臺的Web管理端使用Python編程語言和Django框架來開發(fā),對于實驗室云計算服務平臺環(huán)境的搭建,主要完成以下的功能:

      1)創(chuàng)建虛擬機,在創(chuàng)建時分配虛擬機的CPU、內存、磁盤、網(wǎng)絡配置。

      2)虛擬機的啟動與關閉。在虛擬機系統(tǒng)出錯無法正常關機的時候,能夠對虛擬機的進行強制關閉。

      3)虛擬機克隆,通過虛擬機克隆,能夠快速的復制創(chuàng)建多個一樣的虛擬機,方便部署各種軟件環(huán)境。

      4)遠程連接虛擬機,通過遠程桌面顯示虛擬機,能夠如本地主機一樣正常地用鍵盤和鼠標操作虛擬機,從而實現(xiàn)真正的“云計算”模式。

      5)主機與虛擬機的資源占用監(jiān)控,能實時顯示虛擬機占用的物理主機的CPU、內存、磁盤等資源信息,并顯示物理主機的總使用量。

      2 采用libvirt虛擬化管理中間套件關鍵技術,實現(xiàn)云計算平臺虛擬機管理

      libvirt為編程人員提供了一組較為穩(wěn)定的接口,有了libvirt管理中間套件,令在云服務管理平臺開發(fā)中,實現(xiàn)物理宿主機與虛擬客戶機、虛擬客戶機相互之間的通信變得更加容易。并且它也集成了為遠程連接客戶機管理提供的加密和認證等安全服務。有了libvirt做為中間套件,對于上層用戶空間的管理工具來說,底層的KVM是完全隔絕的,因為libvirt提供了多數(shù)KVM底層調用,封裝了統(tǒng)一的、穩(wěn)定的API給上層管理程序。

      libvirt的管理功能可以分為以下幾個主要部分:

      1)遠程節(jié)點的管理。物理節(jié)點上運行l(wèi)ibvirtd這個deamon,就能夠令遠程的管理工具連接上此節(jié)點進行管理。

      2)域的管理。包括對節(jié)點上的域的各個生命周期的管理。如虛擬機的啟動與關閉。

      3)存儲的管理。主機運行l(wèi)ibvirtd這個deamon,用libvirt的接口就可以對多種不同的存儲進行管理,如建立各種格式的虛擬機鏡像管理。

      4)網(wǎng)絡的管理。主機運行l(wèi)ibvirtd這個守護進程,用libvirt的接口就能夠對邏輯網(wǎng)絡接口或物理網(wǎng)絡接口進行管理。如分配虛擬網(wǎng)絡接口給客戶機等。

      實際上,libvirt 本身并不是一種工具, libvirt 只是一種抽象的構建概念,它主要用處就是給管理虛擬機提供穩(wěn)定的、高效的應用程序接口。libvirt中將KVM的管理抽象成5個基本的部分,分別為連接、虛擬機、存儲池、網(wǎng)絡池和存儲卷,并通過XML來描述這幾個對象。通過libvirt客戶端發(fā)調用API時,將調用的各對象的參數(shù)保存在XML文件,再發(fā)送給libvirt 進行處理。

      要操作虛擬機管理,只有建立了與 KVM的連接之后才能進行,所以調用其他所有API的前提條件是連接KVM的API。建立一個連接,可以調用virConnectOpen 函數(shù)實現(xiàn),調用之后,將得到一個virConnectPtr對象的返回值,如果該值返回成功,即表示到KVM的連接建立成功。

      要使用libvirt API進行虛擬化管理,必須先建立到KVM的連接,有了連接,才能管理節(jié)點、域、存儲、網(wǎng)絡等虛擬化中的要素。libvirt的連接,可以解釋為客戶端/服務器(C/S)的構架模式,一個服務器端運行著KVM,一個客戶端去連接服務器端的KVM,然后進行相應的虛擬化管理。

      3 通過libvirt管理KVM,實現(xiàn)對虛擬機的管理

      1)創(chuàng)建虛擬機

      創(chuàng)建虛擬機實際上就是創(chuàng)建libvirt的XML格式的虛擬機描述信息,再通過調用 libvirt API的 domainDefine 來完成創(chuàng)建。

      2)啟動虛擬機

      libvirt客戶端發(fā)送啟動虛擬機的請求,調用libvirt 的接口進行啟動虛擬機,然后libvirt再開啟QEMU-KVM 進程,一個進程就是一個虛擬機。

      3)關閉虛擬機

      libvirt客戶端發(fā)送關閉虛擬機的請求,調用 libvirt 的接口進行關閉虛擬機,libvirt發(fā)送關閉虛擬機的信號給 QEMU-KVM 進程,QEMU-KVM進程退出,虛擬機即關閉。

      4)創(chuàng)建/刪除虛擬機鏡像

      虛擬機的存儲在虛擬鏡像中,它一般是一個文件,包括虛擬機的磁盤數(shù)據(jù)和配置文件信息都在里面,創(chuàng)建虛擬機磁盤鏡像通過調用qemu-img create xxxx命令來實現(xiàn),刪除磁盤鏡像通過調用rm data.img 命令實現(xiàn)。

      4 云服務平臺Web管理端開發(fā)與實現(xiàn)

      虛擬化環(huán)境構建好后,利用libvirt中間件提供的API,用Python語言開發(fā)一個Web端的管理平臺,以便管理人員進行管理。

      1)Web平臺的技術框架

      Web管理平臺的開發(fā)采用了Python語言開發(fā)和Django開發(fā)框架和Bootstrap前端框架,HTTP服務端采用Gunicorn+Nginx代理實現(xiàn)。

      整體的頁面布局使用Bootstrap框架配合Django的template設計實現(xiàn)。

      使用Python調用libvirt虛擬化管理中間件的API,實現(xiàn)對KVM虛擬化平臺的管理。Django負責處理URL的響應和頁面的視圖呈現(xiàn)效果。

      2)虛擬機連接實現(xiàn)

      在用戶進入Web管理平臺時,首先需要連接上遠程或本地的節(jié)點主機。點擊新建連接的按鈕后,利用Django的URLconf判斷URL,再調用template中的Bootstrap modal控件,彈出網(wǎng)頁,將數(shù)據(jù)表單呈現(xiàn)在網(wǎng)頁,讓用戶填寫連接表單信息,點擊“添加”按鈕后,表單信息就保存在一個本地的sqlite數(shù)據(jù)庫中。

      在頁面中點擊連接名后,利用Python代碼調用libvirt庫的virConnectPtr函數(shù),發(fā)送連接請求給節(jié)點主機中的libvirtd守護進程,主機中的libvirtd守護進程接收到連接請求,驗證用戶信息后,便建立起連接。最后轉入Web管理平臺的主界面。通過對上面Web界面的設置和操作,實現(xiàn)對云計算服務平臺的各項功能。

      此實驗私有云服務平臺通過虛擬化技術實現(xiàn)了在服務器上的虛擬化環(huán)境構建和Web管理端的開發(fā),能夠在虛擬化環(huán)境中對外提供多個虛擬機,對虛擬機進行遠程桌面連接,生成或恢復快照,快速克隆、動態(tài)遷移等高級管理功能。為推廣高效的實驗室資源管理和共享提供了良好的平臺。

      參考文獻:

      [1] Rajkumar Buyya.云計算:原理與范式[M].北京:機械工業(yè)出版社,2013:13-36.

      [2] Stephen R.Smoot,Nam K.Tan.私有云計算:整合、虛擬化和面向服務的基礎設施[M].北京:機械工業(yè)出版社,2013:38-44.

      [3] Dominic Betts.微軟云計算系列叢書:云遷移技術[M].北京:清華大學出版社.2013:41-49.

      [4] 廣小明,胡杰,陳龍.虛擬化技術原理與實現(xiàn)[M].北京:電子工業(yè)出版社,2012:23-31.

      [5] 孫麗麗,王偉峰.網(wǎng)絡存儲與虛擬化技術[M].北京:北京航空航天大學出版社,2013:24-38.

      [6] 丁明一.Linux運維之道[M].北京:電子工業(yè)出版社,2014:66-74.

      [7] Doug Hellmann.The Python Standard Library[M].北京:機械工業(yè)出版社,2012:44-52.

      [8] Shantanu Tushar.Linux Shell Scripting Cookbook[M].北京:人民郵電出版社,2013:21-25.

      [9] 顧炯炯.云計算架構技術與實踐[M].北京:清華大學出版社,2014:136-144.

      [10] 孫麗麗,王偉峰.網(wǎng)絡存儲與虛擬化技術[M].北京:北京航空航天大學出版社,2013:154-162.

      猜你喜歡
      私有云虛擬化技術云計算
      虛擬網(wǎng)絡建設思考與實現(xiàn)
      實驗云:理論教學與實驗教學深度融合的助推器
      邻水| 镇坪县| 泰州市| 额尔古纳市| 平山县| 惠水县| 昌乐县| 油尖旺区| 越西县| 仙游县| 盐边县| 鄂州市| 海城市| 秦皇岛市| 安龙县| 白河县| 新民市| 清新县| 华容县| 韶山市| 武鸣县| 抚远县| 陆河县| 磴口县| 洪雅县| 平原县| 嫩江县| 察雅县| 盘锦市| 新巴尔虎右旗| 安徽省| 通化市| 财经| 景谷| 麻江县| 湟中县| 馆陶县| 沁水县| 呼图壁县| 乌拉特前旗| 盖州市|