1 引言
20世紀(jì)70年代,IBM公司首次在IBM/370大型機(jī)上應(yīng)用虛擬化技術(shù),提高了大型機(jī)的資源利用率。隨著軟硬件技術(shù)的迅速發(fā)展,這項屬于大型機(jī)的專利技術(shù)開始在普通X86計算機(jī)上應(yīng)用,并成為當(dāng)前計算機(jī)發(fā)展和研究的一個熱點(diǎn)方向。
服務(wù)器系統(tǒng)雖然具有實現(xiàn)成本低、可擴(kuò)展性好等優(yōu)勢,但不對外呈現(xiàn)單一的系統(tǒng)映像,編程管理和維護(hù)比較復(fù)雜。虛擬化技術(shù)通過虛擬機(jī)監(jiān)控器(Virtual Machine Monitor,簡稱VMM)將底層的硬件資源加以抽象和管理,隱藏底層硬件真正的細(xì)節(jié),為客戶操作系統(tǒng)提供一個虛擬邏輯硬件層,對外呈現(xiàn)出多個虛擬的邏輯服務(wù)器。目前,虛擬化技術(shù)主要應(yīng)用在商業(yè)數(shù)據(jù)中心,高校計算機(jī)教學(xué)和數(shù)字圖書館建設(shè)等方面,已經(jīng)取得了較好的效果。文中結(jié)合艦船電子信息系統(tǒng)的特點(diǎn)及仿真需求,提出基于KVM虛擬化的信息運(yùn)行平臺仿真方案,為艦船電子信息系統(tǒng)的設(shè)計與實現(xiàn)提供了較好的技術(shù)支撐。
2 虛擬化技術(shù)
虛擬化為一組物理資源提供統(tǒng)一的邏輯訪問接口,以分層組織的方式通過底層的硬件和高層的軟件實現(xiàn)物理資源的抽象,從邏輯層面對物理資源進(jìn)行重新分配與描述,使其不受底層資源配置的限制。通過由位于下層的軟件向位于上層的軟件提供一個與它原來所期待的運(yùn)行環(huán)境完全一致的接口方法,抽象出一個虛擬的軟件或硬件接口,使得上層的軟件可以直接運(yùn)行在虛擬環(huán)境之上。虛擬化技術(shù)能夠在一臺物理計算機(jī)上虛擬出多個邏輯上獨(dú)立的計算機(jī)系統(tǒng),每個計算機(jī)系統(tǒng)可以運(yùn)行不同的操作系統(tǒng)和獨(dú)立的應(yīng)用軟件。實現(xiàn)系統(tǒng)和應(yīng)用間的有效隔離,對資源進(jìn)行按需分配,保障每個系統(tǒng)的安全性和運(yùn)行性能。目前虛擬化技術(shù)已經(jīng)形成從硬件到軟件的整套解決方案,系統(tǒng)架構(gòu)如圖1所示。
圖1 虛擬化系統(tǒng)架構(gòu)
虛擬機(jī)監(jiān)控器VMM是整個虛擬化系統(tǒng)的核心,它負(fù)責(zé)對資源的調(diào)度、分配和管理,保證多個虛擬機(jī)(Virtual Machine,VM)間的相互隔離和多個客戶操作系統(tǒng)的正常運(yùn)行。在一個虛擬化系統(tǒng)中,虛擬機(jī)監(jiān)控器VMM運(yùn)行在最高特權(quán)級上.虛擬機(jī)VM和客戶操作系統(tǒng)作為VMM上的用戶級程序運(yùn)行。
2.1虛擬化分類
虛擬化技術(shù)通?煞譃槠脚_虛擬化、資源虛擬化、應(yīng)用程序虛擬化和表示層虛擬化。在應(yīng)用層面上表現(xiàn)為服務(wù)器虛擬化、內(nèi)存虛擬化、設(shè)備虛擬化、存儲虛擬化和網(wǎng)絡(luò)虛擬化等。其中服務(wù)器虛擬化主要可分為三類:
1)全虛擬化。虛擬操作系統(tǒng)與底層硬件完全隔離,由中間的VMM層轉(zhuǎn)化虛擬客戶操作系統(tǒng)對底層硬件的調(diào)用代碼,任何一款操作系統(tǒng)都可以原封不動地安裝到虛擬機(jī)上,兼容性好。其運(yùn)行速度會根據(jù)不同的實現(xiàn)方式而不同。完全虛擬化是處理器密集型技術(shù),它要求VMM管理各個虛擬服務(wù)器,并保持彼此問的獨(dú)立性。
2)準(zhǔn)虛擬化。準(zhǔn)虛擬化可以提供極高的性能,它與完全虛擬化有一些類似。但它在虛擬客戶操作系統(tǒng)中集成了與準(zhǔn)虛擬化相關(guān)的指令,客戶操作系統(tǒng)通過這些指令配合VMM層調(diào)用硬件資源,減少VMM層進(jìn)行轉(zhuǎn)換指令而導(dǎo)致的開銷。
3)操作系統(tǒng)層虛擬化。沒有獨(dú)立的VMM層,所有虛擬機(jī)必須運(yùn)行于同一主機(jī)操作系統(tǒng)上。主機(jī)操作系統(tǒng)負(fù)責(zé)多個虛擬機(jī)間的硬件資源分配,并且讓這些虛擬機(jī)彼此獨(dú)立,統(tǒng)一運(yùn)行。
2.2虛擬化技術(shù)優(yōu)勢
虛擬化技術(shù)的優(yōu)勢主要有:
1)提高了硬件資源效率
虛擬化技術(shù)可以實現(xiàn)“在單一物理服務(wù)器上運(yùn)行多個操作系統(tǒng)或獨(dú)立應(yīng)用”。保證讓每一個系統(tǒng)服務(wù)(如數(shù)據(jù)庫、網(wǎng)頁服務(wù)器)在單一操作系統(tǒng)上運(yùn)行的同時,無需添加新的物理服務(wù)器,提高了服務(wù)器資源的利用率和應(yīng)用的承載能力,降低了運(yùn)維的成本。
2)服務(wù)隔離
當(dāng)前絕大多數(shù)的應(yīng)用要求具有獨(dú)立的運(yùn)行環(huán)境和平臺,不同的業(yè)務(wù)運(yùn)行在不同的獨(dú)立平臺上。虛擬化技術(shù)能夠為應(yīng)用提供有效的獨(dú)立運(yùn)行支撐平臺,保障應(yīng)用需求。
3)高可用性
虛擬機(jī)的硬件在抽象化之后,比實體機(jī)具有更強(qiáng)的彈性。虛擬化可以有效解決高可用性、容錯、負(fù)載均衡、備份等以前必須依靠復(fù)雜技術(shù)或是昂貴設(shè)備才能解決的問題。
4)統(tǒng)一管理
虛擬化技術(shù)通過對當(dāng)前大量分布式服務(wù)器進(jìn)行虛擬化,實現(xiàn)設(shè)備邏輯上的單一化,便于進(jìn)行硬件資源的統(tǒng)一分配和管理。
此外,虛擬化還可以解決很多實體設(shè)備無法解決的問題,包括動態(tài)主機(jī)遷移、快速刪除重復(fù)數(shù)據(jù)、統(tǒng)一桌面管理等,甚至可以創(chuàng)建永不宕機(jī)的集成環(huán)境。
3 KVM虛擬化
3.1概述
內(nèi)核虛擬機(jī)(Kernel—Based Virtual Machine,KVM)是開源組織提出的基于硬件虛擬化的虛擬機(jī)實現(xiàn)方案,2007年2月發(fā)布的Linux2.6.20內(nèi)核第一次包含了KVM,是目前唯一進(jìn)入Linux核心的虛擬化解決方案。KVM是虛擬化解決方案的一部分,還需要通過QEMU為客戶操作系統(tǒng)提供岡卡、I/O等設(shè)備的虛擬,其架構(gòu)如圖2所示。
圖2 KVM系統(tǒng)架構(gòu)
KVM包含內(nèi)核模塊和處理器模塊兩部分。內(nèi)核模塊kvm.ko提供核心的虛擬化支持,處理器模塊kvm-intel.ko和kvm-amd.ko分別提供對Intel處理器和AMD處理器的虛擬化技術(shù)支持。KVM主要通過加載kvm.ko內(nèi)核模塊將Linux內(nèi)核轉(zhuǎn)換為一個VMM,將虛擬機(jī)對應(yīng)成為標(biāo)準(zhǔn)的Linux進(jìn)程,用標(biāo)準(zhǔn)的Linux進(jìn)程管理機(jī)制對虛擬機(jī)進(jìn)行管理。
一般情況下,Linux進(jìn)程有內(nèi)核模式和用戶模式兩種運(yùn)行模式,內(nèi)核模式表示代碼執(zhí)行的特權(quán)模式,用戶模式表示代碼執(zhí)行的非特權(quán)模式。在KVM系統(tǒng)中為Linux引入了一種新的進(jìn)程模式,稱為客戶模式?蛻裟J接脕韴(zhí)行虛擬機(jī)操作系統(tǒng)非I/O代碼,包含內(nèi)核模式和用戶模式兩種標(biāo)準(zhǔn)模式,虛擬機(jī)操作系統(tǒng)可在內(nèi)核模式下運(yùn)行標(biāo)準(zhǔn)的內(nèi)核,在用戶模式下支持自己的內(nèi)核和用戶空間應(yīng)用程序。
3.2 KVM的優(yōu)勢
KVM使用硬件虛擬化技術(shù),以瘦虛擬化形式運(yùn)行在Linux系統(tǒng)內(nèi)核當(dāng)中,實現(xiàn)虛擬機(jī)操作系統(tǒng)代碼的直接硬件處理,具有很強(qiáng)的硬件支持能力,支持整個計算機(jī)系統(tǒng)的模擬,包括多種處理器(X86、ARM、Pow
ERPC等)、磁盤、圖形適配器、網(wǎng)絡(luò)設(shè)備,同時支持常見基于X86架構(gòu)的Windows、Linux、Unix操作系統(tǒng)的穩(wěn)定運(yùn)行。目前主流硬件設(shè)備均配有對應(yīng)的Linux驅(qū)動,KVM可以在最廣泛的硬件系統(tǒng)之上運(yùn)行。
KVM虛擬化技術(shù)具有較強(qiáng)的靈活性,能較好地將不同操作系統(tǒng)和特殊硬件設(shè)備加以利用,降低不同系統(tǒng)間的維護(hù)復(fù)雜度。同時具有優(yōu)良的系統(tǒng)性能和穩(wěn)定性,優(yōu)化配置,提高資源利用率,擴(kuò)展空間、方便設(shè)備的部署。
4基于虛擬化的艦船電子信息平臺仿真
4.1艦船電子信息系統(tǒng)特點(diǎn)
艦船電子信息系統(tǒng)的發(fā)展已經(jīng)完成了從集中式系統(tǒng)到基于以太網(wǎng)的分布式系統(tǒng)的轉(zhuǎn)變,業(yè)務(wù)和信息需求急劇增加,主要具有以下特點(diǎn):
1)信息節(jié)點(diǎn)數(shù)量多,密度高艦船電子信息系統(tǒng)所包含的分系統(tǒng)數(shù)量多,每個分系統(tǒng)包含多個設(shè)備和上網(wǎng)節(jié)點(diǎn)。在相對有限的艦載空間內(nèi),信息節(jié)點(diǎn)的密度相當(dāng)高。
2)不同節(jié)點(diǎn)運(yùn)行的平臺有差異不同系統(tǒng)在進(jìn)行系統(tǒng)和設(shè)備的設(shè)計時,其設(shè)計思想和技術(shù)水平的差異決定了不同的設(shè)備或節(jié)點(diǎn)的技術(shù)層次差異;不同節(jié)點(diǎn)所使用的操作系統(tǒng)和技術(shù)實現(xiàn)方式也不盡相同,不利于設(shè)備的功能復(fù)用和備份,嚴(yán)重影響了設(shè)備研制的
后續(xù)發(fā)展。
3)信息的實時性較高
由于艦船電子信息系統(tǒng)業(yè)務(wù)需求的差異性,不同信息的傳輸特性也有差別,很多信息的實時性要求比較高,需要在指定條件和時間限制范圍內(nèi)完成相應(yīng)的信息傳輸和處理,按照設(shè)計的流程完成對應(yīng)的業(yè)務(wù)功能。
4)節(jié)點(diǎn)管理分散
艦艇平臺上有很多信息節(jié)點(diǎn),節(jié)點(diǎn)間通過以太網(wǎng)進(jìn)行互聯(lián),實現(xiàn)了信息的傳輸和相應(yīng)的業(yè)務(wù)功能,但節(jié)點(diǎn)的管理依然十分松散,僅僅局限在分系統(tǒng)的內(nèi)部,艦船電子信息系統(tǒng)缺乏對各分系統(tǒng)或設(shè)備的有效監(jiān)控和統(tǒng)一管理。
5)信息類型多樣性
艦載電子信息系統(tǒng)包含的信息類型有數(shù)據(jù)信息,視頻信息,語音信息,不同信息的處理需求也各不相同,需要具
有更強(qiáng)處理能力的服務(wù)器和承載能力的網(wǎng)絡(luò),實現(xiàn)對多樣信息的處理和傳輸。
4.2仿真需求
艦載分系統(tǒng)的設(shè)備數(shù)量不斷增加,增加了系統(tǒng)內(nèi)部結(jié)構(gòu)的復(fù)雜性,對艦船電子信息系統(tǒng)的體系結(jié)構(gòu)設(shè)計也提出了更高的要求,同時也提高了設(shè)備安裝的空間需求。
此外,各分系統(tǒng)設(shè)備間存在著大量功能重復(fù)的設(shè)備,例如:幾乎所有的分系統(tǒng)均配有獨(dú)立的信息處理設(shè)備,造成了大量處理設(shè)備的重復(fù)和空間浪費(fèi)。
為了實現(xiàn)設(shè)備的集中控制和統(tǒng)一管理,對資源進(jìn)行有效分配,需要利用虛擬化技術(shù)對服務(wù)器等處理設(shè)備進(jìn)行虛擬化處理,結(jié)合應(yīng)用需求完成對物理資源的管理和應(yīng)用程序的部署。
4.3艦船電子信息系統(tǒng)仿真
通過KVM虛擬化技術(shù),在兩臺臺式工作站上共計虛擬出五個虛擬機(jī),分別部署不同的客戶操作系統(tǒng)平臺。主要有:Windows平臺、Linux平臺、VxWorks平臺、Solaris平臺等。結(jié)合仿真需求將不同的應(yīng)用程序部署在對應(yīng)的平臺上,系統(tǒng)仿真的體系結(jié)構(gòu)。如圖3所示。
將指揮控制模擬系統(tǒng)、雷達(dá)模擬系統(tǒng)、武器模擬系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及Eclipse等相關(guān)的軟件或設(shè)備部署到相應(yīng)的虛擬機(jī)上,同時通過KVM提供的內(nèi)部接口搜集虛擬主機(jī)和虛擬機(jī)等資源的狀態(tài)信息,進(jìn)行狀態(tài)監(jiān)控和資源管理。
圖3 基于KVM虛擬化仿真體系結(jié)構(gòu)圖
各模擬系統(tǒng)或軟件通過以太網(wǎng)完成信息交互,對于承載作戰(zhàn)業(yè)務(wù)的指揮控制模擬系統(tǒng)、雷達(dá)模擬系統(tǒng)和武器模擬系統(tǒng),在啟動時自動調(diào)用并加載Eclipse界面組件提供的配置界面,通過對配置界面的控制來觸發(fā)相應(yīng)的操作,并進(jìn)行業(yè)務(wù)信息的顯示和處理。
4.4資源管理
資源管理主要利用KVM內(nèi)部提供的接口獲取服務(wù)器及虛擬機(jī)資源的狀態(tài)及使用信息,通過遠(yuǎn)程控制命令完成對服務(wù)器及虛擬機(jī)的狀態(tài)監(jiān)控和資源的分配處理。對于同構(gòu)服務(wù)器的監(jiān)控與管理相對比較簡單,利用KVM虛擬化軟件提供的監(jiān)控接口和功能直接獲取相應(yīng)信息,設(shè)計符合仿真界面需求的監(jiān)控軟件,監(jiān)控管理虛擬資源和應(yīng)用程序。
對于異構(gòu)分布式服務(wù)器系統(tǒng)的監(jiān)控與管理主要通過一個客戶端程序控制KVM接口實現(xiàn)對外部命令的響應(yīng)。資源管理服務(wù)器端搜集虛擬機(jī)等各種資源的信息,進(jìn)行統(tǒng)一管理和分配,以保證數(shù)據(jù)的一致性。結(jié)構(gòu)模式圖4所示。
圖4 資源管理連接結(jié)構(gòu)圖
資源管理的遠(yuǎn)程控制端可以通過指定的接口形式實現(xiàn)信息交互,獲取相應(yīng)的信息,如Socket或DDS等,甚至可以是面向服務(wù)的SOAP協(xié)議。
4.5性能評估
通過虛擬化技術(shù),可以在較少物理服務(wù)器上虛擬出多個邏輯服務(wù)器,雖然提高了服務(wù)器的利用率,但對虛擬機(jī)的性能還是有影響的。而對實時性要求較高的作戰(zhàn)仿真而言,性能影響直接決定著仿真的效果。經(jīng)測試統(tǒng)計,在一個單內(nèi)核的物理服務(wù)器上虛擬一個虛擬機(jī),其性能損耗較少,約為2%~7%;若在一個單內(nèi)核的物理服務(wù)器上虛擬出三個虛擬機(jī)時,其性能損耗可高達(dá)20%~40%,虛擬機(jī)的性能損耗會隨著虛擬機(jī)的數(shù)量增加而顯著增加,虛擬機(jī)性能損耗直接影響著虛擬機(jī)的數(shù)量。為了保證有限數(shù)量范圍內(nèi)的虛擬機(jī)性能,可以通過提高物理服務(wù)器的內(nèi)存和CPU配置來提高虛擬機(jī)的運(yùn)行性能,使其滿足仿真需求。
5 結(jié)語
KVM作為Linux內(nèi)核中的虛擬化實現(xiàn)軟件,具有靈活、可擴(kuò)展等較多的優(yōu)勢,可以將相對有限的計算機(jī)物理資源進(jìn)行虛擬,按照需求進(jìn)行邏輯重組,保持資源的獨(dú)立性,充分利用服務(wù)器資源的同時,提高了對資源的管理和控制能力。結(jié)合艦船電子信息系統(tǒng)特點(diǎn)和仿真需求,詳細(xì)描述了基于虛擬化技術(shù)的艦船電子信息系統(tǒng)仿真框架,實現(xiàn)了對物理資源的集中管理,為艦船電子信息平臺的資源管理和分配奠定基礎(chǔ)。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于KVM的艦船電子信息平臺仿真研究
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11121510151.html