vmware服务器虚拟化 服务器虚拟化技术

vmware服务器虚拟化 服务器虚拟化技术,第1张

摘 要:随着计算机技术的发展,服务器虚拟化技术已经被越来越多的企业所采用,使用这种技术可以大大提高服务器的使用效率。文章中主要介绍了两种虚拟化软件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)

虚拟化确实很有意义,当然,虚拟化也不是十全十美地,许多问题和要"虚拟化"客户OS以及在系统上运转地应用软件有关。在开始前,确保详细阅读过软件发布说明以及相关文件,看看你地服务器是否有特殊地要求。记住,大多数问题是能够解决地,但要睁大眼睛。
一、迁移
大多数虚拟化软件包都包括物理一虚拟地迁移工具。这些工具能够在硬盘上做一台物理服务器地镜像(需要作出必要地调整)。这样新地服务器就能够在虚拟镜像上运转。
在虚拟化时能够很好地测量备份防护,这是由于虚拟化镜像能够用于恢复任何死机地服务器。
二、授权问题
授权也许成为虚拟化地一个问题。在前面提供地案例中,谈到了1台机器上运转16台服务器。假如需要高额授权费,那也许你就不想这样做了。假如有一台有着巨额授权费地服务器那就最好还让它在原来地机器上运转,很也许这台计算机承担了关键地任务,你并不想让其计算功能受到影响。
当然,这不意味着问题得不到解决。假如采用地是开源软件——例如Apache Web Server,这就不存在授权问题,但其他地服务器,例如Windows则需要授权费,你也许需要为另一台上地数个虚拟服务器付费,或者需要为连接到服务器上地用户人数付费。
当在计算虚拟化策略时所需地设备成本,要确保考虑到授权费用。

您好,感谢您选择惠普产品。
很抱歉,百度知道企业平台暂时没有HP服务器产品相应的技术支持。关于服务器产品问题,建议您可以直接拨打支持热线800-810-2058(不支持手机拨打,请使用固话或小灵通拨打)或400-610-2058(可手机拨打)进行咨询。
希望以上回复能够对您有所帮助。

导语:服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。那么,我们可以怎么选择好的服务器

怎么选择好的服务器

你需要从不同的角度来决定选择一台什么样的服务器,找到满足技术需要、业务发展和成本控制之间的最佳平衡点,为了做到这一点,绝对还是需要一点智慧。51IDC将在下面为大家介绍一些易于理解,尽可能全面的建议,并帮助你做出决定。

先不要急于决定需要怎样的CPU,几个硬盘,几个G内存,需要多少兆带宽这样的问题,那些是我们最后需要得到的答案。在这之前,先一起梳理几个问题。在下面,我们列出了一些“多少”或“什么样”的问题,拿起你的笔或在Windows记事本里新建一个文件,尝试根据下面四个问题来评估自己的需求:

1服务器运行什么应用

2需要支持多少用户访问

3需要多大空间来存储数据

4我的业务有多重要

1:服务器运行什么应用这是首先需要考虑的问题,在这里你要根据服务器的应用类型,也就是用途,来决定服务器的性能、容量和可靠性需求。我们按照前端服务器+应用程序服务器+数据服务器的常见基础架构来讨论:

11Web前端:正常情况下,我们认为大多数Web前端服务器(Front-end)对服务器的要求不大,例如静态Web服务器、动态Web服务器、服务器等等,因为在现有的技术框架中,我们有很多方案可以解决前端服务器的性能扩展和可靠性问题,例如LVS、Nginx反向代理、硬件负载均衡(F5,A10,Radware)等。甚至在很多访问量不高(几百个用户同时在线)的应用中,51IDC的经典酷睿服务器就可以满足需求。

12应用服务器:由于承担了计算和功能实现,我们需要为基于Web架构的应用程序服务器(Application Server)选择足够快的服务器,另外应用程序服务器可能需要用大量的内存,尤其是基于Windows基础架构的Ruby,Python,Java服务器。这一类服务器至少需要使用单路至强的配置。对于可靠性的问题,如果你的架构中只有一台应用服务器,那肯定需要这台服务器足够可靠,RAID绝对是不能忽视的选项。但如果有两台或更多的应用服务器,并设计了负载均衡机制,具有冗余功能,那我们则不必将每台服务器武装到底。

13特殊的应用:除了作为Web架构中的应用程序服务器之外,如果你的服务器是用来处理流媒体视频编码、服务器虚拟化、媒体服务器(Asterisk之类),或者作为游戏服务器(逻辑、地图、聊天)运行,则同样对CPU和内存需求比较高,我们至少要考虑单路至强的服务器。其中服务器虚拟化对存储的可靠性的要求都非常高,因为一个篮子里有十几个鸡蛋,篮子一定要足够牢靠才是。

14公共服务:我们指的是邮件服务器、文件服务器、DNS服务器、域控服务器这类服务器。通常情况我们会部署两台DNS服务器作为互相备份,域控主服务器也会拥有一台备份服务器(专用的或非专用的),所以对于可靠性,无需达到苛刻的地步。至于邮件服务器,至少需要具备足够的硬件可靠性和容量大小,这主要是为了对邮件数据负责,因为很多用户没有保存和归档邮件数据的习惯,当他们重装系统后,总会依赖重新下载服务器上的数据。至于性能问题,我们认为需要评估用户数量才能决定。

15数据库:我们最后讨论的应用,也是要求最高,最重要的服务器。无论你使用的是MySQL、SQLServer还是Oralce,一般情况下,我们认为它需要足够快的CPU,足够大的内存,足够稳定可靠的硬件。单路至强CPU/4GB内存/Raid1绝对是入门配置。关于准确的配置我们需要再讨论业务需求后才能作决定。

2:服务器需要支持多少用户访问服务器肯定是为了提供某种服务,而使用这些服务的用户同样是我们必须考虑的因素,有几个具体的问题你需要做出评估:有多少注册用户正常情况下有多少用户会同时在线访问每天同时在线访问的最高峰值大概是多少这些问题,对我们决定采用什么样的CPU,多大的内存有着至关重要的影响。51IDC建议你的技术人员和业务部门坐在一起来讨论这几个问题,最后甚至需要按照特定的技术模型和算法,将这些数字转化为一些更具体的技术数字,例如并发多少个连接(很多时候,用户数与连接数不是一个概念)。同时,你还要对未来的用户增长做一个尽可能准确的预测和规划,你的服务器需要支持越来越多的用户。

3:需要多大空间来存储数据我们需要从两个角度来计算这个问题,一个角度是有哪些类别的数据,包括: *** 作系统本身占用的空间、安装应用程序所需要的空间、应用程序所产生的数据、数据库、日志文件、邮件数据等等,如果是Web20类的网站,你还要计算每个用户的存储空间;另一个角度是从时间轴来考虑,这些数据每天都在增长,你至少要为未来1年(我们建议2~3年)的数据增长做个准确的测算,这可能仍然需要你的软件开发人员和业务人员一起提供足够的信息。最后你仍然需要为计算出来的数字结果乘15左右的系数,方便维护的时候做各种数据备份和文件转移 *** 作。

4我的业务有多重要:你需要根据自身的业务领域,来遵循一些要求,我们在下面举几个简单的例子,帮助你理解这些服务器对可靠性、数据完整性等方面的要求:

41如果你的服务器用来运行一个WordPress博客,与朋友们分享观点。那么我相信,一台酷睿服务器,1G内存外加一块160GB的硬盘就足够了。就算服务器出现了一点硬件故障,导致几个小时甚至一两天不能提供访问,生活会照常继续,天也不会塌下来。

42如果你的服务器用来作为测试平台,那么就不会如生产环境那样,对可靠性有极高的要求,你所需要的可能只是做好例行的数据备份,服务器宕机后,能有个人在今天把问题解决掉就OK了

43如果你是一个电子商务公司,服务器正在运行电子商务网站平台,那么请一定要像重视女朋友一样重视服务器,当硬件发生故障而导致宕机,你需要对以下危言耸听的后果做好心理准备:投诉电话被打爆、顾客大量流失、顾客要求退款、市场推广费用打水漂、员工无事可干,公司运营陷入瘫痪、数据丢失(这是最痛苦最灾难的结果,我们经历了太多这样的案例,它甚至会导致一个公司就此消亡)在这里,我们其实只需要简单讨论你的业务对服务器硬件可靠性的要求。换言之,如果你觉得业务不能承担硬盘损坏带来的停机或数据丢失风险,那么一定要选择一个合适的Raid卡,对于冗余电源问题,道理一样。(全面解决这个问题,不单考虑单个服务器的硬件,还需要结合系统架构的规划设计和运维管理来分析,这部分我们将单独撰写文章来讨论。)

在完成以上问题后,我们接下来就可以决定这些具体选项:

选择什么CPU

回忆一下上面”服务器运行什么应用“和“需要支持多少用户访问”两个问题的答案,这将帮助我们来选择合适的CPU。毫无疑问,CPU的主频越高,其性能也更高;两个CPU要比一个CPU来得更爽,至强肯定比酷睿更生猛。但我们究竟需要选择怎样的CPU我们在这里为你提供一些常见情况下的建议:

(1)如果你的业务刚刚起步,预算不是很充足,建议你选择一款经典酷睿服务器,毕竟51IDC的E5300服务器最便宜只需要450块钱一个月。而且,以后你可以根据业务发展情况,随时升级到更高配置的服务器。

(2)如果你需要在一台服务器同时运行多种应用服务,例如Net+Exchange+SQLServer,那么一个单路至强(例如X3330)或新一代酷睿I3/I7(双核四线程)将是最佳的选择。虽然从技术角度,这不是一个好主意,但至少能够帮你节约一大笔成本。

(3)如果你的服务器运行SQLServer、MySQL或者Oracle,而且目前有几百个用户同时在线,未来还会不断增长,那么你至少应该选择安装一个E5504(或更高主频)的至强服务器。当半年后负载越来越大的时候,可以选择增加一个CPU。

(4)如果你需要一台游戏服务器,那么我们建议你选择一台单路或双路的至强服务器。需要注意的是,使用双路CPU需要应用程序的支持,如果应用程序本身没有对双路CPU进行代码优化,就不会带来性能的显著提升,而且将造成投资的极大浪费。

需要多大的内存

同样,”服务器运行什么应用“和“需要支持多少用户访问”两个问题的答案,也将帮助我们来选择合适的内存容量。相比于CPU,我们更认为内存(RAM)是影响性能的最关键因素。因为在相当多正在运行的服务器中,我们发现CPU利用率一般都在10%~30%之间,甚至更低。但我们发现由于内存容量不够而导致服务器运行缓慢的案例比比皆是,如果服务器不能分配足够的内存给应用程序,应用程序就需要通过缓慢的硬盘接口来交换读写数据,这将导致网站慢的令人无法接受。内存大小主要取决于服务器的用户数量,当然也和应用软件对内存的最低需求和内存管理机制有关系,所以,最好由你的程序员或软件开发商给你最佳的内存配置建议。我们同样在下面给出了一些常见应用环境下的内存配置建议:

(1)无论是Windows下的`IIS还是Linux下的Apache,一般情况下Web前端服务器不需要配置特别高的内存,尤其是在集群架构中,1GB-2GB就已足够。只有当几千个并发用户,并运行动态脚本的时候,我们才会考虑使用4GB或更高的内存。

(2)对于运行Tomcat、Resin、WebLogic、Websphere或Net这样的应用服务器,2GB内存应该是基准配置。更准确数字需要根据用户数量和技术架构来确定。

(3)数据库服务器的内存由数据库实例的数量、表大小、索引、用户数来决定,一般建议配置4GB以上的内存,我们甚至在很多的客户案例中使用了24GB到48GB的内存。

(4)诸如Imail、Notes、Exchange这样的邮件服务器对内存的要求也并不高,1GB-2GB就可以满足了。

(5)对于一台文件服务器,1GB内存可能就足够了。

(6)还有一些特殊的服务器,我们需要为之配置尽可能高的内存容量,包括Squid,Varnish这样的缓存服务器,和Memcached Server。事实上,上面的数字已经足够慷慨,由于内存技术的不断进化和价格不断降低,我们才得以近乎奢侈的讨论4G、8G、16GB这些曾经不可想象的内存容量。早在2000年的时候,我面对的大多数服务器都是256MB、512MB内存,1GB已经算是高配,而那时同样也需要满足大量用户的访问。所以,除了花钱购买内存来满足应用程序的贪婪之外,系统优化和内存管理仍然是我们需要重视的问题。需要怎样的硬盘存储系统硬盘存储系统的选择和配置是整个服务器系统里最为复杂的一部分,我们需要考虑硬盘的数量、容量、接口类型、转速、缓存大小,以及是否需要Raid卡,Raid卡的型号和Raid级别等问题。甚至在一些高可靠性高性能的应用环境中,我们还需要考虑使用怎样的外部存储系统(SAN、NAS或DAS)。

网卡的问题:

如果你的基础架构是多服务器环境,而且服务器之间有大量的数据交换,那么我们建议你为每台服务器配置两个或更多的网卡,一个用来对外提供服务,另一个用来做内部数据交换。如果你对安全的要求特别高,我们甚至可以单独安装一个用于系统管理和日常维护的网卡。至于网卡端口的速率问题,这主要取决于你对带宽流量的评估。大多数情况下,百兆网卡足够用来对外提供服务,而内部数据交换建议使用千兆网卡。但话说回来,除了经典酷睿服务器之外,我们现在很难找到百兆接口的服务器主板了。还有一种情况需要注意,如果你选择51IDC的数据备份服务(Managed Backup Service),则需要一块单独的网卡连接到专有的数据备份网络中,进行每天的数据备份,这会带来几个好处:不会占用宝贵的外网带宽、保证数据传输的安全、提供快速的数据备份速度。我们非常希望这篇文章能够帮助你为服务器选择合适的硬件配置,如果你阅读后发现有不正确的地方,请在评论中指出来,我们会及时更新并感谢你的热情指正。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13162664.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-14
下一篇 2023-06-14

发表评论

登录后才能评论

评论列表(0条)

保存