葉虹余 陳升義
摘要 隨著互聯(lián)網(wǎng)及云計(jì)算技術(shù)的不斷發(fā)展,IT基礎(chǔ)架構(gòu)越來(lái)越復(fù)雜,如何降低IT資源投入和優(yōu)化資源配置成了一大難題。虛擬化技術(shù)可以實(shí)現(xiàn)IT資源的動(dòng)態(tài)分配、靈活調(diào)度、跨域共享,大大提高了IT資源利用率,簡(jiǎn)化了IT基礎(chǔ)架構(gòu)。KVM虛擬化技術(shù)是基于內(nèi)核的虛擬機(jī),是Linux系統(tǒng)的一個(gè)內(nèi)核模塊,具有高性能高擴(kuò)展性使用方便等優(yōu)點(diǎn)。通過(guò)在石油勘探研究應(yīng)用環(huán)境部署實(shí)施KVM虛擬化技術(shù),構(gòu)建了高效實(shí)用的虛擬化應(yīng)用平臺(tái),取得了很好的效果。
【關(guān)鍵詞】虛擬化 KVM 虛擬機(jī) 石油勘探
1 引言
虛擬化技術(shù)最早在商業(yè)上利用是IBM公司在上世紀(jì)七十年代實(shí)現(xiàn)的,通過(guò)在一臺(tái)主機(jī)上安裝多個(gè)操作系統(tǒng),使得用戶能夠充分利用昂貴的大型計(jì)算機(jī)資源。隨后虛擬化技術(shù)一直只在大型機(jī)上使用,直到最近十多年來(lái),才涌現(xiàn)出了一批專業(yè)的虛擬化技術(shù)公司,并推出了各自的虛擬化技術(shù)和產(chǎn)品,虛擬化技術(shù)才被更多的人熟知和利用,特別是在X86平臺(tái)得到了廣泛應(yīng)用和發(fā)展。
2 KVM虛擬化技術(shù)
KVM全稱是基于內(nèi)核的虛擬機(jī)(Kemel-based Virtual Machine),其前身是QEMU,2008年被Red Hat公司收購(gòu)并獲得一項(xiàng)hypervisor技術(shù),目前已被嵌入到RHEL5.4及以后的操作系統(tǒng)中。準(zhǔn)確來(lái)說(shuō),KVM僅僅是Linux內(nèi)核的一個(gè)模塊,管理和創(chuàng)建完整的KVM虛擬機(jī),需要更多的輔助工具來(lái)實(shí)現(xiàn)。
2.1 KVM系統(tǒng)架構(gòu)
KVM是基于linux內(nèi)核的虛擬化基礎(chǔ)架構(gòu),通過(guò)KVM模塊將linux系統(tǒng)內(nèi)核轉(zhuǎn)化為VMM(virtual machine monitor), 并在linux操作系統(tǒng)的用戶模式和內(nèi)核模式外,添加了第三種運(yùn)行模式即客戶模式(guest mode),VMM即運(yùn)行在該運(yùn)行模式下,其被視為一個(gè)常規(guī)的linux進(jìn)程,接收l(shuí)inux本身調(diào)度程序的統(tǒng)一調(diào)度,從而KVM擁有l(wèi)inux內(nèi)核所擁有的所有功能。因此,KVM模塊負(fù)責(zé)虛擬機(jī)的創(chuàng)建、虛擬內(nèi)存的分配,vCPU寄存器的讀寫(xiě)和運(yùn)行等,這只是虛擬化解決方案的第一步。第二步是利用QEMU模擬虛擬機(jī)的用戶空間組件,提供I/O設(shè)備模型以及訪問(wèn)外設(shè)的途徑。至此,一臺(tái)完整可用的虛擬機(jī)才誕生,KVM整個(gè)虛擬化技術(shù)的架構(gòu)如圖1所示。
2.2 虛擬化管理工具libvirt
KVM作為linux內(nèi)核的一個(gè)模塊,能夠?qū)崿F(xiàn)C,PU和內(nèi)存的虛擬化,而QEMU則實(shí)現(xiàn)了用戶空間組件和I0設(shè)備的虛擬化,因此qemu-kvm也能創(chuàng)建和管理虛擬機(jī),但由于QEMU工具系統(tǒng)復(fù)雜,使用效率低下,因此,Red Hat使用libvirt來(lái)創(chuàng)建和管理虛擬機(jī)。
libvirt是目前使用最為廣泛的對(duì)KVM虛擬機(jī)進(jìn)行管理的工具和應(yīng)用程序接口(API)。它是一套開(kāi)源的支持linux下虛擬化工具的函數(shù)庫(kù),由三個(gè)部分組成:應(yīng)用程序接口(API),用于為其他虛擬機(jī)管理工具提供程序庫(kù)支持;一個(gè)守護(hù)進(jìn)程libvirtd,用于管理所有域,在使用工具對(duì)虛擬機(jī)進(jìn)行管理時(shí),該守護(hù)進(jìn)程需要打開(kāi);一個(gè)默認(rèn)的命令行管理工具virsh,它是libvirt項(xiàng)目中默認(rèn)的命令行管理工具,具有定義、啟動(dòng)、停止等管理功能。libvirt工作原理如圖2所示。
2.3 KVM在虛擬化技術(shù)中的優(yōu)勢(shì)
KVM是一款免費(fèi)開(kāi)源軟件,提供了完整的虛擬化解決方案,并提供了強(qiáng)大的命令行接口(virsh)以及圖形化的管理工具(virt-manager),使用起來(lái)比較方便。此外,KVM對(duì)硬件的兼容性較好,能支持多種操作系統(tǒng),具有良好的穩(wěn)定性和適用性。
3 KVM虛擬化技術(shù)在石油勘探中的應(yīng)用
石油勘探研究是一項(xiàng)高度依賴計(jì)算機(jī)的技術(shù),不管是前期的地震資料處理,還是地震資料的解釋,以及各種反演建模和油田開(kāi)發(fā)方案設(shè)計(jì)等,都需要各種專業(yè)軟件和高性能的計(jì)算機(jī),因此,石油勘探是對(duì)IT資源和技術(shù)最依賴和最敏感的行業(yè)之一。
3.1 應(yīng)用環(huán)境現(xiàn)狀分析
筆者所在單位是石油勘探研究院所,擁有各式服務(wù)器近50臺(tái),用于石油勘探開(kāi)發(fā)研究和信息系統(tǒng)的部署。如此眾多的服務(wù)器,在日常運(yùn)維管理中出現(xiàn)了一系列的問(wèn)題:機(jī)器數(shù)量的增加導(dǎo)致硬件投入不斷增加,同時(shí)設(shè)備維護(hù)成本也不斷增長(zhǎng),包括設(shè)備電力消耗,機(jī)房空調(diào)制冷,機(jī)柜空間消耗等;服務(wù)器使用效率低下,某些服務(wù)器只提供單一服務(wù),機(jī)器的CPU和內(nèi)存使用率較低,造成硬件資源的極大浪費(fèi);服務(wù)器運(yùn)維管理不便,每臺(tái)服務(wù)器都是一臺(tái)物理實(shí)體機(jī),都需要逐一安裝操作系統(tǒng)部署相關(guān)服務(wù),日常運(yùn)維管理效率較低;服務(wù)器安全冗余性較差,大多數(shù)服務(wù)器都是單一機(jī)器提供服務(wù),出現(xiàn)故障時(shí)無(wú)法快速的遷移和恢復(fù)。
針對(duì)上述問(wèn)題,虛擬化技術(shù)使這些問(wèn)題迎刃而解,利用基于KVM的服務(wù)器虛擬化技術(shù),通過(guò)一臺(tái)物理機(jī)虛擬出多臺(tái)虛機(jī),在虛機(jī)上部署相關(guān)服務(wù),只需要較少的機(jī)器就能滿足應(yīng)用需求。
3.2 KVM虛擬化技術(shù)部署及應(yīng)用
要部署虛擬化技術(shù),首先要安裝宿主機(jī),在硬件選取上,利用2臺(tái)HPDL580 G9和3臺(tái)IBM3850 M2作為KVM虛擬機(jī)的宿主機(jī),其CPU總核數(shù)分別為80個(gè)和64個(gè),內(nèi)存分別為256G和128G,4個(gè)千兆以太網(wǎng)口,外加擴(kuò)展FC HBA卡。機(jī)器安裝操作系統(tǒng)為RHEL7.0,并在BIOS中打開(kāi)虛擬化技術(shù):VirtualizationTechnology設(shè)為Enable。
由于KVM已經(jīng)作為一個(gè)模塊嵌入到了RHEL的操作系統(tǒng)中,因此裝好操作系統(tǒng)后就可以新建虛擬機(jī)了。Virt-manager是一個(gè)基于圖形界面的虛擬機(jī)管理工具,利用它可以很方便的創(chuàng)建、配置和管理虛擬機(jī)。結(jié)合我院的應(yīng)用環(huán)境,利用5臺(tái)宿主機(jī)共創(chuàng)建了虛擬機(jī)20余臺(tái),分別作為應(yīng)用軟件服務(wù)器、軟件許可服務(wù)器和信息系統(tǒng)服務(wù)器,其系統(tǒng)架構(gòu)圖如圖3所示。
3.3 虛擬化技術(shù)應(yīng)用優(yōu)勢(shì)
通過(guò)部署虛擬化技術(shù),減少了物理服務(wù)器數(shù)量,有效整合了硬件資源,在使用中具有以下優(yōu)勢(shì):降低了硬件成本和能源消耗,節(jié)省了機(jī)房空間以及電力、網(wǎng)絡(luò)等IT資源;設(shè)備利用率大大提高,宿主機(jī)的優(yōu)越性能得以充分利用,同時(shí)虛擬機(jī)的資源可以靈活動(dòng)態(tài)調(diào)整,真正做到了按需分配系統(tǒng)運(yùn)維更加方便快捷,利用管理工具,大大簡(jiǎn)化了服務(wù)器的部署、管理和維護(hù)工作;系統(tǒng)安全性更高,虛擬化技術(shù)支持虛擬機(jī)的快速?gòu)?fù)制、備份和遷移,當(dāng)系統(tǒng)出現(xiàn)故障時(shí)能快速恢復(fù)和還原,大大提高了系統(tǒng)的可用性和冗余度。
4 結(jié)束語(yǔ)
KVM虛擬化技術(shù)作為一項(xiàng)性能和穩(wěn)定性都比較高的虛擬化解決方案,其應(yīng)用越來(lái)越廣泛,特別是在復(fù)雜的IT應(yīng)用環(huán)境中,利用KVM虛擬化技術(shù),能簡(jiǎn)化系統(tǒng)架構(gòu),降低硬件和管理成本,提高系統(tǒng)安全性。隨著互聯(lián)網(wǎng)和云計(jì)算技術(shù)的不斷發(fā)展,虛擬化技術(shù)也將是IT技術(shù)發(fā)展的必然選擇,KVM虛擬化將在服務(wù)器虛擬化、桌面虛擬化和應(yīng)用虛擬化等領(lǐng)域得到更多的應(yīng)用。
參考文獻(xiàn)
[1]呂斯特,虛擬化技術(shù)指南[M].北京:機(jī)械工業(yè)出版社,2011.
[2]馬秀芳,李紅巖,計(jì)算機(jī)虛擬化技術(shù)淺析[J].電腦知識(shí)與技術(shù),2010,6(33): 9408- 9409.
[3]徐天琦,劉淑芬,韓璐.基于KVM的可信虛擬化架構(gòu)模型[J].吉林大學(xué)學(xué)報(bào)(理學(xué)版),2014,52 (03): 531-534.
[4]趙妮.服務(wù)器虛擬化技術(shù)探析[J].信息通信,2014 (04):114-114.
[5]彭天煒.KVM虛擬化技術(shù)在云平臺(tái)中的應(yīng)用[J].電腦知識(shí)與技術(shù),2015 (14): 28-30.
[6]溫荷,萬(wàn)里.基于KVM的云桌面虛擬化實(shí)驗(yàn)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2016,5 (33):132-134.
[7]羅紅梅,利用虛擬化技術(shù)提升地震解釋軟件應(yīng)用能力[J].信息系統(tǒng)工程,2015 (12):90-91.