任延吾
摘 要 计算机虚拟化作为一种可以对物理资源实现优化分配的技术,因具有能有效节约成本、提高工作效率和增强系统安全性的特点而受到人们的青睐。其中虚拟机技术和操作系统虚拟化技术往往被认为是指同一种技术,而实际上两种技术并不能混为一谈。本文从两种虚拟化技术的起源开始,深入分析它们的工作原理和特点。
【关键词】计算机 操作系统虚拟化 虚拟机 技术分析
1 虚拟机技术分析
1.1 虚拟机技术的起源
当今时代是智能化、数字化时代,虚拟化技术得到迅猛发展、推广,特别是在x86服务器上的应用引发了该技术的热潮,但是仅限于在大型主机上使用。从根源而言,可追溯至上世纪60-70年代,IBM公司研发了一种操作系统虚拟分区技术,允许用户在特定的主机上进行多系统操作,以便实现大型机资源的充分利用,同时也能降低使用成本。随后与虚拟机技术相关的新产品(例如IBM360/40,VM/370等)不断涌现,均具有虚拟机功能,可通过使用虚拟机监控器技术生成多种可独立运行的系统操作软件,实现虚拟功能的延伸使用。
1.2 虚拟机技术的发展
新世纪以来,IBM公司对虚拟机技术的研究步入了更深的层次,在不断的实踐中,AIX5L v5.2问世,首先包括了IBM实现的动态逻辑分区。在动态逻辑分区中,能够允许机器在无需重启系统的情况下实现处理器、内存等各种组件在内的系统资源实时同步分配,在一定程度上提高了智能化,降低了系统管理难度,同时也因为资源使用效率不断提高而促使管理成本下降。然而这种虚拟化技术只能应用在大型机和小型机中,但是由于大型机和小型机普及程度较低,再加之不同型号产品与技术之间存在明显的兼容问题,导致该技术仍然得不到大众关注重视。现如今,虚拟化技术在x86服务器架构中得到推广应用,可以为技术的普及提供更为便宜、高性能以及稳定性高的服务器,首次向人们展示了该技术的广阔前景。此外一些用户已经将该技术投入使用于生产领域,通过虚拟化技术配置虚拟化的生产环境,这个过程中需要进行管理工具更新,因此为虚拟化技术的发展改进提供了必要的外部环境。
1.3 虚拟机技术的概念
虚拟机技术是虚拟化技术的一种,所谓虚拟化技术就是将事物从一种形式转变成另一种形式,具体而言即是在一个宿主计算机体系结构上进行客户机各种操作系统模拟运行,对宿主计算机、客户机体系结构无明确要求,例如可以在一个x86计算机上运行基于ARM体系结构的不需要做任何修改的系统。从这个角度来为虚拟机下定义,可知虚拟机主要是指虚拟技术运行的媒介,即通过软件模拟的具有完整硬件系统功能的、在一个完全隔离环境中运行的一个完整的计算机系统。
1.4 虚拟机技术的原理
虚拟化技术可应用的领域十分广泛,但是在不同的领域中应用原理存在着明显差异。具体而言,虚拟化技术主要是通过拆分、整合、迁移这三项内容得以实现。虚拟机技术的应用多采用拆分原理,当某台计算机性能较高但是工作负荷与其不相匹配时,容易造成资源的浪费,使用拆分虚拟技术即可将该计算机拆分为逻辑上的多台,实现了多名用户共同使用,在此情况下该计算机硬件资源利用程度将会明显提高。如图1所示。
1.5 虚拟机技术分类
1.5.1 虚拟硬件模式
该技术模式最为传统、常见,具有明显的特征:不同类型、型号的产品只要使用虚拟硬件模式,都能采用系统处理器获取执行CPU命令,无需涉及虚拟层;其次该技术能够真正将分区隔离落到实处(包括磁盘I/O、网络带宽),保证各部分系统资源能够各自运转,不互相干扰,保证了系统运行的整体性、安全性;再者如果使用高端的虚拟服务器产品无需使用宿主计算机操作系统,用户可直接在硬件上进行虚拟机,方便可行;另外通过管理软件,可减少对系统资源的管理成本,对于虚拟机小号的物理资源也能实现精确控制。
1.5.2 虚拟操作系统模式
虚拟操作系统模式即是在主机操作系统(利用虚拟机运行)创设了虚拟层,在这个层面中可根据自身的需要创建多个差异化的虚拟专用服务器(VPS),能够促使硬件、软件以及管理资源最大程度得以享用。另外该模式能够适应多种产品的使用需求,不同服务期之间均实现了安全隔离,相互不受干扰,可实现计算机资源的灵活控制、硬件抽象操作、强化管理功能等。
1.5.3 Xen
Xen是一种虚拟硬件虚拟机,相对其它技术模式而言,该技术模式特殊性强,是当前最受关注的虚拟化技术,能够实现系统管理程序的调整,可根据实际操控的需要选择性进行修改,且不会干扰系统中运行的应用程序。另外Xen具有虚拟硬件虚拟机的多数特性,但是也有明显的差异,即使用过程中需要修改操作系统内核。
1.6 虚拟机技术特点
虚拟机技术是将一个物理计算机划分为一个或多个完全孤立的虚拟机技术,这些虚拟机并非运行在物理硬件之上,而是运行在通过虚拟化软件来生成一个虚拟的物理硬件层之上。实际上对于操作系统来说就是运行在其之上的应用程序。但是虚拟机使用中会共享计算机的物理硬件,且具有明显的优势:资源共享和隔离。在虚拟机的状态下,各种资源可以根据需要分配,甚至可以不用重启虚拟机即可分配硬件资源;虚拟机环境能够实现隔离,即能够根据自身使用的需求在物理计算机上运行几个不同的操作系统,它们之间独立运行,但各自互不干扰。可以是同一种操作系统,也可以是不同的操作系统。这也是虚拟机技术和操作系统虚拟化技术的最大区别。
2 操作系统虚拟化技术分析
2.1 操作系统虚拟化技术的定义
操作系统虚拟化是虚拟化技术的第三种实现方式,SWsoft的Virutozzo和Sun的Solaris Container是这种技术的两种实现。例如VMware就是虚拟PC的一个代表企业,其产品能够使用户在一台机器上同时运行2个或更多Windows、DOS、LINUX系统,与“多启动”系统相比,VMWare采用了完全不同的概念,每个操作系统都可进行虚拟分区、配置且能够不影响真实硬盘的数据,用户甚至可以通过网卡将几台虚拟机连接为一个局域网,极其方便。从上述分析可知,操作系统虚拟化技术即是指基于共享的操作系统,能够允许多种不同的应用系统在一份操作系统拷贝的控制下实现独立运行。该技术达到的效果与虚拟机技术类似,通过分区实现不同资源的合理利用,当前在服务器整合、测试研发等场景中得到推广,实现了操作系统资源访问虚拟化。
2.2 操作系统虚拟化技术的原理
操作系统虚拟化技术也属于虚拟化技术,因此其原理也是属于三大原理——拆分、整合、迁移之中。操作系统虚拟化技术与虚拟机操作系统类似,同样是使用了拆分原理,但由于操作系统虚拟化技术的应用范围是在服务器上,是为云服务的。因此其同样也使用了迁移的原理:即将某台服务器中闲置的资源动态添加至另一台服务器中,便于另一方服务器性能的提高,或通过网络连接实现资源的远程共享。例如Windows下的共享目录,Linux下的NFS等,还包括远程桌面等。实现操作系统虚拟化的方法就是在操作系统层面增添虚拟服务器功能。针对操作系统层而言,其并没有相对独立的hypervisor层,主要负责多种虚拟服务器硬件资源的合理分配,同时能够保证不同服务器之间彼此相互独立。但明显存在差异的是,如果使用操作系统虚拟化技术需要所有正在运行的服务器必须采用同一操作系统。
2.3 操作系统虚拟化技术的特点
与虚拟机技术明显存在差异,即主要是指在宿主操作系统内核实例的基础上实现虚拟化。虚拟机技术可实现多种操作系统(例如hypervisor、VMM等)并行虚拟化,但是需要在虚拟的硬件层中根据需要安装Guest操作系统,然后应用程序才能得以运行。另外研究也可发现,两种虚拟化技术操作系统实例数量明显存在差异,以致造成了操作系统虚拟化技术存在明显的优劣势,使用中只能实现同一种操作系统的划分、衍生,与异种操作系统无法并行于一个服务器;另外虚拟环境与安全操作系统无法完全等同,造成了某些需要直接访问硬件层的应用系统无法在该种虚拟化技术中得到运行。
2.4 操作系统虚拟化的优劣
由于只有一个操作系统内核,且无需通过虚拟机和Guest操作系统实现虚拟操作,可有效减少管理资源消耗,因此操作系统虚拟化技术运行效率、运行性能、理论最大密度优势明显更为优化,在减少操作系统实例数量的同时也能保证在安装部署、效率管理、数据备份迁移等方面的优势。
但是操作系統虚拟化技术也存在一定的不足,在当前虚拟化技术应用中要想全面取代虚拟机技术仍然存在难度。例如在用户需要在一个相对完整的虚拟环境中进行研发或者整合多种不同操作系统时,操作系统虚拟化技术是不符合要求的。另外虚拟机技术虽然运行效率、运行性能等方面不强,但是在灵活性方面,操作系统虚拟化技术却无法与其媲美。再者当前企业在引入虚拟化技术的过程时,均需要进行全方位、多角度的测试,着重于为企业内部多种应用找到最为合适的虚拟化部署方案,由于两种技术更有其优势,从这个角度而言,两种虚拟化技术的并存存在必然性。在此种技术应用的环境下,为了满足未来物理+虚拟机+操作系统虚拟化的实际IT基础设施应用需求,管理工具更新和改变势在必行。
虽然操作系统层虚拟化的灵活性比较差,但本机速度性能比较高。此外,操作系统虚拟化技术具备虚拟机技术所不具备的特点就是其强大的迁移性,这种迁移性在云服务器上使用十分广泛。这种技术可以让操作系统在不同的服务器之间任意迁移,因为其服务器架构相同,操作系统也相同,迁移到其他服务器时不会出现问题。由于操作中所有服务器上操作系统单一、标准,管理难度以及耗费的成本相对较低。
3 虚拟化的实施步骤
虚拟化技术在数据中心管理中具有明显的特征优势:
(1)能够最大程度提高了资源的利用效率,降低了不同操作系统的运行成本;
(2)整合资源、安排部署、业务管理方便快捷。
正因如此,如何实现虚拟化技术在数据中心管理中的推广应用以及改良实施过程中的关键环节成为技术人员共同关注的重点问题。简单而言,虚拟化技术实施主要从3个方面来进行:
3.1 创建阶段
由服务提供商、集成商合作完成该阶段,包括创建、发布、管理虚拟器件镜像以及迁移到虚拟化环境几个部分的内容。
3.2 部署阶段
提供商、集成商完成技术创建工作后,需要采用划部署环境、部署以及激活虚拟器件等步骤将技术引用部署至数据中心,方便于用户获取信息以及使用。
3.3 管理阶段
数据中心管理过程中需要资源合理调度、业务相关的智能操作系统,不均要实现独立业务之间的自动化管理,也需要一个把控全局的协调中心节点实现数据中心业务、资源的监控、管理。该阶段关键工作在于为数据中心管理和监控创设便利条件,最为常见的手段为集中监控、快捷管理、动态优化和高效备份。
4 小结
无论是操作系统虚拟化技术还是虚拟机技术,均具有虚拟化技术的共性,都需要在一台计算机上创建并运行操作系统。但是虚拟机可以创建不同操作系统,操作系统虚拟化只能够创建同一种操作系统。在实现方式上虚拟机是通过创建多个虚拟的硬件层,再在上安装多个Guest操作系统,然后实现应用程序再运行。然而操作系统虚拟化是在单一操作系统内核实例的基础上实现虚拟化,是没有虚拟机和Guess操作系统的。在运行效率上操作系统虚拟化技术是要强于虚拟机技术的,在迁移和管理上也要比虚拟机简单,但是虚拟机在灵活性上要更好一些。两种技术各有优劣,都是重要的计算机虚拟技术。
参考文献
[1]严纪珊.浅谈虚拟化技术及服务器虚拟化[J].科技致富向导,2013(26):163-163.
[2]马秀芳,李红岩.计算机虚拟化技术浅析[J].电脑知识与技术,2010,06(33):9408-9409.