厂商主要三个:VMware,Citrix,MS,三个厂商对应的较成熟产品是VMware ESXi,Xenserver,Hyper-V,都是裸机虚拟化
个人家用使用:
VMware Workstation(Windows)/Fusion(Mac)、Oracle VM VirtualBox、QEMU(Linux)
企业商用使用:
VMware vSphere系列、Citrix Xen Server、Microsoft Hyper-V、KVM、华为Fusion Sphere;
(1)公有云平台:亚马逊AWS,阿里云,腾讯云,华为云,QingCloud;
(2) 混合云平台:ZStack,BeyondCMP,CAS虚拟化平台等;
(3) 私有云平台:VisionStack杭州云容,ESCloud易捷云,Ucloud,AWCloud,ZStack等。
虚拟化、云化、超融合等,都有不可绕过的问题,就是虚拟机或者服务器对USB设备的不支持,
针对这一问题,推荐是EastFax USB Server网络远程连接调用USB方案。
VMware
微软:Hyper-V
思杰:XEN(开源)
Rethat:KVM(开源)
国内厂商还有曙光,联想,华为,云宏,华三等。
虚拟化的应用
1、Openfiler NAS和SAN
2、Opsview监测工具
3、Cacti网络绘图工具
4、M0n0wall防火墙
5、AS Communication Gateway
6、WebGUI CMS
7、BitNami WordPress
8、FOG计算机克隆工具
9、云桌面技术
服务器虚拟化是指将一台计算机(称为物理机、物理服务器)通过hypervisor虚拟为多台逻辑计算机的技术,这些逻辑计算机又被称为虚拟机(VM,Virtual Machine),每台虚拟机都拥有独立的“硬件”。虽然你可以在虚拟机的 *** 作系统中看到这些“硬件”,不过它们并不是真实存在的,而是通过hypervisor将物理机的硬件虚拟而来。虚拟机运行时,虚拟机硬件的工作实际是由物理机的硬件完成的。
hypervisor又被称为虚拟机监视器(VMM,Virtual Machine Monitor),是实现物理机虚拟为虚拟机的 *** 作系统或者软件,它为虚拟机提供虚拟的硬件资源,负责管理和分配这些资源,并确保上层虚拟机之间的相互隔离。hypervisor有两种类型:一种是 *** 作系统,直接安装在物理机上;另一种是应用程序,需要先在物理机上安装 *** 作系统,再在 *** 作系统中安装hypervisor。
摘 要:随着计算机技术的发展,服务器虚拟化技术已经被越来越多的企业所采用,使用这种技术可以大大提高服务器的使用效率。文章中主要介绍了两种虚拟化软件Vmware和Xen的结构特点,并分析了它们之间的区别。关键词:服务器虚拟化 Vmware Xen
虚拟化将主宰未来的企业,在现在的国内,企业数据中心都是根据需求随时添加服务器设备,这些设备基本上都是分散的,不同品牌、不同配置甚至不同架构,最致命的是,在其上运行的应用并不能够充分利用服务器所有的资源,占用到15%―20%的服务器资源是一个普遍现象,而使用虚拟化技术可以减少服务器数量的增加,简化服务器管理,同时明显提高服务器利用率、网络灵活性和可靠性。将多种应用整合到少量企业级服务器上即可实现这一目标。通过整合及虚拟化,数百台服务器可以减少至数十台。10%甚至更低的服务器利用率将提高到60%或更高,IT基础设施的灵活性、可靠性和效率也将得到改进。由此可见虚拟化技术成为各个企业和研究机构的重要课题。下面简单介绍一下两种虚拟化软件及其区别。
一、VMware
VMware是业界著名的虚拟机产品,它有VMware Workstation、VMware GSX Server、VMware ESX Server等系列产品。VMware的VMM可以有两种结构形式,即Standalone和Hosted。Standalone的结构形式是指,VMM作为一层直接运行在硬件平台上的软件层,在它上面可以创建和管理多个客户虚拟系统。这种结构的VMM有点像一个 *** 作系统,它包含硬件平台的驱动,受到硬件平台种类的限制。它适合于服务器的应用环境,其典型的产品是VMware ESX Server。
Hosted结构的VMM作为 *** 作系统的一个应用程序运行,它可以利用 *** 作系统自身的内存管理、CPU调动、硬件驱动和资源管理。VMware Workstation使用的是Hosted的结构,是设计来让一些应用程序,比方软件的研发或测试程序来执行,同时Server版本的目标则针对数据库以测试软件更新、简化应用程序的提供,或使用虚拟的设备等功能。ESX Server可以藉由不使用 *** 作系统来大量增加效能。相反的,ESX使用自己设计的 *** 作系统核心,可以直接在计算机上执行。这个方法可以同时支持更多的虚拟服务器,但ESX核心支持的硬件并不多。
由于VMware的目标平台是x86平台,因此,它也同样面临着x86平台不完全支持虚拟化的问题。VMware的解决方法是其专利技术,在需要VMM参与的地方,动态重写部分虚拟系统的指令,使其可以trap到VMM。
此外,VMware还有Virtual Center。VMotion应用在IBM Blade Center刀片服务器上,使之具备更好的d性和可用性,结合刀片服务器的模块化和可扩展性,可以增加内存和I/O能力的扩展比例,混合刀片间的工作负载均衡。Virtual Center采用集中式管理,可以监控系统的可用性及性能,并可以自动告警,SDK与现有管理工具整合,通过稳定的访问控制保证系统安全。VMotion技术使用户在保持连续的服务可用性的同时,还可以将实时运行企业用户关键业务的虚拟机,从一台物理主机转移到另一台物理主机,并动态获得每台物理服务器资源的极佳利用率、零宕机维护、快速重新配置,以及持续的工作负载整合能力。
二、Xen
Xen VMM(Virtual Machine Monitor)是由剑桥大学计算机实验室开发的一个开源项目,它能够让我们创建更多的虚拟机,每一个虚拟机都是运行在同一个 *** 作系统上的实例。
这些客户OS可以是修补过的Linux内核24或26,也可以是修补过的NetBSD/FreeBSD内核。用户应用程序就运行在这些客户OS上,并不需要修改任何代码。但是,随着将来的处理器能支持虚拟化,内核也就不需要打补丁了。比如说,Intel的VT和AMD的Pacifica处理器都将包括这种支持。
在Xen中,一个“系统管理程序”运行在0环,客户OS运行在1环,应用程序运行在3环。这种关系对于x64/64有一点不同,就是客户内核和应用程序都运行在3环上。
Xen自身被称为“系统管理程序”,是因为它比客户OS的系统管理代码运行所需的特权级还高。
当系统引导的时候,Xen被装载到0环的内存中。它在1环上启动修补过的内核,这被称作是domain 0(注:domain是指一个运行中的虚拟机,在其上有一个guest OS在执行)。从这个domain开始,你可以创建更多的domain,也可以销毁它们,还可以进行domain的迁移、设置参数等等。你创建的那些domain也运行在1环它们的内核中。用户应用程序运行在3环。
目前,修补过的Linux内核24和26可以作为domain 0。据Xen开发者所说,将来domain 0仅支持26的内核补丁。构造domain 0的大部分工作是在xen/arch/x86/domain_buildc中的construct_dom0()方法中实现的。
物理设备驱动程序只能运行在特权级,也就是domain 0上。Xen依靠Linux或其它修补过的OS内核对它所有的设备提供虚拟化支持。这样的好处就是Xen的开发者不必再去开发设备驱动程序。
在一个有标签TLB的处理器上使用Xen能够大大提高性能。标签TLB能够把ASID(Address Space Identifier)放在TLB入口处。有了这个特性,当处理器在系统管理程序和客户OS之间切换时就不需要刷新TLB了,这大大减少了系统开销。
三、两者主要区别
目前Xen和VMware是市场上主流的两大虚拟化产品。现在我就来谈谈这两大产品背后的架构有什么区别,以及这一技术在未来会如何发展。VMware ESX服务器的架构是建立在直接执行(直接在硬件上上运行用户级的虚拟机编码)和二进制译码(对特权级别编码进行动态编译)的基础上的。从根本上说,它把一个完整的X86平台导出到虚拟机上,ESX服务器可以使大多数能在X86上执行的 *** 作系统都能在虚拟机上运行,而不需要进行任何修改。Xen的架构中使用了一种叫Para虚拟化技术(Para Virtualization),对虚拟出来的客户 *** 作系统(Guest OS)进行修改,使它知道它是在虚拟环境下运行。
那么这两种方式有什么不同呢?最大的不同就是对输入/输出(I/O)设备的处理。虚拟机I/O端口和每个物理I/O端口设备之间如何路由在很大程度上影响虚拟平台架构的性能、便携性、可持续性和稳定性。Xen采用的是分离驱动模式,真实驱动存在于一个中间层,这个中间层叫服务虚拟机,其他虚拟机上的特殊驱动通过这个服务虚拟机进行通讯。这种方法能提供很好的性能,但是对于闭源和传统 *** 作系统支持有限。在ESX中,虚拟机的虚拟设备驱动与ESX内核里的物理设备驱动直接相互连接。ESX虚拟机可以为其虚拟设备使用现成的(off-the-shelf)驱动。这不仅能提供高性能,还能提供更广泛的 *** 作系统支持。然而在这个模型里,新的设备驱动必须要导入到ESX内核中。为了解决I/O虚拟化的平衡问题和复杂化问题,戴尔与英特尔、AMD这样的合作伙伴以及外设硬件供应商们一起,在芯片组和I/O设备中引入了虚拟化支持。企业级虚拟化解决方案的另外一个重要部分就是其管理。戴尔OpenManage这样的产品附送VMware Virtual Center、P2V 和VM Importer,提供了整套工具,能有效进行部署、监控、 *** 作自动化,以及对虚拟IT数据中心进行管理。Novell和Red Hat都在它们的 *** 作系统中整合了对Xen平台的管理,方法是运用像YaST和Anaconda这样的安装和配置工具以及Virtual Machine Manager这样的管理工具。
四、虚拟化技术的未来
资讯科技及通讯业研究权威Gartner估计,由现在至2010年间,虚拟化将会是资讯基建及营运领域中最重要的技术,并会彻底改变资讯科技部门管理、采购、部署、规划,以及其所提供服务的收费模式。虚拟化目前不再只着重技术,而是更加着重企业内的流程改变及文化变迁。虚拟化可让服务以另一种模式提供。每个经虚拟化的层面都可作独立的管理,或甚至由他人所掌管,例子包括串流式应用或员工所拥有的个人计算机一样。这一切均要求企业文化作出重大改变。
参考文献:
[1]郭庭廷,吴玮揭开虚拟化神秘面纱[J]机械工业信息与网络,2007,(03)
[2]成凯透视虚拟化技术[J]软件世界,2007,(11)
[3]伍班权虚拟化技术及其发展[J]办公自动化,2007,(12)
[4]杨晓伟基于Xen的X86虚拟机性能调优[J]计算机工程,2006,(24)
[5]刘志平基于VMware虚拟网络的构建[J]内蒙古大学学报(自然科学版),2007,(01)
[6]赵祖荫基于VMware软件的虚拟计算机的构建方法[J]微型电脑应用,2004,(06)计算机虚拟化技术当前主要包括服务器虚拟化、应用虚拟化、桌面虚拟化。目前网络虚拟化,显卡虚拟化(也称GPU虚拟化)等技术都在快速发展,在不久的将来,当前物理的PC设备将都支持虚拟化技术,实现IAAS(infrastructure as a service),实现真正意义的云计算。
从系统的观点看,有三种主要的存储虚拟化方法:
基于主机的虚拟存储;
基于存储设备的虚拟存储;
基于网络的虚拟存储。
方法1:基于主机的虚拟存储
基于主机的虚拟存储依赖于代理或管理软件,它们安装在一个或多个主机上,实现存储虚拟化的控制和管理。由于控制软件是运行在主机上,这就会占用主机的处理时间。因此,这种方法的可扩充性较差,实际运行的性能不是很好。基于主机的方法也有可能影响到系统的稳定性和安全性,因为有可能导致不经意间越权访问到受保护的数据。这种方法要求在主机上安装适当的控制软件,因此一个主机的故障可能影响整个SAN系统中数据的完整性。软件控制的存储虚拟化还可能由于不同存储厂商软硬件的差异而带来不必要的互 *** 作性开销,所以这种方法的灵活性也比较差。
但是,因为不需要任何附加硬件,基于主机的虚拟化方法最容易实现,其设备成本最低。使用这种方法的供应商趋向于成为存储管理领域的软件厂商,而且目前已经有成熟的软件产品。这些软件可以提供便于使用的图形接口,方便地用于SAN的管理和虚拟化,在主机和小型SAN结构中有着良好的负载平衡机制。从这个意义上看,基于主机的存储虚拟化是一种性价比不错的方法。
方法2:基于存储设备的虚拟化
基于存储设备的存储虚拟化方法依赖于提供相关功能的存储模块。如果没有第三方的虚拟软件,基于存储的虚拟化经常只能提供一种不完全的存储虚拟化解决方案。对于包含多厂商存储设备的SAN存储系统,这种方法的运行效果并不是很好。依赖于存储供应商的功能模块将会在系统中排斥JBODS(Just a Bunch of Disks,简单的硬盘组)和简单存储设备的使用,因为这些设备并没有提供存储虚拟化的功能。当然,利用这种方法意味着最终将锁定某一家单独的存储供应商。
基于存储的虚拟化方法也有一些优势:在存储系统中这种方法较容易实现,容易和某个特定存储供应商的设备相协调,所以更容易管理,同时它对用户或管理人员都是透明的。但是,我们必须注意到,因为缺乏足够的软件进行支持,这就使得解决方案更难以客户化(customzing)和监控。
方法3:基于网络的虚拟存储
基于网络的虚拟化方法是在网络设备之间实现存储虚拟化功能,具体有下面几种方式:
1 基于互联设备的虚拟化
基于互联设备的方法如果是对称的,那么控制信息和数据走在同一条通道上;如果是不对称的,控制信息和数据走在不同的路径上。在对称的方式下,互联设备可能成为瓶颈,但是多重设备管理和负载平衡机制可以减缓瓶颈的矛盾。同时,多重设备管理环境中,当一个设备发生故障时,也比较容易支持服务器实现故障接替。但是,这将产生多个SAN孤岛,因为一个设备仅控制与它所连接的存储系统。非对称式虚拟存储比对称式更具有可扩展性,因为数据和控制信息的路径是分离的。
基于互联设备的虚拟化方法能够在专用服务器上运行,使用标准 *** 作系统,例如Windows、Sun Solaris、Linux或供应商提供的 *** 作系统。这种方法运行在标准 *** 作系统中,具有基于主机方法的诸多优势--易使用、设备便宜。许多基于设备的虚拟化提供商也提供附加的功能模块来改善系统的整体性能,能够获得比标准 *** 作系统更好的性能和更完善的功能,但需要更高的硬件成本。
但是,基于设备的方法也继承了基于主机虚拟化方法的一些缺陷,因为它仍然需要一个运行在主机上的代理软件或基于主机的适配器,任何主机的故障或不适当的主机配置都可能导致访问到不被保护的数据。同时,在异构 *** 作系统间的互 *** 作性仍然是一个问题。
3 基于路由器的虚拟化
基于路由器的方法是在路由器固件上实现存储虚拟化功能。供应商通常也提供运行在主机上的附加软件来进一步增强存储管理能力。在此方法中,路由器被放置于每个主机到存储网络的数据通道中,用来截取网络中任何一个从主机到存储系统的命令。由于路由器潜在地为每一台主机服务,大多数控制模块存在于路由器的固件中,相对于基于主机和大多数基于互联设备的方法,这种方法的性能更好、效果更佳。由于不依赖于在每个主机上运行的代理服务器,这种方法比基于主机或基于设备的方法具有更好的安全性。当连接主机到存储网络的路由器出现故障时,仍然可能导致主机上的数据不能被访问。但是只有联结于故障路由器的主机才会受到影响,其他主机仍然可以通过其他路由器访问存储系统。路由器的冗余可以支持动态多路径,这也为上述故障问题提供了一个解决方法。由于路由器经常作为协议转换的桥梁,基于路由器的方法也可以在异构 *** 作系统和多供应商存储环境之间提供互 *** 作性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)