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