首页 > 基础设施 > 正文

基于桌面虚拟化技术的新型IT办公环境

2013-04-16 14:22:17  来源:互联网

摘要:减少IT部门日常工作中桌面及应用系统的维护工作量,减少因日常维护或故障处理给日常工作带来的影响,提高公司内部业务的连续性,这一直是各类企业及IT厂商。
关键词: 桌面虚拟化

    引言


    随着中国改革开放不断深入发展,无论是在外企还是国企,计算机作为现代办公系统中的主要设备得到更为普遍和广泛的应用,并与企业的日常运营紧密地联系在一起了。据统计,在日常工作中桌面系统的支持和维护占据了整个IT部门70%的工作量,如何切实减少这一部分的工作量将有效缓解IT部门的压力,并可以将更多的时间、财力、人力用于为企业整体发展提供更有效的支持。


    现今计算机硬件制造技术飞速发展,以中央处理器,存储器为代表的计算机核心部件在性能和容量上都得到了极大的提升,这使得人们可以用相对低廉的价格购买到性能相对强大的计算机,与此同时,软件业也得到了高速发展,各类软件厂商不断开发出各种功能强大的应用软件。软硬件技术的不断更替发展,相互促进并不断满足了人们对于各类信息的收集和处理需求,与此同时,频繁的更新和升级也增加了企业内部IT的工作负担和风险。


    减少IT部门日常工作中桌面及应用系统的维护工作量,减少因日常维护或故障处理给日常工作带来的影响,提高公司内部业务的连续性,这一直是各类企业及IT厂商,信息咨询公司所希望实现的。21世纪初,虚拟化技术的再次兴起给我们提供一个很好的解决方法。


    1 虚拟化技术的分类及特点


    虚拟化技术(virtualization)并不是一个新的名词,早在上世纪60年代IBM就在其大型机及System360/370等设备上运用了虚拟化技术,实现了多个用户同时使用同一台计算机设备进行数据处理。而现在普遍使用虚拟内存技术,则是对某一个特定部件利用虚拟化技术以实现功能和规模的扩展。近些年来兴起的虚拟化技术,则不仪是对某一个部件实现虚拟化,而是对整个计算机硬件系统进行模拟,通过软硬件技术,真正实现了由一台计算机到多台计算机的转变。


    1.1虚拟化技术定义


    一般意义上讲,计算机虚拟化技术,是指对计算机系统中的各组件利用软件方法和硬件技术进行模拟,以实现多个虚拟的硬件系统平台,这些系统平台彼此相互独立,互不干扰,可以在其之上安装任何的操作系统。计算机科学认为,可以通过添加一个中间层去解决任何计算机系统的问题。因此,为了实现虚拟化,一种控制程序被设计并插入到硬件层和操作系统层之间,这个控制程序,一般称之为超级管理程序(hypervisor)或者虚拟机管理程序(VMM),其作用是将硬件层抽象出来,实现物理虚拟化,使操作系统不需要知道自己运行在何种硬件之上。Hypervisor一般分为二种,一种是直接运行在裸机(bare.metal)之上的,它不需要操作系统的支持,由其直接对硬件实现控制并管理虚拟机,而虚拟机则运行在它的上面一层。典型的产品有VMware的ESX/ESXi,Windows的Hyper-V和Citrix的XenServer这3种。另一种是运行在主机(hosted)之内的,管理程序作为一个独立的模块,而其他的虚拟机则运行在它的上面,其典型的应用程序是Xen3.0。这两种模式的基本架构,如图1所示:

 Hypervisor裸机模式和主机模式架构图

    图1 Hypervisor裸机模式和主机模式架构图


    1.2虚拟化技术的分类及特点


    日前,虚拟化技术主要流行的应用大致可以分平台虚拟化、桌面虚拟化、应用虚拟化。


    1.2.1平台虚拟化(Plmform Virtualization)


    平台虚拟化(Platform virtualization)又称硬件虚拟化(hardware virtualization),主要包括CPU,内存,磁盘和I/O等部件的虚拟化。它是在硬件和传统的操作系统之间插入一个超级管理程序。这时操作系统不再直接运行在计算机硬件之上而是Hypervisor之上,操作系统称为客户机,Hypervisor系统称为主机。客户机可以完全实现用户在传统物理机上的各种应用需求,实现对各种资源的访问和操作,而对于某些特殊的资源及特权指令则仍需陷入(trap)到Hypervisor中由其同一调度执行。其主要实现技术有完全虚拟化(fullvirtualization),部分虚拟化(partial virtualization)和准虚拟化(para.virtualization)。除了以上分类方法,还可以分为硬件辅助虚拟化(hardware.assisted virtualization)。操作系统级虚拟化(operation system.level virtualization)等。


    (1)完全虚拟化(full virtualization)


    完全虚拟化,是对底层的硬件实现完全模拟的技术。用户操作系统无需做任何的改动,就能实现在该虚拟平台上的安装和运行。完全虚拟化使用binary translation和directexecute方法,实现了对X86计算机系统的完全虚拟化。这种方法无需更改任何操作系统的内核代码,也不需要特殊的硬件辅助支持就可以实现,并且可以支持各种不同的操作系统,提供最大程度上通用性、可靠性和安全性。其典型产品有VMware ESX/ESXi。


[page]    (2)准虚拟化(para—virtualization)


    准虚拟化(Para.virtualization virtualization),是通过在硬件层上安装一个含有虚拟化模块的操作系统来实现的,并且需要通过修改虚拟机的操作系统的内核代码以实现虚拟化。在这个方法中,客户机用Hypercall指令替换掉那些不能被虚拟化的指令,从而实现虚拟机有效地访问底层的硬件资源。准虚拟化的方法有效地提高了系统的处理效率,减少系统的开销,然而,由于其需要修改虚拟机操作系统的内核,因此,对于有专利保护的系统就不能很好地提供支持了,准虚拟化的典型产品有Xen 3.0。


    (3)硬件辅助虚拟化(hardware.assisted virtualization)


    硬件辅助虚拟化技术(hardware.assisted virtualization),足利用全新的硬件技术简化了虚拟化实现的复杂性。在2005—2006年间,Intel和AMD先后推出了具有虚拟化功能的新一代CPU,新CPU分别包含了Intel—X和AMD.V这两种新的指令集功能,实现了对虚拟化技术的硬件支持。在这种虚拟化环境中,指令优先级被分为root和non.root两种模式。VMM被放在了Root中,而虚拟机和用户应用程序被放置在non.root中,这样那磐需要运行特权指令的程序调用将自动陷入到VMM所在的root中。通过这种方法就不需要Binary translation和direct execute或是修改系统内核来实现硬件虚拟化了。该项技术有效地减少了虚拟化的复杂性,但是其提供的性能表现目前还不具备与现在流行的虚拟化技术相抗衡的能力。这三种不同虚拟化技术在指令执行结构层次上的区别,如图2所示:

完全虚拟化,准虚拟化和硬件辅助虚拟化执行指令层次结构

    图2完全虚拟化,准虚拟化和硬件辅助虚拟化执行指令层次结构


    1.2.2桌面虚拟化(desktop virtualization)


    桌面虚拟化(desktop virtualization)是相对传统的计算机桌面而言的,它一般有两种模式,用户通过网络访问一台可集中控制的服务器,也可以由服务器将所需要的信息推送给用户所在的设备。


    桌而虚拟化技术可以分为四种模式主机模式(hosted),集中管理模式(centralized),同步模式(remote synehroni.zation),客户机模式(client.hosted)。


    手机模式和集中管理模式较为相似。都需要可靠的网络作为基本支持。这两种模式一般都是由服务器构成桌面虚拟化的数据中心,用户可以通过网络访问虚拟化的服务。而这些服务各自部包括了一个桌面操作系统的配置文件。两者最大的不同在于集中管理模式有两种模式,一是一对一模式,即一个用户使用一个桌面虚拟化镜像,而一对多模式是有一个共有的主镜像,每当一个用户申请使用虚拟化桌面时,都从该镜像复制一个副本,然后使用自己的数据和配置信息一并保存。这两种模式对网络都有高度依赖性。


    在同步模式中,一个镜像文件被复制到本地计算机中,由服务器的管理软件做定期的更新。这种模式可以有效地避免因网络中断而引起的业务中断。在客户机模式中,彻底地使桌面虚拟化摆脱了对网络的依赖。集中式的服务器提供了对于主镜像的存储和管理,而每个客户则保留自己的一个独立桌面虚拟机。这两种模式对于本地的计算机都有较高的要求。


    对于这四种模式,在在实际部署中,一般会较多地考虑集中管理模式和客户机模式。在具体的实际应用部属中,我们还需要根据服务器性能,网络带宽以及实际需求等去确定使用哪一种模式或几种模式。目前,较为流行的桌面虚拟化产品有Citrix XenDesktop,VMware View等。


    1.2.3应用虚拟化(application virtualization)


    从技术实现角度来说,应用虚拟化(application virtua.lization)与之前提到的硬件虚拟化有着非常明显的不同之处,它并不是将底层的硬件通过各种虚拟化技术模拟出一台或多台虚拟机,而是将应用程序进行重新封装,在运行时,将所有的文件和注册表操作重定向到一个特定的文件,从而满足应用程序对底层硬件的访问需要,使应用程序认为是直接对硬件进行的操作。其具体的实现方式一般有两种方式,一是应用程序流(application streaming),它是一种基于软件分发形式的实现方法,根据现代应用程序顺序执行的特点将应用程序封装和存储在一台应用程序流服务器上,在执行时由服务器推送到客户端,从而实现程序的各种操作。第二种方式就是之前提到的桌面虚拟化方式,应用程序安装在虚拟机里,通过连接虚拟机束实现应用程序的虚拟化。无论何种技术方式应用虚拟化都实现了更好的兼弹性和可移植性。成用程序虚拟化产品有Citrix XenApp,VMware ThinApp等。


    虚拟化的这三种技术已经越来越多的被企业引入到实际生产和运作之中,并且在数据中心,桌面管理以及关键业务中产生了巨大的影响和效益。


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:fanwei

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。