文/梁少峰
基于KVM解決的虛擬化設計方案應用
文/梁少峰
本文首先對硬件虛擬化技術進行了簡單的介紹,對KVM的設計原則和設計方案進行了研究,然后詳細地分析了KVM設計方案的應用步驟,以期能提高該設計方案的針對性和實用性。
KVM 虛擬化設計 虛擬化應用
虛擬化設計方案是IBM公司在上個世紀七十年代首先應用的,目前在各大高校的數(shù)據(jù)中心里,KVM拓撲結構靈活、硬件配置簡單的優(yōu)勢得到了充分的發(fā)揮,對高校教學信息應用、數(shù)字圖書館信息加密等進行了統(tǒng)一的管理,很好地降低了高校的維護成本,提高了計算機服務器的利用率。
硬件虛擬化設計方案的簡稱就是KVM,它簡單的硬件配置方案可以實現(xiàn)數(shù)個操作系統(tǒng)運行于同一臺計算機,并使每個該系統(tǒng)均具有獨立運行的操作軟件。這使得普通計算機的系統(tǒng)能力得到了極大的提升,硬件潛力得到了充分的發(fā)揮。虛擬化技術可以將這些系統(tǒng)彼此隔離,互不干擾,然后將計算機的資源按照每個系統(tǒng)的需求進行合理分配,以最大限度地保證每個系統(tǒng)的正常運行。當前的虛擬化技術已經(jīng)發(fā)展成熟,從硬件到軟件都有著完整的解決方案。例如基于X86架構的硬件技術主要是由Intel和AMD提供的VT和AMD—V虛擬化技術,而軟件方面則有Vmware公司的VSpare和 Vmware Workstation、Microsoft公司的Hyper-V和Virtual PC以及Linux系統(tǒng)下的Xen和KVM等;前兩個軟件已經(jīng)實現(xiàn)了商業(yè)化的轉(zhuǎn)變,進入到了計算機付費軟件的行列當中;KVM依舊是免費的開源系統(tǒng),但是它還存在著巨大的發(fā)展?jié)摿?,這也是Linux系統(tǒng)選擇該虛擬化設計方案進入到系統(tǒng)核心的原因之一。
KVM根據(jù)應用系統(tǒng)的性質(zhì)可以分成兩個大類,一類是教學服務器,另一類是環(huán)境支持系統(tǒng)下的各種服務器??紤]到篇幅的限制,這里選擇教學服務器作為設計對象。教學服務器專門運行相關的專業(yè)軟件,平時運行的壓力不大;但是在開展教學活動時,服務器的負載會迅速增加。教學服務器還可以根據(jù)資源利用率細分為兩部分,利用率超過20%的需要單獨設置虛擬機;低于20%的則按照其服務種類進行組合,分配到其他虛擬機中。教學服務器的加密措施由加密狗服務器負責,為了避免不同的加密狗之間出現(xiàn)沖突,可以將加密狗USB直接對應到負責的虛擬機上,形成私有端口;其他的虛擬機包括主機都不能識別和使用該加密狗,以達到消除沖突的目的。服務器中的數(shù)據(jù)通常是集中存儲,即SAN存儲區(qū)域集中存儲方式。該存儲方式是將虛擬機的鏡像文件部署在自己的共享存儲陣列中,當主機出現(xiàn)物理故障時利用集群轉(zhuǎn)移來重啟虛擬機,從而虛擬機停機時間,保護了數(shù)據(jù)安全。系統(tǒng)的數(shù)據(jù)庫要采用分布式數(shù)據(jù)庫,使數(shù)據(jù)庫與應用實現(xiàn)分離,這樣既能保證數(shù)據(jù)庫的數(shù)據(jù)安全,也有利于降低服務器的負載。
KVM的基礎是CPU硬件的虛擬化,因此在安裝KVM之前一定要確認本系統(tǒng)的CPU支持虛擬化技術,否則KVM就無法運行。通常CPU都是支持虛擬化的,如Linux內(nèi)核從2.6.20版本開始就集成了KVM,可以直接運行虛擬化技術,安裝之前只需要核對CPU版本即可;如果出現(xiàn)部分服務器不支持的情況,可以進入BiOS打開CPU的虛擬化支持。
在Ubuntu下安裝KVM模塊和其他軟件的時候,可以使用apt一get install Kkvm來進行添加,并運行Ismod命令來查看添加是否成功,測試KVM模塊能否正常運行;如果顯示添加失敗就使用命令modprobe kvm重新添加。
虛擬磁盤鏡像就是虛擬機使用的硬盤,一般是系統(tǒng)內(nèi)的普通鏡像文件;如果虛擬化硬盤需求較大,也可以在系統(tǒng)內(nèi)的硬盤上建立單獨的物理磁盤分區(qū)。虛擬磁盤與物理磁盤不同,不會在應用啟動的時候立即響應并分配運行空間,而是根據(jù)系統(tǒng)運行結果,動態(tài)的計算需要的空間來進行分配。根據(jù)前面的分析,可以將虛擬機以文件方式集中存儲在SAN存儲陣列中,用dd命令創(chuàng)建如下:
dd if=/dev/zero of=hdisk.img bs=1G count=10
該命令會創(chuàng)建一個名稱為hdisk.img的虛擬硬盤,它的容量為l0G,每次虛擬機啟動之后,系統(tǒng)會在10G的磁盤空間中進行動態(tài)分配。
KVM有NAT和TUN/TAP兩種同絡接入方式,前者不需要設置網(wǎng)絡連接方式即可實現(xiàn)物理主機和虛擬主機共同連接網(wǎng)絡,這是因為該系統(tǒng)內(nèi)網(wǎng)卡采用DH—CP方式來獲取IP地址;然而虛擬機系統(tǒng)不能和物理主機進行通信,也不會通過絡對外提供服務。前者雖需網(wǎng)橋連接,然而連接后的虛擬主機、物理主機及外部網(wǎng)絡都可以正常通信。這是因為它將物理網(wǎng)卡的ehtO設置成混雜模式,建立起了一個虛擬的網(wǎng)橋brO和虛擬網(wǎng)卡tap0;配置網(wǎng)絡時虛擬網(wǎng)卡tap0和物理網(wǎng)卡ethO都加入了網(wǎng)橋,并被設置成網(wǎng)橋端口,以此來激活虛擬網(wǎng)卡tap0。這樣虛擬主機在啟動之后就能通過虛擬網(wǎng)卡tap0來實現(xiàn)通信,并可根據(jù)需要建立一定數(shù)量的同樣的虛擬網(wǎng)卡,其IP地址可按照正常系統(tǒng)的DHCP方式或自主方式來進行設置。網(wǎng)橋的IP則要設置成物理主機的IP地址,以保證物理主機的正常通信。
KVM虛擬機具有硬件配置十分靈活的特點,無論是配置設定還是更改都很方便。從CPU、內(nèi)存、硬盤到網(wǎng)卡、聲卡等硬件,都可以通過虛擬機啟動命令參數(shù)來實現(xiàn)對應的啟動,并將啟動后的虛擬機與虛擬磁盤文件對應起來,實現(xiàn)操作系統(tǒng)的運行。一般的服務器都能通過光驅(qū)來進行虛擬機的安裝,安裝步驟和安裝完畢后的操作界面與物理系統(tǒng)一致;安裝完畢后將啟動命令中的一boot d參數(shù)進行修改,改為一boot c,這樣就可以實現(xiàn)從磁盤鏡像來啟動虛擬機。
KVM的起步時間相對較晚,因此其發(fā)展程度較低,但是就現(xiàn)階段該虛擬化技術解決方案所表現(xiàn)出來的性能和穩(wěn)定性已經(jīng)收到了計算機行業(yè)及廣大用戶的青睞。隨著科技發(fā)展輔助手段的介入以及人們認知的加深,此設計在電腦上得到廣泛的性能拓展,如泛虛擬化支持、動態(tài)遷移、圖形化界面管理等新都將得到應用和推廣。
[1]李馥娟虛擬機在復雜網(wǎng)絡實驗中的應用[J].實驗技術與管理,2009(02).
[2] 徐紅計算機專業(yè)虛擬實驗教學環(huán)境的改革[J].實驗技術與管理,2009(26).
作者單位清遠市技師學院 廣東省清遠市 511517