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刀片服务器上,使之具备更好的弹性和可用性,结合刀片服务器的模块化和可扩展性,可以增加内存和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)

一什么是虚拟化?

简单来讲,虚拟化就是为一些组件创建虚拟(而不是物理)版本的过程。虚拟化可以应用到计算机、操作系统、存储设备、应用或网络。但是,服务器虚拟化才是虚拟化的核心。 现如今的 x86 服务器的设计存在局限性,每次只能运行一个操作系统和应用,这为 IT 部门带来了挑战。因此,即使是小型数据中心也必须部署大量服务器,而每台服务器的容量利用率只有 5% 到 15%,无论以哪种标准来衡量,都十分的低效。

虚拟化使用软件来模拟硬件并创建虚拟计算机系统。这样一来,企业便可以在单台服务器上运行多个虚拟系统,也就是运行多个操作系统和应用,而这可以实现规模经济以及提高效益。

二为什么要虚拟化?

虚拟化技术能为我们解决很多以前解决不了的技术:

1、服务器整合技术:这个技术在没有虚拟化技术之前是很难完成的。因为什么东西都是实际存在的,想把两个工作相对较少的服务器整合到一起是很困难的。然而当有了虚拟化技术以后使这种服务器整合技术变得非常容易。而这个技术需要借助我下面介绍的2、3条技术。

2、负载均衡技术:

负载均衡技术是只在每台服务器上安装一个负载均衡器,然后设置很多的调度算法及临界值。来判断此时此刻服务器的压力是轻还是重。然后根据轻重来完成服务器的合并,而合并又依据了第三条技术。

3、动态迁移技术:这个技术是前两个技术的根基,但是却不只仅仅限于前两个技术。它的目的是可以在服务器开启的状态下,把其上面的虚拟机迁移到其他的服务器上面。工作原理大体是先将目标服务器上模拟出此服务器的硬件状态,然后迁移数据,最后释放此服务器的信息。

4、克隆技术:这个技术说起来和上面那个技术很像,但是却不一样。克隆技术是把一台服务器的环境配置好了后可以通过克隆技术使其他的机子都达到和这台机子一样的效果,假如要配置100台甚至1000台服务器的话这种克隆技术是非常可观的。它和动态迁移的区别是在服务器不停机的状态下,动态迁移要求迁移的彼此必须是共享内存的,但是克隆并没有这个限制。

5、灾难恢复技术:灾难恢复是所有大型公司必须考虑的问题,因为当一些意外发生时,比如:突然断电,硬件损坏,洪水,地震,等一系列情况是,如何把灾难所造成的数据损失降到最低甚至是不损失。这要依靠第六条技术。

6、虚拟快照技术:虚拟快照技术是将虚拟机此时的状态像照片一样保存下来,当然我说的很容易,其实现原理需要非常复杂,包括cpu运行状态,内存中的数据等等。这样保存下这些虚拟技术当发生灾难或者某些失误导致虚拟机出问题时,可以很快恢复。

7、改善系统可用性。这里的可用性只得是零 down机,在这种情况下我们才可以使得效率最大化。而零down机的前提是每台服务器必须要有一个镜像,在主虚拟机和次虚拟机之间有一条心跳线来维持两者之间的关系,当心跳线停止时,次虚拟机立马启动,代替主虚拟机。

8、安全性:我们直到虚拟化在硬件层上都有一层VMM来时时刻刻侦测每台虚拟机的动向,包括捕获异常,解决门事件,完成调度等等。所以当一些危险因素来临时由于VMM的存在使得我们可以非常快的侦测到这个问题并解决它。这能比以前的硬件层上面直接是操作系统快速很多。

看了一些虚拟化的博客,还有文章,发现很多人对于虚拟化技术到底是什么,为什么要使用虚拟化技术还不是很明白。绝大多数人目前理解的虚拟化技术就是把操作系统和硬件分离,一个硬件能够同时运行多个操作系统认为就是虚拟化技术,其实这只是虚拟化技术中很小的一个部分,和很初级的阶段。

什么是虚拟化技术?

中给出的解释其实也是相对片面的:

“ 虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。”

虽然其强调广义概念,但是在后面的描述上也都是在强调操作系统与硬件的隔离。

gartner给过一个相对简单但是很准确的定义(记不住原文,大概含义):将不同的资源和逻辑单元剥离,形成松耦合的关系的技术。

其实根据计算过程中的逻辑组成部分,将他们的紧耦合,变为松耦合(耦合大家学过软件工程的都应该懂什么意思了吧)。其实“耦合”的概念是计算机领域一直研究的内容:

面向对象的设计讲,不同的类应该是松耦合的,而类内部的信息应该是紧耦合的,这样可以更好地应对需求变化,快速动态地调整,构建新的系统; 

web service其实也是将传统的紧耦合功能,转变为可以灵活组织的,像搭积木一样的松耦合关系,使得我们可以将很多大家都需要的功能通用化,我们可以利用不同的服务组合构建我们的应用。

而虚拟化,只是对计算环境这个更高层次的概念进行“松耦合化”,让我们的IT应用就像我们攒机器一样,几个通用的标准模块搭起来就能够成一个满足特定需求的计算环境。

我们可以看到,“松耦合化”是很多很热的技术的主线,之所以它是计算机研究中的重要元素之一,就是因为它会给我们提供更多的灵活性!

举个简单的比喻:计划经济时代,我们都是每个工厂有自己的食堂,自己的澡堂,托儿所,幼儿园,学校等等,这就好比我们的计算环境,或者是一个软件,所有的组成部分都紧紧的配合在一起,是比较全,对于自己工厂的员工来说很方便;但是对于工厂来说,这个很不经济,成本很高,因为什么都要做,什么都做不好,而且没有规模经济,自然就不好,对于社会来说,浪费非常多。后来市场经济,所有的都专业化了,于是我们一个写字楼的所有人都可以去楼下的食堂吃饭,也可以去别的地方吃饭;洗澡也有专业澡堂了,托儿所与学校也分出去了。这样我们的选择性多了,可以选好的地方或者合适的地方,另外专业化也提高了效率,社会浪费也少了,这就跟我们的web service或者虚拟化一样,每个公司或者个体都是提供一个专业服务,效率高,成本低;而你要做一种事情,可以有多种选择,选择最合适你的,也让你整体成本地,而且更好地完成任务。对于社会来说,浪费少了,而且更灵活了。

世间诸多事情都一脉相通,而诸多厂商所谓的“敏捷IT”,本质上就是利用“松耦合”带来的灵活性来实现的,实现“IT系统的计划经济向市场经济的过渡!”。而这就是为什么,在计算环境层面,我们需要“虚拟化”技术的原因。

但是,计算环境的虚拟化可不仅仅指的是 硬件与操作系统的松耦合,它是更大的一个概念,包含更广泛的内容。

  摘 要十堰日报社通过虚拟化技术构建了服务器技术运维平台,提高了整体的可靠性。  关键词虚拟化技术;虚拟服务器  一、背景  报社经过多年的信息化建设,大批业务系统相继上线,服务器数量逐年增多,产生了一些问题:(1)成本高。硬件成本较高,运营和维护成本高,包括数据中心空间、机柜、空调、耗电量等。(2)可用性低。因为每个服务器都是单机,如果配置为双机模式的话,造价成本会更高。(3)系统维护和升级或者扩容时候需要停机进行,造成应用中断。(4)缺乏可管理性,系统数量太多难以管理,新服务器和应用的部署时间长,大大降低服务器重建和应用加载时间。(5)兼容性差,系统和应用迁移到新的硬件需要和旧系统兼容的系统。对于这些情况,利用虚拟化技术能得到很好的解决。使用虚拟化技术,可以节约硬件的投资,简化硬件维护操作。实现了虚拟化还可以为各种系统的实验提供方便的硬件平台。将来如果构建云平台,虚拟化是必要的基础。

二、服务器虚拟化技术

1.服务器虚拟化概念。关于服务器虚拟化的概念,各个厂商都有自己不同的定义,然而其核心思想是一致的,能够通过区分资源的优先次序,并随时随地能将服务器资源分配给最需要它们的工作负载来简化管理和提高效率,从而减少为单个工作负载峰值而储备的资源。

2.服务器虚拟化的技术特性。虚拟化技术不但可以解决数据管理的难题,还可灵活更新软件、数据和硬件操作平台。有了虚拟化技术,一台物理服务器可以被“划分”成数台“虚拟”的机器,每台都能独立运行自己的操作系统,从而避免传统的“一台服务器+一种应用”的孤岛模式。分区。在单一物理服务器上运行多个虚拟机。隔离。在同一服务器的虚拟机之间相互隔离。封装。整个虚拟机都保存在文件中,而且可以通过移动和复制这些文件的方式来移动和复制该虚拟机。相对一间独立。无需修改即可在任何服务器上运行虚拟机。

3.服务器虚拟化的优越性。一是减少服务器的数量,提供一种服务器整合的方法,减少初期硬件采购成本。二是简化服务器的部署、管理和维护工作,降低管理费用。三是提高服务器资源的利用率,提高服务器计算能力。四是通过降低空间、散热以及电力消耗等途径压缩数据中心成本。五是通过动态资源配置提高IT对业务的灵活适应力。六是提高可用性,带来具有透明负载均衡、动态迁移、故障自动隔离、系统自动重构的高可靠服务器应用环境。七是支持异构操作系统的整合,支持老应用的持续运行。八是在不中断用户工作的情况下进行系统更新。九是支持快速转移和复制虚拟服务器,提供一种简单便捷的灾难恢复解决方案。

三、方案选择

业界比较主流的虚拟化方案为VMware 公司的vSphere、微软公司的Hyper-V和Critx公司的XenServer。我们首先排除了Critx公司的XenServer。因为这个产品主要优势在LINUX系统平台上,而我们主要的信息系统运行现在WINDOWS系统上。据了解,XenServe的市场份额占有比较低,采用市场份额不高的产品对信息系统本身就是一个风险。根据厂商提供的产品参数,我们就vSphere和Hyper-V的产品性能做了比较认真做了比较。虽然觉得vSphere在技术指标上比Hyper-V更优越些,但综合考虑,还是决定采用Hyper-V,原因如下:(1)高级内存管理:虽然vSphere虚拟机内存动态可以节约资源,但会降低虚拟系统的性能;(2)高级储存管理:因暂时不考虑虚拟化数据库服务器,此项可以暂不考虑;(3)高I/O 可扩展性、主机资源管理、灵活的资源分配:主要考虑的是虚拟化轻负载服务器,影响不大;(4)虚拟化安全技术:对于非文件服务器,这个问题影响比较小。我们的技术人员对于微软的产品比较熟悉,Hyper-V对于经验丰富的WINDOWS管理员来说是非常易于部署和管理的。而vSphere则需要进行培训,这将是增大时间和经费成本。因此,我们认为采用低成本的Hyper-V基本可以达到项目实施的要求。

四、项目执行

(一)项目目标

报社内部的应用系统主要有采编业务、广告业务、发行管理、财务等各种应用系统。各系统基本使用单独的服务器,关键业务还有备份服务器。各系统基本为应用服务器加数据库的架构。项目的目标是将轻负荷的应用服务器虚拟化,将数据库统一。这样既可减少硬件的的支出,也可保证系统性能和数据的安全。

(二)实现步骤

1.建立虚拟机域,安装虚拟机服务器。为了管理方便和安全性,我们新建了一个独立的虚拟机宿主服务器的域。微软有一个虚拟机宿主机的管理程序Virtual Machine Manger Server(VMM),可以对多台虚拟宿主机和其上运行的虚拟机进行统一管理,并可以将虚拟机在不同的宿主机之间进行迁移,还可以定义一系列的任务实现系统维护的自动化。

微软的的Hyper-V服务器安装可以采用:单纯的MS Hyper-V Server安装,这种方法占用内存最小,但设置麻烦,而且很难使用本地界面管理虚拟机服务;使用Window 2008 Server的Hyper-V服务器角色。这种方法会多占用内存,但管理非常方便,并且可以使用Window 2008 Server的许多其他功能。因此,我们采用了Window 2008 Server的Hyper-V服务的形式建立了虚拟机。

2.转化物理机。使用微软解决方案最大的便利是可以使用其物理机转化Agent,方便实现原有物理服务器的转化。VMM2008提供了自动流程,可以以设定虚拟机,远程安装转化Agent,自动转化,自动删除Agent,自动部署虚拟机,自动关闭物理机,并启动虚拟机,且所有的参数完全保持一致。从用户的角度只是感到服务器有一段宕机时间,完全不会感觉到服务器的迁移。

3.实施效果。我们使用一台域控制服务器,三台虚拟化宿主机,一台数据库服务器,共虚拟化了8台服务器。包括广告管理系统服务器、发行管理系统服务器、杀毒软件服务器、SNMP监控服务器等物理服务器。三台虚拟机的CPU使用率基本维持在10%之下,系统运行稳定。

五、结论

我社通过虚拟化技术构建了高可用性的技术运维平台,用有限的资金实现了对当前服务器系统的升级,同时又具有灵活的、可变拓展空间,留足了扩展空间,为报社事业发展做好了技术准备。

参 考 文 献

[1]董嘉男.Windows Server 2008 Hyper-V配置与管理[J].清华大学出版社

[2]胡嘉玺.虚拟智慧:VMware vSphere运维实录[J].清华大学出版社

[3][美]吕斯特等著.陈奋译.虚拟化技术指南[J].机械工业出版社

[4]王春海.中小企业虚拟机解决方案大全[J].电子工业出版社

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » vmware服务器虚拟化 服务器虚拟化技术

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情