1 引言
20世纪70年代,IBM公司首次在IBM/370大型机上应用虚拟化技术,提高了大型机的资源利用率。随着软硬件技术的迅速发展,这项属于大型机的专利技术开始在普通X86计算机上应用,并成为当前计算机发展和研究的一个热点方向。
服务器系统虽然具有实现成本低、可扩展性好等优势,但不对外呈现单一的系统映像,编程管理和维护比较复杂。虚拟化技术通过虚拟机监控器(Virtual Machine Monitor,简称VMM)将底层的硬件资源加以抽象和管理,隐藏底层硬件真正的细节,为客户操作系统提供一个虚拟逻辑硬件层,对外呈现出多个虚拟的逻辑服务器。目前,虚拟化技术主要应用在商业数据中心,高校计算机教学和数字图书馆建设等方面,已经取得了较好的效果。文中结合舰船电子信息系统的特点及仿真需求,提出基于KVM虚拟化的信息运行平台仿真方案,为舰船电子信息系统的设计与实现提供了较好的技术支撑。
2 虚拟化技术
虚拟化为一组物理资源提供统一的逻辑访问接口,以分层组织的方式通过底层的硬件和高层的软件实现物理资源的抽象,从逻辑层面对物理资源进行重新分配与描述,使其不受底层资源配置的限制。通过由位于下层的软件向位于上层的软件提供一个与它原来所期待的运行环境完全一致的接口方法,抽象出一个虚拟的软件或硬件接口,使得上层的软件可以直接运行在虚拟环境之上。虚拟化技术能够在一台物理计算机上虚拟出多个逻辑上独立的计算机系统,每个计算机系统可以运行不同的操作系统和独立的应用软件。实现系统和应用间的有效隔离,对资源进行按需分配,保障每个系统的安全性和运行性能。目前虚拟化技术已经形成从硬件到软件的整套解决方案,系统架构如图1所示。
图1 虚拟化系统架构
虚拟机监控器VMM是整个虚拟化系统的核心,它负责对资源的调度、分配和管理,保证多个虚拟机(Virtual Machine,VM)间的相互隔离和多个客户操作系统的正常运行。在一个虚拟化系统中,虚拟机监控器VMM运行在最高特权级上.虚拟机VM和客户操作系统作为VMM上的用户级程序运行。
2.1虚拟化分类
虚拟化技术通常可分为平台虚拟化、资源虚拟化、应用程序虚拟化和表示层虚拟化。在应用层面上表现为服务器虚拟化、内存虚拟化、设备虚拟化、存储虚拟化和网络虚拟化等。其中服务器虚拟化主要可分为三类:
1)全虚拟化。虚拟操作系统与底层硬件完全隔离,由中间的VMM层转化虚拟客户操作系统对底层硬件的调用代码,任何一款操作系统都可以原封不动地安装到虚拟机上,兼容性好。其运行速度会根据不同的实现方式而不同。完全虚拟化是处理器密集型技术,它要求VMM管理各个虚拟服务器,并保持彼此问的独立性。
2)准虚拟化。准虚拟化可以提供极高的性能,它与完全虚拟化有一些类似。但它在虚拟客户操作系统中集成了与准虚拟化相关的指令,客户操作系统通过这些指令配合VMM层调用硬件资源,减少VMM层进行转换指令而导致的开销。
3)操作系统层虚拟化。没有独立的VMM层,所有虚拟机必须运行于同一主机操作系统上。主机操作系统负责多个虚拟机间的硬件资源分配,并且让这些虚拟机彼此独立,统一运行。
2.2虚拟化技术优势
虚拟化技术的优势主要有:
1)提高了硬件资源效率
虚拟化技术可以实现“在单一物理服务器上运行多个操作系统或独立应用”。保证让每一个系统服务(如数据库、网页服务器)在单一操作系统上运行的同时,无需添加新的物理服务器,提高了服务器资源的利用率和应用的承载能力,降低了运维的成本。
2)服务隔离
当前绝大多数的应用要求具有独立的运行环境和平台,不同的业务运行在不同的独立平台上。虚拟化技术能够为应用提供有效的独立运行支撑平台,保障应用需求。
3)高可用性
虚拟机的硬件在抽象化之后,比实体机具有更强的弹性。虚拟化可以有效解决高可用性、容错、负载均衡、备份等以前必须依靠复杂技术或是昂贵设备才能解决的问题。
4)统一管理
虚拟化技术通过对当前大量分布式服务器进行虚拟化,实现设备逻辑上的单一化,便于进行硬件资源的统一分配和管理。
此外,虚拟化还可以解决很多实体设备无法解决的问题,包括动态主机迁移、快速删除重复数据、统一桌面管理等,甚至可以创建永不宕机的集成环境。
3 KVM虚拟化
3.1概述
内核虚拟机(Kernel—Based Virtual Machine,KVM)是开源组织提出的基于硬件虚拟化的虚拟机实现方案,2007年2月发布的Linux2.6.20内核第一次包含了KVM,是目前唯一进入Linux核心的虚拟化解决方案。KVM是虚拟化解决方案的一部分,还需要通过QEMU为客户操作系统提供冈卡、I/O等设备的虚拟,其架构如图2所示。
图2 KVM系统架构
KVM包含内核模块和处理器模块两部分。内核模块kvm.ko提供核心的虚拟化支持,处理器模块kvm-intel.ko和kvm-amd.ko分别提供对Intel处理器和AMD处理器的虚拟化技术支持。KVM主要通过加载kvm.ko内核模块将Linux内核转换为一个VMM,将虚拟机对应成为标准的Linux进程,用标准的Linux进程管理机制对虚拟机进行管理。
一般情况下,Linux进程有内核模式和用户模式两种运行模式,内核模式表示代码执行的特权模式,用户模式表示代码执行的非特权模式。在KVM系统中为Linux引入了一种新的进程模式,称为客户模式。客户模式用来执行虚拟机操作系统非I/O代码,包含内核模式和用户模式两种标准模式,虚拟机操作系统可在内核模式下运行标准的内核,在用户模式下支持自己的内核和用户空间应用程序。
3.2 KVM的优势
KVM使用硬件虚拟化技术,以瘦虚拟化形式运行在Linux系统内核当中,实现虚拟机操作系统代码的直接硬件处理,具有很强的硬件支持能力,支持整个计算机系统的模拟,包括多种处理器(X86、ARM、Pow
ERPC等)、磁盘、图形适配器、网络设备,同时支持常见基于X86架构的Windows、Linux、Unix操作系统的稳定运行。目前主流硬件设备均配有对应的Linux驱动,KVM可以在最广泛的硬件系统之上运行。
KVM虚拟化技术具有较强的灵活性,能较好地将不同操作系统和特殊硬件设备加以利用,降低不同系统间的维护复杂度。同时具有优良的系统性能和稳定性,优化配置,提高资源利用率,扩展空间、方便设备的部署。
4基于虚拟化的舰船电子信息平台仿真
4.1舰船电子信息系统特点
舰船电子信息系统的发展已经完成了从集中式系统到基于以太网的分布式系统的转变,业务和信息需求急剧增加,主要具有以下特点:
1)信息节点数量多,密度高舰船电子信息系统所包含的分系统数量多,每个分系统包含多个设备和上网节点。在相对有限的舰载空间内,信息节点的密度相当高。
2)不同节点运行的平台有差异不同系统在进行系统和设备的设计时,其设计思想和技术水平的差异决定了不同的设备或节点的技术层次差异;不同节点所使用的操作系统和技术实现方式也不尽相同,不利于设备的功能复用和备份,严重影响了设备研制的
后续发展。
3)信息的实时性较高
由于舰船电子信息系统业务需求的差异性,不同信息的传输特性也有差别,很多信息的实时性要求比较高,需要在指定条件和时间限制范围内完成相应的信息传输和处理,按照设计的流程完成对应的业务功能。
4)节点管理分散
舰艇平台上有很多信息节点,节点间通过以太网进行互联,实现了信息的传输和相应的业务功能,但节点的管理依然十分松散,仅仅局限在分系统的内部,舰船电子信息系统缺乏对各分系统或设备的有效监控和统一管理。
5)信息类型多样性
舰载电子信息系统包含的信息类型有数据信息,视频信息,语音信息,不同信息的处理需求也各不相同,需要具
有更强处理能力的服务器和承载能力的网络,实现对多样信息的处理和传输。
4.2仿真需求
舰载分系统的设备数量不断增加,增加了系统内部结构的复杂性,对舰船电子信息系统的体系结构设计也提出了更高的要求,同时也提高了设备安装的空间需求。
此外,各分系统设备间存在着大量功能重复的设备,例如:几乎所有的分系统均配有独立的信息处理设备,造成了大量处理设备的重复和空间浪费。
为了实现设备的集中控制和统一管理,对资源进行有效分配,需要利用虚拟化技术对服务器等处理设备进行虚拟化处理,结合应用需求完成对物理资源的管理和应用程序的部署。
4.3舰船电子信息系统仿真
通过KVM虚拟化技术,在两台台式工作站上共计虚拟出五个虚拟机,分别部署不同的客户操作系统平台。主要有:Windows平台、Linux平台、VxWorks平台、Solaris平台等。结合仿真需求将不同的应用程序部署在对应的平台上,系统仿真的体系结构。如图3所示。
将指挥控制模拟系统、雷达模拟系统、武器模拟系统、数据库系统及Eclipse等相关的软件或设备部署到相应的虚拟机上,同时通过KVM提供的内部接口搜集虚拟主机和虚拟机等资源的状态信息,进行状态监控和资源管理。
图3 基于KVM虚拟化仿真体系结构图
各模拟系统或软件通过以太网完成信息交互,对于承载作战业务的指挥控制模拟系统、雷达模拟系统和武器模拟系统,在启动时自动调用并加载Eclipse界面组件提供的配置界面,通过对配置界面的控制来触发相应的操作,并进行业务信息的显示和处理。
4.4资源管理
资源管理主要利用KVM内部提供的接口获取服务器及虚拟机资源的状态及使用信息,通过远程控制命令完成对服务器及虚拟机的状态监控和资源的分配处理。对于同构服务器的监控与管理相对比较简单,利用KVM虚拟化软件提供的监控接口和功能直接获取相应信息,设计符合仿真界面需求的监控软件,监控管理虚拟资源和应用程序。
对于异构分布式服务器系统的监控与管理主要通过一个客户端程序控制KVM接口实现对外部命令的响应。资源管理服务器端搜集虚拟机等各种资源的信息,进行统一管理和分配,以保证数据的一致性。结构模式图4所示。
图4 资源管理连接结构图
资源管理的远程控制端可以通过指定的接口形式实现信息交互,获取相应的信息,如Socket或DDS等,甚至可以是面向服务的SOAP协议。
4.5性能评估
通过虚拟化技术,可以在较少物理服务器上虚拟出多个逻辑服务器,虽然提高了服务器的利用率,但对虚拟机的性能还是有影响的。而对实时性要求较高的作战仿真而言,性能影响直接决定着仿真的效果。经测试统计,在一个单内核的物理服务器上虚拟一个虚拟机,其性能损耗较少,约为2%~7%;若在一个单内核的物理服务器上虚拟出三个虚拟机时,其性能损耗可高达20%~40%,虚拟机的性能损耗会随着虚拟机的数量增加而显著增加,虚拟机性能损耗直接影响着虚拟机的数量。为了保证有限数量范围内的虚拟机性能,可以通过提高物理服务器的内存和CPU配置来提高虚拟机的运行性能,使其满足仿真需求。
5 结语
KVM作为Linux内核中的虚拟化实现软件,具有灵活、可扩展等较多的优势,可以将相对有限的计算机物理资源进行虚拟,按照需求进行逻辑重组,保持资源的独立性,充分利用服务器资源的同时,提高了对资源的管理和控制能力。结合舰船电子信息系统特点和仿真需求,详细描述了基于虚拟化技术的舰船电子信息系统仿真框架,实现了对物理资源的集中管理,为舰船电子信息平台的资源管理和分配奠定基础。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于KVM的舰船电子信息平台仿真研究
本文网址:http://www.toberp.com/html/support/11121510151.html