您现在的位置是:首页 > 行业 > 制造 >

虚拟化技术及其在制造业信息化中的应用综述

2011-08-31 17:04:00作者:互联网来源:

摘要首先介绍了虚拟化的基本含义,接着从虚拟化方法和虚拟化管理两个方面介绍了虚拟化实现的关键技术。在此基础上,有针对性地提出了制造业信息化中虚拟化技术的应用框架和作用,总结并展望了虚拟化在制造业中的应用前景。指出虚拟化在制造业信息化中应用存在的不足及未来的研究...

  计算机系统的抽象层次通过分层组织,由底层的硬件和高层的软件实现,虚拟化(Virtualization)就是由位于下层的软件,通过向上一层软件提供一个与它原来所期待的运行环境完全一致的接口的方法,抽象出一个虚拟的软件或硬件接口,使得上层的软件可以直接运行在虚拟的环境上。一般来说,虚拟化的计算机通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(VM)。目前国内外对虚拟化的研究,在系统级别方面主要集中在单一系统的虚拟化方法和多计算系统虚拟化管理等领域;在应用方面主要集中在服务器虚拟化、桌面虚拟化以及虚拟化在云计算中的作用等领域。随着近年多核系统、集群、网格计算、服务计算和云计算技术的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了IT成本,而且还增强了系统安全性和可靠性。虚拟化是继互联网后,又一个对整个信息产业有突破性的信息技术。当今发达国家在设计、制造、加工技术等方面已经达到相当自动化的水平,其产品设计普遍采用CAD、CAM、CAE和计算机仿真等手段,企业管理也已采用了科学的规范化的管理方法和手段,目前其主要从制造系统自动化方面寻找出路,为此提出了一系列新的制造系统,如敏捷制造、并行工程、计算机集成制造系统等。近些年,从虚拟机的大量部署到成功案例逐渐涌现,越来越多的制造企业开始关注虚拟化技术给优化IT基础架构,推动业务创新带来的启发,希望将其与业务相结合,找到掌握新技术、革新先进制造系统和先进制造模式的方法。虚拟化目前应用于制造业信息化主要体现在IT整合和节约成本,在其他方面很少,而实际上由于虚拟化技术的特点,其应用价值可以在远程办公、虚拟制造、工业控制等制造业相关领域都能得到体现。本文主要对虚拟化技术及其在制造业的应用现状进行综述,提出虚拟化在制造业的应用框架,为相关人员提供该领域的应用研究进展与发展趋势方面的介绍。

  1 虚拟化技术

  虚拟化是指为运行的程序或软件营造它所需要的执行环境,在采用虚拟化技术后,程序或软件的运行不再独享底层的物理计算资源,它只是运行在一个完全相同的物理计算资源中,而底层的影响可能与之前所运行的计算机结构完全不同。虚拟化的主要目的是对IT基础设施和资源管理方式的简化。虚拟化的消费者可以是最终用户、应用程序、操作系统、访问资源或与资源交互相关的其他服务。由于虚拟化能降低消费者与资源之间的耦合程度,消费者不再依赖于资源的特定实现,因此在对消费者的管理工作影响最小的基础上,可以通过手工、半自动、或者服务级协定(SLA)等来实现对资源的管理。

  1.1 虚拟化的分类

  从虚拟化的目的来看,虚拟化技术主要分为以下几个大类:

  (1)平台虚拟化(Platform Virtualization),它是针对计算机和操作系统的虚拟化,又分成服务器虚拟化和桌面虚拟化。服务器虚拟化是一种通过区分资源的优先次序,并将服务器资源分配给最需要它们的工作负载的虚拟化模式,它通过减少为单个工作负载峰值而储备的资源来简化管理和提高效率。桌面虚拟化是为提高人对计算机的操控力,降低计算机使用的复杂性,为用户提供更加方便适用的使用环境的一种虚拟化模式。平台虚拟化主要通过CPU虚拟化、内存虚拟化和I/O接口虚拟化来实现。

  (2)资源虚拟化(Resource Virtualization),针对特定的计算资源进行的虚拟化,例如,存储虚拟化、网络资源虚拟化等。存储虚拟化是指把操作系统有机地分布于若干内外存储器,两者结合成为虚拟存储器。网络资源虚拟化最典型的是网格计算,网格计算通过使用虚拟化技术来管理网络上的数据,并在逻辑上将其作为一个系统呈现给消费者,它动态地提供了符合用户和应用程序需求的资源,同时还将提供对基础设施的共享和访问的简化。当前,有些研究人员提出利用软件代理技术来实现计算网络空间资源的虚拟化,如Gaia,Net Chaser[21],Spatial Agent。

  (3)应用程序虚拟化(Application Virtualization),它包括仿真、模拟、解释技术等。Java 虚拟机是典型的在应用层进行虚拟化。基于应用层的虚拟化技术,通过保存用户的个性化计算环境的配置信息,可以实现在任意计算机上重现用户的个性化计算环境。服务虚拟化是近年研究的一个热点,服务虚拟化可以使业务用户能按需快速构建应用的需求,通过服务聚合,可屏蔽服务资源使用的复杂性,使用户更易于直接将业务需求映射到虚拟化的服务资源。现代软件体系结构及其配置的复杂性阻碍了软件开发生命周期,通过在应用层建立虚拟化的模型,可以提供最佳开发测试和运行环境。

  (4)表示层虚拟化。在应用上与应用程序虚拟化类似,所不同的是表示层虚拟化中的应用程序运行在服务器上,客户机只显示应用程序的UI界面和用户操作。表示层虚拟化软件主要有微软的Windows 远程桌面(包括终端服务)、Citrix Metaframe Presentation Server和Symantec PcAnywhere等。

  1.2 虚拟化的方法

  通常所说的虚拟化主要是指平台虚拟化,它通过控制程序隐藏计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境。通常虚拟化可以通过指令级虚拟化和系统级虚拟化来实现。

  1.2.1 指令级虚拟化方法

  在指令集层次上实现虚拟化,即将某个硬件平台上的二进制代码转换为另一个平台上的二进制代码,实现不同指令集间的兼容,也被称作“二进制翻译”。二进制翻译是通过仿真来实现的,即在一个具有某种接口和功能的系统上实现另一种与之具有不同接口和功能的系统。二进制翻译的软件方式,它可以有3 种方式实现:解释执行、静态翻译、动态翻译。

  近年来,最新的二进制翻译系统的研究主要在运行时编译、自适应优化方面,由于动态翻译和执行过程的时间开销主要包括四部分:即磁盘访问开销、存储访问开销、翻译和优化开销、目标代码的执行开销,所以要提高二进制翻译系统的效率主要应减少后3个方面的开销。目前典型的二进制翻译系统主要有Daisy/BOA、Crusoe、Aeries、IA-32EL、Dynamo 动态优化系统和JIT编译技术等。

  1.2.2 系统级虚拟化方法

  系统虚拟化是在一台物理机上虚拟出多个虚拟机。从系统架构看,虚拟机监控器(VMM)是整个虚拟机系统的核心,它承担了资源的调度、分配和管理,保证多个虚拟机能够相互隔离的同时运行多个客户操作系统。系统级虚拟化要通过CPU虚拟化、内存虚拟化和I/O虚拟化实现。

  (1)CPU虚拟化

  CPU虚拟化为每个虚拟机提供一个或多个虚拟CPU,多个虚拟CPU分时复用物理CPU,任意时刻一个物理CPU只能被一个虚拟CPU使用。VMM必须为各虚拟CPU合理分配时间片并维护所有虚拟CPU的状态,当一个虚拟CPU的时间片用完需要切换时,要保存当前虚拟CPU的状态,将被调度的虚拟CPU的状态载入物理CPU。X86 的CPU虚拟化方法主要有:二进制代码动态翻译(dynamic binary translation)、半虚拟化(para-virtualization)和预虚拟化技术。为了弥补处理器的虚拟化缺陷,现有的虚拟机系统都采用硬件辅助虚拟化技术。CPU虚拟化需要解决的问题是:①虚拟CPU的正确运行,虚拟CPU正确运行的关键是保证虚拟机指令正确执行,各虚拟机之间不互相影响,即指令的执行结果不改变其他虚拟机的状态,目前主要是通过模拟执行和监控运行;②虚拟CPU的调度。虚拟CPU的调度是指由VMM决定当前哪一个虚拟CPU实际在物理CPU上运行,保证虚拟机之间的隔离性、虚拟CPU的性能、调度的公平。虚拟机环境的调度需求是要充分利用CPU资源、支持精确的CPU分配、性能隔离、考虑虚拟机之间的不对等、考虑虚拟机之间的依赖。常见的CPU调度算法有BVT、SEDF、CB等。

  (2)内存虚拟化

  VMM通常采用分块共享的思想来虚拟计算机的物理内存。VMM将机器的内存分配给各个虚拟机,并维护机器内存和虚拟机内存之间的映射关系,这些内存在虚拟机看来是一段从地址0 开始的、连续的物理地址空间。在进行内存虚拟化后,内存地址将有机器地址、伪物理地址和虚拟地址三种地址。在X86 的内存寻址机制中,VMM能够以页面为单位建立虚拟地址到机器地址的映射关系,并利用页面权限设置实现不同虚拟机间内存的隔离和保护。为了提高地址转换的性能,X86 处理器中加入TLB,缓存已经转换过的虚拟地址,在每次虚拟地址空间切换时,硬件自动完成切块TLB。为了实现虚拟地址到物理地址的高效转换,通常采取复合映射的思想,通过MMU半虚拟化和影子页表来实现页表的虚拟化。虚拟机监控器的数据不能被虚拟机访问,因此需要一种隔离机制,这种隔离机制主要通过修改客户操作系统或段保护来实现。内存虚拟化的优化机制,包括按需取页、虚拟存储、内存共享等。

  (3)I/O虚拟化

  由于I/O设备具有异构性强,内部状态不易控制等特点,VMM系统针对I/O设备虚拟化有全虚拟化、半虚拟化、软件模拟和直接I/O访问等设计思路。近年来,更多的学者将I/O虚拟化的研究放在共享的网络设备虚拟化研究,提出将IOVM结构映射到多核心服务器平台。I/O设备除了增加吞吐量和固有的并行数据流、联系串行特性以及基于分组的协议外,还应该考虑到传统的PCI 兼容的PCI Express的硬件,建立相应的总线适配器,以弥补象单一主机无专门的驱动程序时的需要。有些研究人员专注于外存储虚拟化的研究,提出让存储虚拟化系统上的SCSI目标模拟器运行在SAN上,存储动态的目标主机的物理信息,并使用映射表方法来修改SCSI命令地址,使用位图的技术来管理可用空间等思想。存储虚拟化系统应提供诸如逻辑卷大小、各种功能、数据镜像和快照,并兼容集群主机和多个操作系统。由于外存储虚拟化能全面提升存储区域网络的服务质量,而带外虚拟化与带内虚拟化相比具有性能高和扩展性好等优点,通过运用按序操作、Redo日志以及日志完整性鉴别,设计基于关系模型的磁盘上虚拟化元数据组织方式,可以形成一致持久的带外虚拟化系统。

  1.3 虚拟化的管理

  虚拟化的管理主要指多虚拟机系统的管理,多虚拟机系统是指在对多计算系统资源抽象表示的基础上,按照自己的资源配置构建虚拟计算系统,其主要包括虚拟机的动态迁移技术和虚拟机的管理技术。

  (1)虚拟机之间的迁移

  将虚拟化作为一种手段管理现有的资源和加强其在网络计算的利用率,通过构建分布式可重构的虚拟机,必要时在物理服务器运行时迁移服务。通过移动代理技术、分布式虚拟机等提高资源利用率和服务可用性,通过寻找服务最优的策略在可重构和分布式虚拟机上迁移。为了将虚拟机运行的操作系统与应用程序从一个物理结点迁移到另外一个运行结点,同时保持客户操作系统和应用程序不受干扰,有些研究者提出以数据为中心的可迁移的虚拟运行环境,使得用户操作环境实现异地迁移、无缝重构;也有研究人员提出程序执行环境的动态按需配置机制。在跨物理服务器迁移虚拟机,进行自动化的虚拟服务器的管理,必须考虑高层次的服务质量要求和资源管理成本。有些研究人员提出了通过管理程序控制的方法,以支持移动IP的实时迁移虚拟机在网络上,使虚拟机实时迁移其分布计算资源,从而改善迁移性能,降低网络恢复延迟,提供高可靠性和容错。有些研究机构通过设计一个通用的硬件抽象层,实现多个虚拟机的移植,具有高效率执行环境中的移动设备。虚拟机的迁移步骤一般有启动迁移、内存迁移、冻结虚拟机、虚拟机恢复执行。

  (2)虚拟机的管理

  对于多虚拟机来说,一个非常重要的方面是减少用户对动态的和复杂的物理设备的管理和维护,通过软件和工具来实现任务管理。当前典型的多虚拟机服务器管理软件是Virtual Infrastructure,它通过Virtual Center管理服务器的虚拟机池,通过VMotion完成虚拟机的迁移,通过VMFS管理多虚拟机文件系统。其次,Parallax 是针对Xen 的多虚拟机管理器,它通过采用消除写共享,增强客户端的缓存等方式并利用模板映像来建立整个系统;同时使用快照(snapshot)以及写时复制(copy-on-write)机制来实现块级共享,并使用副本来保证可用性。虚拟机监控器直接控制parallax 使用的物理盘,它们运行物理设备驱动器,并给虚拟磁盘镜像VDI 的本地虚拟机提供一个普通的块接口。

  2 虚拟化在制造业信息化中的应用

  2.1 虚拟化在制造业信息化中的应用框架

  当今制造业正朝着精密化、自动化、柔性化、集成化、网络化、信息化和智能化的方向发展,在这种趋势下,诞生了许多先进制造技术和先进制造模式。这些先进制造技术和先进制造模式要求现有的IT基础设施能提供更高的计算服务水平,因此在制造业信息化中,需要建立以虚拟化为导向的资源分配体系结构,提供客户驱动的服务管理和计算风险管理,维持以服务水平协议(SLA)为导向的资源分配体系。虚拟化在制造业信息化中主要用于集中IT管理、应用整合、工业控制、虚拟制造等,以数据中心管理为例,其虚拟化在制造业信息化中的应用框架如图1所示。

  在图1的框架中,处在最底层的是制造业企业的虚拟计算资源池(VirtualCluster),它由多台物理服务器(PhysicsMachine)形成,各物理服务器上运行着虚拟化软件(VMM),虚拟化软件上运行着完成各种任务需求的虚拟机,虚拟计算资源池的虚拟化管理软件(VMS)为IT环境提供集中化、操作自动化、资源优化的功能,可以快速部署向导和虚拟机模板。虚拟计算资源池中的虚拟机将不同类型的客户操作系统(Guest OS)和运行其上的数据层、服务层应用程序(App)封装在一起,形成一个企业协同设计制造的完整系统,为表示层的用户提供多种形态的数据处理和显示功能。在图1 的框架中,虚拟计算资源池的动态资源调度(DRS)模块可以跨越物理机不间断地监控资源利用率,并根据反映业务需要和不断变化的优先级的预定规则,在多个虚拟机之间分配可用资源。在制造业信息化中,集中IT管理、应用整合、工业控制、虚拟制造等多种应用需求都将以各种服务的形式被封装到了虚拟机中,例如制造任务协同服务、资源管理服务、信息访问服务、WWW服务、工业控制服务、应用系统集成服务、数据管理服务、高效能计算服务、工具集服务等;同时支撑所有应用需求的数据库也被封装到了虚拟机中,例如企业模型数据库、制造资源数据库、产品模型数据库、专业知识数据库、用户信息数据库等。虚拟化特有的优点使它能确保所有虚拟机中的关键业务连续可靠地运行。

  2.2 虚拟化在制造业信息化应用框架中的作用

  结合图1所示虚拟化在制造业信息化中的应用框架,虚拟化在制造业信息化中的应用主要有:

  

  图1 虚拟化在制造业信息化中的应用框架图

  (1)对制造业信息化进行整合

  虚拟化在制造业信息化整合中的作用有:①降低信息系统的创建和运行成本。服务器虚拟化能帮助企业最大限度地利用硬件资源,节约大量的成本和能源。虚拟化技术在很大程度上能解决由于计算机、操作系统、通信协议和接口不一致引起的异构化问题,使系统兼容。②提高信息系统的管理水平和效能。企业的大型数据中心需要承载多个应用程序,通过虚拟化,可以安全隔离不同的应用环境,有效共享资源和高效地满足不同服务质量水平的要求,并改善整体的表现,减少资源的使用成本。③构建新型的办公环境。虚拟化系统能解决企业信息化的瓶颈问题,使机构能够用更少的投入做更多的事情,在IT 开销与业务需求之间达成更好的平衡。④构建安全的企业应用系统。应用虚拟化后,一个企业的所有系统和数据都被整合到了一起,从而几乎消除了在设备层面上数据被盗或数据丢失的风险。⑤改善性能。应用虚拟化技术可以将各种应用系统集中起来,通过网络传送的虚拟界面,让用户快捷远程接入内网系统,即使在业务扩张或合并的情况下,也可以保证在极低的带宽上实现高性能。⑥方便系统的管理和维护。虚拟化系统使得企业的IT人员可以集中部署各种应用,用户及合作伙伴可以在任何时间、从任何位置、使用任何设备以及采用任何连接的方式安全地接入网络访问企业应用和信息。

  (2)在制造业信息控制中的应用

  虚拟化技术已经渗透到社会关键行业核心计算业务中,虚拟化的出现改变了传统的单一计算机架构,虚拟化的高可用性和快速迁移特性有效保证了关键系统的计算机业务连续,有效降低了由计算机故障导致的业务中断,将损失降到最低。通过虚拟化还可以构建可灵活编程模拟的系统,运用电力电子转换器测试各种应用程序,可以解决多种多样的负载条件下高开关频率和错综复杂的相互作用问题。有关研究人员通过建立一个正规的虚拟化整合程序,将控制代理功能和底层系统改造成为一个完全集成的和开放的异构系统。因此,虚拟化应用到制造业信息控制领域当中可以有效保证控制主机的高可用性,降低由于控制主机损坏导致的业务中断。

  (3)在虚拟设计制造中的应用

  虚拟设计制造是对真实产品设计制造的动态模拟,是一种在计算机上进行而不消耗物理资源的模拟设计制造的软件技术。它通过建模和仿真环境,使产品从市场需求获取、研发、设计、生产、工艺计划、调度计划、后勤供应以及财会、采购和管理等一种集成的、综合的制造环境。虚拟化技术的应用领域主要集中在基于虚拟化的分布交互仿真系统。通过虚拟化技术,仿真系统构建时,大量的硬件系统和软件环境的配置与部署工作,将基本简化为相对简单的软件安装,不仅能克服仿真资源动态共享机制缺乏、系统资源难以动态调度的不足,也为仿真资源的查询、使用和管理提供了新的思路,能满足大型化、复杂化对系统动态构建、资源高效透明使用的需求,为解决仿真中现存的难题提供解决方案。未来虚拟化与虚拟设计制造进一步融合所面临的挑战将是虚拟化仿真系统体系结构、虚拟化仿真资源描述方法、虚拟化仿真调度算法、基于虚拟机的仿真容错迁移技术,未来虚拟化技术将在复杂产品的协同仿真、高效能仿真计算、复杂系统实验、虚拟样机等方面发挥更大的作用。

  3 应用存在的不足与未来的研究工作

  当前,虚拟化技术在制造业信息化的应用过程中,主要存在的不足和其未来的研究方向有:

  (1)虚拟化管理自动化研究。当前的虚拟化的管理方法主要侧重于手工管理,由于虚拟计算系统的复杂性,手工的管理方法不能满足对虚拟化应用的需求,自动化的虚拟化管理有助于企业保证他们更有效地使用自己贡献的物理基础设施。相关研究人员已经开始研究使用政策驱动的、自动化的虚拟化管理软件,这有助于改善服务交付,同时进一步降低管理虚拟基础设施的运营成本。自动化的虚拟化管理软件负责编排端对端的服务提供和连续不断的虚拟机管理。在虚拟机的整个生命周期内,它监视、跟踪和强制执行政策。这些政策控制资源消费以及遵守企业内部有关虚拟机建立和管理的标准。这些软件工具管理那些管理程序的功能,帮助编排与其他辅助的虚拟化技术直接的交流,包括与企业现有的管理基础设施集成在一起。这些自动化工具能够识别陷入困境的、不运行的和放弃的资源,帮助自动地恢复和收回这些资源,以便优化利用和进一步降低运营成本和资本开支。

  (2)资源优化利用方法研究。解决虚拟化的迅速蔓延是部署虚拟化技术的企业最为紧迫问题之一,当前存在的不足有:利用虚拟计算系统创建虚拟机的能力配置不必要的过多虚拟机、超标准配置虚拟机(太多的处理器、内存或硬盘),并且这些虚拟机在不再需要它们的时候浪费资源或引起共享资源的虚拟机竞争问题。相关研究人员提出减少、再利用和回收的三原则,以三种方式优化资源利用:①减少:采用合适的政策,不仅可以控制虚拟机建立的方法,而且还可以控制每个虚拟机将使用什么资源,以及可以使用多少资源。为了进行额外的控制,可以建立一些自动执行工作流批准等任务,进一步保证避免配置不必要的虚拟机,或者避免没有正当业务理由地过度配置虚拟机。②再利用:资源可以再利用的程度对整个虚拟基础设施的效率有很大的影响。有许多应用实例是虚拟机仅需要使用很短的一段时间,但是,这些虚拟机在用过之后仍然继续存在。虚拟化管理解决方案能够在这些虚拟机不再需要的时候回收这些资源,从而实现更有效率的资源再利用。③回收:回收不再使用的资源,首先是发现不使用的机器,研究的方向应当由人工回收的过程转向自动回收的工作;其次是从可能不使用的虚拟机中过滤出真正不使用的虚拟机。自动化的虚拟化管理方法不仅能够提供一个例外情况的报告,以帮助找到陷入困境之中的、不使用的和放弃的虚拟机,而且还能自动收回这些资源。

  (3)与网格和云计算相结合的研究。为了充分考虑应用需求的动态性,未来的IT基础架构将以云计算的形式向制造企业提供服务,同时构建的虚拟计算资源是可以动态聚合的。这种建设模式将实现从物理资源形式向虚拟资源形式的转变,为此需要研究管理和优化虚拟资源管理中间件的新方法。相关研究人员分析了基于服务网格的高性能计算机的可用性,在服务网格中应用虚拟化,为应用程序提供了托管环境,提供了访问的联合计算的通用平台网格资源的标准和非标准的方法。有些研究人员已经提出了构建P2P的可信执行环境网格配备与安全VMM节点,在部署虚拟环境中使用的虚拟执行图像保护和验证。点对点网格是一个网格计算和P2P计算自然合并,但当前的P2P网格难以得到商业应用,因为P2P网格的节点未能提供安全可信的执行环境,用户程序和敏感的数据很容易受到损害。虚拟化技术在云计算中的应用将越来越流行,当一个云计算节点配备了虚拟化技术,它可以提供从平台模块(TPM)到底层硬件设备的完整保护,虚拟机监控器下的操作系统将更安全。

  4 结束语

  在分析虚拟化基本含义的基础上,对虚拟化关键技术进行了综述,从虚拟化的方法和虚拟化的管理两个方面对国内外有关虚拟化的关键技术的研究现状和发展趋势进行了分析,接着提出了虚拟化在制造业信息化的应用框架,指出了虚拟化技术在进行集中IT管理、应用整合、工业控制、虚拟制造、加强安全性和减少总体成本等方面的作用,指出了虚拟化技术在制造信息化中的研究不足以及未来的发展趋势主要集中在虚拟化管理自动化研究、资源优化利用方法研究、与网格和云计算相结合的研究等。以这三个问题为基础,实现面向制造业信息化的虚拟计算系统体系结构,以提高制造业的设计制造和管理自动化程度,是虚拟化在制造领域中应用的一个重要方面,也是作者下一步的研究重点。


(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们