LoveUnix » PC Server & HPC » 用虚拟化技术实现服务器整合
让LU留住您的每

一天 让LU博客留住您的每一天
2007-3-9 11:47 蓝色虫
用虚拟化技术实现服务器整合

[align=right]--微软Virtual Server 2005 R2的安装与配置实例分析
[/align]
作者:段城智


     【IT168 专稿】64位硬件平台及其软件系统的诞生,意味着计算机系统具有了相当高的系统性能——如现在服务器的内存寻址范围能达到4GB以上,CPU时钟速度达到了4GHz,单一芯片上的多核技术则提供了并行处理命令的能力。同样,存储能力也在一路飙升,不少中小型企业都开始用到TB(1000GB)级别的磁盘阵列。然而,硬件资源利用率的现象也越来越严重。比如,有些应用只要一台有2GB内存的单/双CPU的机器就够用了,但如果实际的硬件配置比这高,应用程序就没法充分利用硬件的计算能力。

    虚拟化技术就是解决这种矛盾的实用方法——将一台物理服务器划分成多个虚拟机或虚拟环境,每个虚拟机上跑不同的操作系统和应用,而应用感觉自己是在“独占”一台机器的系统资源。比如,我们可以在一台有4GB内存的双路服务器上,创建两台虚拟机,再将两个关键的系统级应用程序分别运行在不同的虚拟机上,从而提高硬件资源的利用率。

    当然,虚拟化技术也并非完美无缺,在本文中,我们将先分析一下虚拟化技术存在的一些问题,以提醒大家注意。然后以微软Virtual Server 2005 R2为例,介绍如何利用其标准版来创建虚拟服务器。

[b]虚拟化应用需谨慎[/b]

    通过虚拟化,只要合理分配资源,我们就能在同一台物理机器上同时搭建一台Windows服务器和一台Linux服务器。这听起来确实很诱人!但是创建虚拟化还是存在一些问题的。

    首先,正是因为虚拟技术本身很有魅力,我们可能会无节制的创建许多个虚拟机。但是,一个物理机器上的虚拟机越多,安全性问题也就越大,管理起来也越麻烦。一旦出现硬件故障,出问题的也就不再是一台服务器,而是几台虚拟服务器。

    其次,虽然现在的CPU处理速度、内存容量和存储能力都发展得相当不错,但I/O瓶颈依然存在。事实上,当一台物理机器上有太多的虚拟机时,I/O资源就会变得捉襟见肘,因为所有的虚拟机都有可能同时访问内存和磁盘。显然,不足的I/O带宽会降低系统的实际性能。

    另外,创建虚拟机可能会带来了可靠性、可服务性和可用性方面的问题。比如,“重启系统”不仅会影响到物理机器本身,也会影响到所有虚拟机。还有,当你把机器连接到网络上时,就意味着要承担一定的风险,因为现在的一个安全漏洞就会影响到多台服务器。

[align=center][img]http://publish.it168.com/2007/0309/images/333900.gif[/img][/align]

    因此,我们在采用虚拟化技术配置服务器时必须小心谨慎,别光想着虚拟化能节约成本,也要考虑到虚拟服务器在管理、操作和安全方面的开支。下面,我们就开始介绍如何安装、配置Virtual Server 2005 R2标准版,进而创建虚拟机,以及如何采用内建的Web工具远程管理虚拟服务器。

[b]如何安装和配置Virtual Server 2005[/b]

    我们知道,通过虚拟化整合服务器,硬件资源必须充裕——CPU至少有两个(最好是多核的),内存至少是4GB,硬盘至少有100GB。软件方面,虽然可以直接从微软官方网站上免费下载Virtual Server 2005,但你还是要购买相应的操作系统和应用软件的授权。

[align=center][img]http://publish.it168.com/2007/0309/images/333920.gif[/img]


[/align][align=center]物理服务器被虚拟化为驻留于单个物理“虚拟主机”中的虚拟来宾
[/align]
[b]第一步:安装微软Virtual Server 2005 R2标准版[/b]

    虽然微软Virtual Server 2005 R2标准版可安装在Windows XP SP2上,但一般只是用于测试,不适用于生产环境。因此,我们推荐使用Windows 2003 Server,SP1或SP2均可。根据微软的官方信息,系统要求CPU主频最低是550 MHz,推荐使用1.0 GHz以上的CPU,并确保每个guest OS拥有256 MB内存和2GB硬盘空间。

[align=center][img]http://publish.it168.com/2007/0309/images/333937.jpg[/img][/align]
    如果是第一次安装Virtual Server 2005,请选择完全安装选项。这样除了有Virtual Server服务和Web管理工具之外,还有相应文档。以后安装就可以选择定制安装选项,只安装Virtual Server服务就可以。在安装过程中,为了能正常运行,均选择默认设置即可。但有些设置可以更改。比如,管理网页站点的默认端口可以改,但如果你改了这个设置,将来你从其它机器连接到这台机器时就要记得指定你改过的端口。

    安装成功以后,Virtual Server在物理机器的操作系统中以服务的方式运行,可以手工启动或停止。安装程序会在Internet信息服务(IIS)下面创建了一个虚拟服务器Web管理站点(Virtual Server Administration Site),它其实就是虚拟机基于浏览器的图形用户界面(GUI)。

[b]第二步:配置软件与创建虚拟机[/b]

    首先,你要打开浏览器,在地址栏里输入:http://FQDN:1024/VirtualServer/VSWebApp.exe 。注意,FQDN代表Fully Qualified Domain Name(完整域名),所以并不是写“FQDN”这几个字母,而是写上机器的域名,它由机器名、子域(可选,不是每台机器都有的)和顶级域组成。比如FQDN是“ckb1.mail.app-com.com”,就应该输入:http://ckb1.mail.app-com.com:1024/VirtualServer/VSWebApp.exe

    另外,如果你在安装时改变了端口号,就把“1024”替换成你指定的端口。输入密码之后,点击OK。在屏幕的左边,你能看到一个菜单。在Virtual Machines菜单下,选择Create,就开始创建虚拟机了。

[align=center][img]http://publish.it168.com/2007/0309/images/333943.gif[/img][/align]
[align=center]创建虚拟机
[/align]
    创建虚拟机时,你需要指定四个参数:

· 虚拟机名称
· 从物理内存里为这台虚拟机分配多少内存
· 创建或挂接虚拟硬盘(VHD)
· 使用的虚拟网卡类型

    虚拟硬盘和虚拟网卡都是可选的。只要你愿意,你以后可以再创建或挂接它们。设定好以上参数之后,点击Create按钮。到这里,虚拟机基本上就创建完了。但你可以自己调整一些设置。

    例如,你可以允许远程控制虚拟机。这样,你就能通过一个Web管理工具直接连接到虚拟机。选择Virtual Server菜单,点击Server Properties(服务器属性)选项,接着点击VMRC Server就可以了。

    你也可以指定虚拟机文件的存放路径,方便自己查找。默认的文件路径是Documents and Settings文件夹下,但这个位置其实并不合适。因此,你可以选择Virtual Server菜单,点击Server Properties(服务器属性),再点击Search Paths(搜索路径),在这里输入你指定的存放路径或相关文件的搜索路径。

    屏幕左边的其它菜单下有其它配置项。等你对这个软件和虚拟机的使用熟悉之后,可能会经常用到这些菜单,调整你喜欢的设置。第一步中开始设定的参数在这里也可以修改。如果需要,你还可以添加另外的虚拟硬盘、改变网络连接。

[b]第三步:安装虚拟机操作系统[/b]

    一台虚拟机其实就可以看作一台物理机器。在虚拟机上安装操作系统和应用软件,就象在实际的物理机器上一样。虚拟机上的操作系统一般叫作Guest OS,因为它是驻留在实际物理机器的操作系统之上的,后者一般叫作Host OS。你可以创建多个虚拟机,每个安装不同的操作系统(Guest OS),这也是虚拟化技术的主要优点。可见,如果你硬件预算有限,不能购买多台机器,而应用程序又依赖不同的操作系统平台,虚拟化技术就很有用了。

    在安装操作系统或应用软件时,你可以通过虚拟光驱或DVD来操作,打开Web管理网页,选择Virtual Machine,点击Configure(配置),再点击CD/DVD即可。

    值得注意的是,虽然直接使用实际物理光驱最为简单方便,但并不是最好的方法。尤其是当你运行多台虚拟机时,多个虚拟机和Host OS都可能使用物理光驱。为了解决这一问题,建议用存放在物理硬盘上的ISO映像文件模拟光驱来用。

[b]第四步:配置虚拟网络参数[/b]

    虚拟机通过虚拟网卡(Virtual NIC)和物理机器上的物理网卡进行通信。当然,你首先要确定你的虚拟机要不要访问物理机器或同一台物理机器上的其它虚拟机或外部网络。如果你不需要,也就根本没必要配置虚拟网卡。而如果你需要连接到外部网络时,就要考虑网络安全的问题了。因为虚拟机连接到网络后跟实际的物理机器一样,有可能会受到病毒、黑客的攻击。

    微软的Virtual Server为每台虚拟机最多可提供四个虚拟网卡,物理机器的网卡则由实际网卡数决定。虚拟网卡由虚拟机网络服务驱动创建。微软Virtual Server也提供了虚拟网卡管理功能——打开Web管理网页,点击虚拟网络(Virtual Network),再点击Create,接着输入虚拟网卡名称,从下拉列表中选择一个可用的物理网卡挂接上去。你还可以输入一些注释,提醒自己某些虚拟网卡连接的特性。

    如果你想配置已经创建好的虚拟网卡,点击Virtual Network,接着点击Configure(配置),然后选择你要编辑的虚拟网卡。微软Virtual Server 2005 R2标准版有一个内建的DHCP服务,方便你分配IP地址,避免网络地址冲突。当然你也可以用自己的DHCP服务器。

    通过上述四个步骤,我们就基本完成了Virtual Server 2005 R2的安装、配置、虚拟机创建和管理工作了。如同“股市有风险,投资需谨慎”,虚拟化也一样。虽然虚拟化技术可以有效的提高现有硬件利用率,节约客户成本,在同一套硬件系统上运行多个操作系统,但虚拟化同样存在一定风险,值得注意。

2007-3-9 12:04 onlyOneEditor
;P 嘿嘿.去年玩过这玩艺儿;P

2007-3-19 10:10 蓝色虫
分析:服务器虚拟化需要兼顾平衡

作者:文宣

    【IT168 专稿】利用微软的Virtual Server 2005 R2标准版,可以在一台性能强大的服务器上建立多台虚拟服务器,这样既让企业省了钱,又能运行多个操作系统。

提高利用率的良方

    时代在发展,CPU、内存和硬盘等随着技术的发展而价格不断下降。这样导致的结果往往是许多PC和服务器的用户拥有了超过他们实际需求的性能,或者说相当一部分的性能没被利用起来。对于厂商来说,这就出现了一个机会,以帮助企业用户将空闲的硬件资源充分利用起来。虚拟化技术就是帮助用户解决上述问题的一个方法。

    通过在服务器上实现虚拟化,厂商可以帮助他们的客户利用更少的硬件构建更多的应用。企业可以在同一物理服务器上运行一个Windows服务器和Linux服务器,然后根据需要为这两台“服务器”分配必要的资源。

    通过这种方式,虚拟服务器能帮助企业用户节省费用,厂商也由此在IT基础架构建设方面得到了企业用户的信任,为将来赢得了更多的商业机会。而且,由于运行同样数量的应用而只使用了更少的硬件,这在一定程度上减少了厂商提供售后服务的工作量。

    所有厂商中,微软提供了Virtual Server 2005 R2标准版这款产品来帮助用户实现虚拟化。目前市场主流已经进入64位计算时代,64位的软件和硬件能够提供更高性能的系统。比如,今天的服务器已经可以寻址超过4GB的内存,CPU的时钟频率也在逼近4GHz,再加上处理器的多核技术,能够实现许多额外的计算需求。存储容量同样也在快速增长,TB级的磁盘阵列目前已经是只能满足中小企业市场的需求。直到前不久,这样的计算和存储能力水平还仅限在大型企业中,但现在一切变得这么迅猛。

    虚拟化的另一种能力是将富余的硬件充分利用起来。今天的商业办公软件Commercial Off-The-Shelf (COTS) 是一种典型的不计性能和资源利用而最大化考虑兼容性的软件。这个应用最佳的计算环境是一台有1个或者2个处理器、配置2GB内存的服务器。但如果企业服务器的计算性能比上述更强,那它们的性能一般就不能被软件充分利用起来。

    针对上述情况的局限性,最好的方法是每个应用运行在刚好能发挥最大效用的一台服务器上。但是,假定企业在软件方面有两个关键的应用,硬件方面则是一台配置2个处理器和4GB内存的服务器。对于这样的配置,最好的解决办法是设立两台虚拟服务器,每个应用对应一台虚拟服务器。通过这种方式,硬件资源就能被软件充分地利用起来。

虚拟化并非万事俱备

    然而,虚拟化技术目前仍然有缺陷。其中之一就是在物理机器上增加越来越多的虚拟机的诱惑。当然,虚拟机越多,给用户带来的安全攻击和机器在管理上耗费的时间也就越多。假如没有虚拟机,一台机器宕机后只会影响单台机器或者单个应用,但是虚拟机多的情况下就不一样了,它就会影响多个应用。

    另外一个缺陷是CPU的性能、内存的容量和存储设备是否达到了足够的数量,同时I/O的瓶颈依然存在。而实际上,随着单台物理机上所设虚拟机的增加,这种瓶颈也在加剧。还有一个风险就是所有的虚拟机同时访问内存或者存储设备,一旦这样的情况发生,虚拟机实际上是在降低服务器的性能。

    此外,虚拟机还存在其它缺陷。最显著的是可靠性、可用性和有效性。当虚拟机的数量增加后,物理机的重要性就不言而喻了,任何对它的操作都将影响巨大。例如,有一种情况需要重新启动机器,但这样一来就影响了部署在物理机上的所有虚拟机的运行。同样的理由,任何一个硬件的故障也会影响许多虚拟机的运行。

    虚拟机类似的问题同样会涉及到网络和安全。任何时候用户把一台机器和网络连接起来,就会有受攻击或者病毒的风险,而不管这种风险是企业管理层或者系统管理员是否愿意承受,但单个系统受到攻击或病毒的风险肯定要比多台虚拟机受到的风险要大。

    总的来说,企业在进行信息化建设时要慎用服务器虚拟化技术。用户在选择虚拟服务器时必须考虑到资金投入和系统管理、操作与安全两者之间的平衡。

2007-3-21 21:06 蓝色虫
安全性:虚拟化优势的另类解读(上)

作者:小程


    【IT168 专稿】 服务器虚拟化由于其带来的维护费用的大幅降低而受到追捧——如能减少服务器占用空间,降低购买软硬件设备的成本,节省能源和更低的维护成本。但这些并非是客户和厂商对虚拟化技术情有独钟的唯一原因。

    另一方面,我们一般较少提及,那就是:虚拟化技术能大幅提升系统的安全性。尽管目前来说还仅仅是初始,但我们有理由相信虚拟化对安全性带来的影响不可估量。由于虚拟化,隔离和屏蔽不稳定或具有安全隐患的应用程序相对轻松;由于虚拟化,提供高效的灾难恢复方案和健全有力的犯罪分析不再困难;同时虚拟化还能提供更为廉价的入侵检测工具。

    下面我将分别向大家一一解析虚拟化技术是如何提高系统安全性的。

虚拟化在隔离和防范攻击上的应用

    我们知道,将应用程序迁移到虚拟机上运行能解决两种类型的问题:一是应用程序的不稳定,导致的后果轻则会浪费系统资源,重则会使系统全面瘫痪。最早的虚拟化安全应用就能隔离程序,从而使系统稳定。二是应用程序的不安全,有可能导致本地系统特权的扩大化,并受控于未授权的用户。

    虚拟化的先驱VMware公司一直致力于解决第二类问题,并找到了最佳的解决路径。首先,它提升了“虚拟工具”的概念,发布了一个浏览器工具。这个工具在虚拟机中起到了操作系统的功用。它处理一切与网络相关的任务,比如上网冲浪、e-mail、网上聊天、利用P2P下载。所有这些活动由于与Internet相关,所以安全性很重要。有了VMware的浏览器工具,网上攻击者就不能与用户底层的操作系统进行通讯,所以攻击者也就无法获得重要的用户数据,或是入侵企业内部网络。

    另外,虚拟化技术使得有安全问题的系统恢复到安全状态变得很简单。一个普通的用户只需重启一下虚拟机,重设为初始状态,几秒钟之后,一个全新的、干净的新系统即可恢复完成。

    当然,虚拟化也一直受到人们的质疑。比如,这些年来,分析家对于虚拟层能否真正的把虚拟机和主机操作系统安全地分隔开来有怀疑。因为作为虚拟层的虚拟机监视器(VMM)要不断地处理来自虚拟机的I/O请求,是不是会有缓冲溢出以及VMM自身内在的一些问题呢?人们对于安全性的质疑也不难理解。不过,目前还没有报告指出成功攻击VMM的例子,因此就目前来说,我们可以认为虚拟化的安全性是值得信赖的。

虚拟化在灾难恢复和系统高可靠性上的应用

    企业环境中最核心的需求就是数据的保存和服务的可用性。目前,对于数据的保存我们可以达到文件级别的备份方式。这种方法随着时间的推移逐渐显现出其劣势:文件保存需要大量的时间;公司需要备份时的原始硬件才能回到初始态系统。

    现在有了虚拟化,灾难恢复操作的时间和费用大大降低。区别于以往的保存文件,它的备份方案是主机级别的对整个虚拟机的拷贝,包括正在运行中的虚拟机。这样形成的一个大的备份文件,相比于以前重新安装系统然后再恢复数据节约了时间。

    更为重要的,备份的虚拟机能在任何主机操作系统以及任何的硬件环境下恢复,甚至于可以修复物理故障。由于硬件故障而造成的停工对于每个公司都是一场噩梦,对于某些公司来说更是灾难性的后果。要避免故障的发生,一是采用集群节点共享以及负载均衡技术的高可靠性设备,但成本也是巨大的;相对实惠一点的可以采用备用设备,就是说当主节点发生故障时,有一个或两个节点可以随时取代主节点的工作。上述两种解决方法都是依赖于两个或两个以上的高可靠的物理服务器,但这样做又都增加了保护的范围,相应费用随之上升。但虚拟化可以达到上述两种方法的效果,同时实现费用却更低。

    具体的实现方法是把次级节点设为虚拟的。主级节点安装在物理硬件上,同时次级节点在虚拟机上,随时准备应对故障。可以看到,既然备用节点无需资源,那么一个单一物理主机上就可以备有多个备用节点,当发生故障时可以动态地把物理资源分配给虚拟节点,让它们暂时接替主节点的工作。但常见的困难在于:如何从物理节点复制数据到虚拟的备用节点上。Vizioncore公司填补了这方面的空缺,他们为大部分虚拟化平台提供了价格合理的数据复制服务软件。

虚拟化在犯罪分析上的应用

    虚拟化另一项关于安全方面的应用就是犯罪分析。FBI曾经登门VMware,向专家请教如何拷贝犯罪分子硬盘里的内容到虚拟机上并进行分析。现在整个过程已经自动化了,叫做“物理向虚拟的迁移”(P2V)。它能创建一个物理机精确的工作状态的拷贝,而不改变任何数据,同时还能包括隐藏和加密的分区。

    迁移过程是很简单的,只用通过线路传导,几分钟之内,数据就传到了虚拟机上。但问题是即使在现在,我们在操作过程中也需要关闭源主机。这在安全专家看来,这就意味着大量爆炸性信息的丢失。

     当前P2V方案的供应商主要是Leostream、PlateSpin,还有VMware本身。其他刚刚崭露头角的公司则采取提供免费的迁移工具来分占一部分市场。赛门铁克的LiveState也采用了P2V方案,因为这种把数据和格式向空的虚拟机中填充的做法与它以往的技术有相似之处。

    不过P2V也不是虚拟化进行犯罪分析的唯一手段。在虚拟机简化测试中表现最佳的是一款叫Snapshots的工具,当然也是虚拟化犯罪分析的最佳工具。

    借助Snapshots,虚拟化软件能完整保存下操作系统的镜像。这样对于运行测试版或不稳定的应用软件就能起到安全保障的作用,即使因为不稳定造成的故障问题,也能通过还原恢复系统。不得不提的是,Snapshots可以工作在虚拟机没有启动的状态下。当虚拟机是关的状态时,一切数据都是存在标有还原点的虚拟硬盘上;如果虚拟机是开的话,一切信息则保存在镜像文件中。

    关于当前的安全防范问题,有一款叫zero-day的工具引起了我们的注意。它能查找一些系统的新漏洞而不会被最新的防卫软件察觉,还能给黑客提供清理日志、删除使用过工具的功能,这样黑客就隐藏了自己的踪迹。

    传统上我们针对黑客入侵,主要是依赖“主机入侵检测系统”(HIDS),它能跟踪分析文件及内存里信息的变化,并通过网络传到专门的日志记录设备上。但这样,价格昂贵且不说,而且还占用了受保护服务器的大量资源。再加上它也不是能保护每台你想要保护的服务器,所以安全问题依旧存在。

    现在,虚拟化的出现为这个问题的解决提供了廉价且高效的代替方案。前面提到的Snapshots又派上了用场,它可以照下RAM或硬盘中的zero-day的踪迹,记录黑客入侵的日志也能在被删除之前被保存下来。它的神奇之处还不仅于此,Snapshots保存下的还原点还能在不同的主操作系统环境下被虚拟机运行。总的说来,随着虚拟化的发展,为犯罪分析注入了前所未有的动力。

2007-3-22 23:57 蓝色虫
安全性:虚拟化优点的另类解读(下)

【IT168 专稿】在上篇我们提到了虚拟化在隔离和防范攻击、灾难恢复和系统高可靠性、犯罪分析上的应用,下面我们将继续解析虚拟化在安全方面的其他应用,并介绍一下虚拟化发展的前景。

虚拟化“蜜罐”

    当前有很多安全部门花费很多精力去进行一项叫“蜜罐”的研究工作。所谓“蜜罐”,其实就是在公司网络上设置一个封闭的、特殊的节点,伪装成上面有许多有价值的数据,通过这些诱饵来吸引攻击者,就好像是用装有香甜蜂蜜的罐头来吸引猎物,故此得名。表面上看起来风平浪静,其实在这个系统的背后布满了预先设好的日志传感器。

    “蜜罐”的任务就是吸引并缠住攻击者,尽可能地发现了解最新的黑客入侵工具和手段,然后立即开发出防范措施,为其他现实系统打上补丁来防范这些最新的攻击。

    在虚拟化出现之前,设置一台机器或一段网络为“蜜罐”只能为安全研究部门所用,因为这需要很大的成本和管理技术。而今天,利用免费的虚拟化平台、免费的通信发生器还有虚拟实验室自动化解决方案,建造一个虚拟的“蜜罐”网不再是遥不可及的事情。企业仅仅依赖传统的安全措施是不够的,可以建立模拟内部服务器的“蜜罐”,作为入侵监测装置的一个重要补充。这一点对于安全问题具有极其重要的意义。

    虚拟“蜜罐”还能模拟桌面机群,捕捉防毒机构尚未发现和处理的潜在威胁。相关软件开发计划已经被提到日程上来,有微软的Honeymonkey、IBM的Billy Goat。两者开发的目标都是创建一个虚拟的桌面机,使得在上网冲浪时及时发现和感染最新的病毒,以便反毒部门以最快速度拿出防范措施。

    不过虚拟化的“蜜罐”有个很大的缺陷。攻击者刚踏入门的时候,只需通过网络层或系统层上简单的检测,就可以识别出所在是虚拟化环境。那么他马上就会意识到这是个陷阱,然后就立即离开。这样“蜜罐”就失去了它的意义。

    对于这个缺陷,我们可以有乐观的态度来看待。首先,许多攻击者都是病毒,也就是说是自动攻击的,像蠕虫病毒。这些恶意代码目前来说还不懂得识别和避开虚拟机。第二,现在越来越多的公司已经开始把各种服务建立在虚拟架构上,对于只想攻击真实目标的黑客来说,虚拟服务器无疑就不会成为攻击的对象。

多样化的未来

    现今,虚拟化仍处于初始阶段,但已经呈现出蓬勃发展的态势。技术的不断发展,相关软件的不断涌出,更加强大的运算能力,更加智能的编程接口。所有这一切,都有力地推动虚拟化向前迈进。

1)虚拟硬盘格式

    在不远的将来,虚拟化在安全方面的应用可以节省大量目前的安全措施浪费的资源。事实上,在VMware和微软开放了虚拟硬盘的格式以后,赛门铁克和Trend Micro公司纷纷跟进,从而带动整个安全行业的发展。

    知道了虚拟硬盘的构造就意味着公司用户可以有完全的权限对虚拟文档中心的文件进行处理。也就是说,杀毒软件、补丁和备份软件无需再从内部的虚拟操作系统读取数据,而改为在更低层上读取,这样实现安全性就更清晰明了,方便快捷。另一点好处就是,不用再冒启动时系统还没来得及加载防毒软件的风险。

2)虚拟化的“沙盒”概念

    虚拟化的“沙盒”概念似乎推进的更快。Intel宣布了vPro技术蓝图,进一步扩展了虚拟化功用。未来Intel的处理器将会基于这个“沙盒”概念划出两个完全隔离的区域。一个控制传统的操作系统以及日常计算所用;另一个独立安全的区域用于灾难恢复和入侵监测。

    赛门铁克则马上跳出来宣布要开发产品,充分利用vPro中的第二个区域,设想使用一个监控程序来检测系统运行情况。当发现主机系统遭到网络上的安全攻击时,监控程序可以相应地阻挡数据出入网络环境。这种趋势随时间发展会更加明显,一些硬件厂商,包括网络接口和内存制造商都宣布要在未来的服务器和桌面机中支持分区能力。

3)虚拟化的自动化

    今日的虚拟化技术可以用于安全上的多个方面,但它仍需很多人工的配置和操作。也许在几年内,它就能更加智能化,成为真正意义上的自动防御保护系统。

    VMware首先提到了在主机操作系统层上建立一个IDS,提供透明的通信分析和威胁侦听。听起来IDS只能对进行中的攻击发出预警而无法阻止,但一旦安全监控器与在主机层与虚拟架构建立起联系,那IDS能做的就不仅仅是预警了,而可以终止恶意程序的攻击,成为IPS。

    举个例子,当IDS发现端口扫描的行为时,立即请求运行Snapshots保存虚拟机的安全点,或是做个内存信息的快照,发送这些数据到安全部门进行分析。为避免类似的攻击,IDS可以在主机层调用虚拟机系统补丁。更进一步,IDS发现入侵进行后,能马上将信道改到另一个虚拟网上,虚拟网上有“蜜罐”之类的虚拟机充当攻击目标,同时随时记录类似zero-day的黑客工具和攻击者使用的技术信息。

    描绘的前景是美好的,但革新之路并不容易走。要实现上述的目标,得实现两个前提:整个数据中心必须迁移到虚拟架构下;虚拟机上完成处理的时间必须大大缩短。尽管如此,目前迅猛发展的趋势使我们有理由相信,技术上的困难必定会被克服,未来的目标必然能够实现。

小结

     服务器虚拟化的出现并非仅仅为了服务器的合并,事实证明它将会在安全问题上发挥重要的作用,简化和改进一系列相关的任务。从灾难恢复到犯罪分析,再到入侵检测和拦截,所有这些无不证明着虚拟化对于安全方面的重大影响,它所带来的影响必将继续下去,产生深远的意义。

    虚拟化工具的自动化仍然是目前研究的热点,要过的技术壁垒也很多。不过我们今天使用虚拟化已经获得了显著的安全性,明日待到虚拟架构下安全系统的自我防御、数据中心的自我修复完全实现时,可以想象那是多么惬意的一个场面啊!也许到那时我们才能真正体会到今天工作的重要性。

2007-5-9 21:01 蓝色虫
优化VMware Server虚拟机系统

【IT168 专稿】在现实情况中,许多商业程序只能分别在Windows或Linux下运行。那么,如何在同一台主机上运行Windows和Linux两种系统,以支持尽可能多的应用软件,就成了一个重要的课题。VMware Server虚拟机模拟软件的出现为解决这一问题提供了不错的方法,它可以同时运行Linux和Windows等其它操作系统,且每个操作系统在各自独立的窗口里运行。

    不过,尽管可以在Windows主机下运行VMware Server,但不推荐这么做——Windows的蓝屏死机会让Windows主机和Linux虚拟机系统同时挂掉,所以我们选择在Linux下运行虚拟软件。这种模拟能帮助Windows用户容易地过渡到Linux,它让用户在使用新的Linux应用程序时就像在使用熟悉的Windows应用一样,且用户不需要关心它是运行在Linux下还是Windows下。

    当前,VMware主要有三个版本:VMware Server、VMware Workstation和VMware ACE。VMware Server是免费的,它给Linux提供了多操作系统功能。VMware Workstation和VMware ACE为程序开发人员提供额外功能,例如给一台虚拟机分配多个CPU,给虚拟机设置安全策略。

[b]主流x86多系统的选择[/b]

    虽然在Linux下运行Windows或其它操作系统应用有几种方法,但我觉得VMware Server是最符合我的要求的。当然,所有的模拟软件都会降低性能,并且消耗更多的内存。所以,我的测试系统配备的是Athlon 3500+的CPU,1GB DDR2的内存——VMware在Duron 1800、512M DRAM和3GB的虚拟内存(交换文件)下也能运行得不错;但如果同样是Duron 1800的CPU,只配置1GB的虚拟内存(交换文件),运行起来就不太流畅了。另外,如果有硬件虚拟化支持(如Intel VT和AMD-V)就更好了,但对VMware Server来说这并不是必需的。

    其他几种运行外部操作系统应用的方法及其特性与限制如下表所示:

[align=center][img]http://publish.it168.com/2007/0508/images/419315.jpg[/img][/align]

[b]Vmware的系统优化[/b]

    在不同的Linux版本中安装VMware Server有细微的差别。注意,本文的重点不在于如何安装VMware Server软件,而是要告诉你如何优化系统,使VMware Server更有效地工作。

    首先,我们从[url]http://www.vmware.com/download/server/[/url]下载VMware Server(下载时需要提供注册号码),从[url]http://ftp.cvut.cz/VMware/VMware-any-any-update105.tar.gz[/url]可以下载各种补丁,包含一些支持VMware Server的内核模块。注意,当运行VMware的配置脚本时,会提示你输入VMware设备的目录名称,把/var/lib/VMware/Virtual Machines改成/var/lib/Virtual_Machines。因为如果有空格,在用命令行应用程序访问时会有很多麻烦。另外,当在虚拟机配置向导里提示输入虚拟机名称时,也不要带空格,如要用Windows_98代替Windows 98。

    不论VMware虚拟机系统依赖什么配置,运行起来和在物理机器本地运行是一样的。比如,假设USB有问题,则在Windows控制面板里,找到系统、设备,就能看到跟物理机器安装时一样的错误图标。其它如音频、网络、视频以及各类驱动问题也是一样。

    如果你以前安装过VMware Server(你可能只是升级下主机系统或者换个Linux版本),只要把.vmx和.vmdk文件放到相应的地方,如/var/lib/VMware/Virtual_Machines/,然后改变文件的所有者属性和访问权限。从VMware Server控制台选择VM菜单,安装VMware Tools,能提高速度和稳定性,也能让你访问VMware音频和视频驱动。

[b]虚拟以太网卡的配置[/b]

    我们可以通过虚拟以太网卡在虚拟机和主机之间传输文件,系统默认提供的网卡是AMD PCNet PCI网卡,传输速率大约是400Kbps,换成Pro1000的网卡,能提高到3Mbps。VMware Server的虚拟以太网卡在vmx配置文件里就是一行文本,跟实际网卡一样,它也需要驱动程序。如果驱动程序位于C盘下的好几级目录中(如下图),那你应该创建一个快捷方式放在C盘根目录下,这样安装驱动时就不用找来找去了。

[align=center][img]http://publish.it168.com/2007/0508/images/419334.jpg[/img][/align]

    进入/var/lib/VMware/Virtual_Machine/Windows_98。用一个文本编辑工具打开.vmx文件,在Ethernet那一节的第一行前插入:ethernet0.virtualDev = e1000。保存文件,退出。然后,启动虚拟机下的Windows系统,做如下操作:

1. 从开始菜单的设置-系统-设备下删除AMD网络适配器。
2. 重启虚拟机Windows系统。
3. 当提示你为一个PCI以太网卡安装驱动时,点取消。
4. 打开开始菜单-设置-系统-设备,找到那个有问题的网络设备。
5. 右键单击该网络设备,选择安装驱动。
6. 选择“从磁盘安装”。
7. 到你刚刚创建的快捷方式,选择.inf驱动安装文件,点击OK,就会看到一个列表。
8. 然后选择Intel Pro/1000 MT桌面连接,点OK。
9. 当提示你要Pro/1000安装包时,选择C盘的快捷方式。当提示需要Windows安装盘时,插入光盘。
10. 点击完成按钮。
11. 重启。
12. 改变网卡设置,选择开始菜单-设置-网络-Intel® Pro/1000 MT 桌面连接-属性-高级-连接速度和双工,选择1000Mbps自动协商。

[b]通过Samba在主机系统和虚拟机系统间共享文件[/b]

    通过VMware Server安装虚拟机系统,最大的好处就是可以用传统的Windows应用程序和本地的Linux应用访问同一个文件。因此,在Linux主机系统和Windows虚拟机系统之间共享文件是必需的。Samba是一组给Windows客户端提供文件和打印机共享服务的程序集合,可以让这些客户端象访问网络磁盘一样访问Linux文件系统。下面我们给出出一些提示供参考。

    首先,保证系统已经安装Samba。通常是默认安装的,但最好查一查。在下面的Samba配置文件中,“Username”指你的用户名,Linux主机系统下的用户ID要和Windows虚拟机系统下的一致。这个文件定义了Linux和Windows共享的基本配置。更多的信息,可以运行如下命令查看Samba的帮助文件:$ man Samba。或者到Samba的网站查看相关文档。

[b]1)VMware Server的Samba配置[/b]

    用root用户打开一个Linux文本编辑工具,把下面的内容保存为文件:/etc/Samba/smb.conf (;表示注释行)

[global]
;General server settings

netbios name = FC6
workgroup = workgroup
wins server = 169.0.0.1
server string = Samba Server
printcap name = /etc/printcap
cups options = raw
log file = /var/log/Samba/%m.log
max log size = 50
socket options = SO_KEEPALIVE TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192

; SO_SNDBUF=8192

dns proxy = no
guest ok = yes
guest account = username
security = user
encrypt passwords = yes
username map = /etc/Samba/smbusers

smb passwd file = /etc/Samba/smbpasswd

restrict anonymous = no
domain master = yes
preferred master = yes
max protocol = NT
acl compatibility = winnt
ldap ssl = No
server signing = Auto

[win]

path = /home/username/data/
writeable = yes
valid users = username
comment = home
admin users = username
browseable = yes
case sensitive = no

    配置文件中的“path”指你需要共享的Linux目录,也就是你允许Linux和Windows都能访问的文件空间。在Windows虚拟机系统下访问时,你可以选择“映射到网络驱动器”。这时,你就能看到你在Linux和Windows共享的内容了。刚安装的Windows系统访问Linux主机系统时,可能会因为Windows安装了防火墙而弹出一个提示框,如下图:

[align=center][img]http://publish.it168.com/2007/0508/images/419341.jpg[/img][/align]

    如图所示(假设本地IP是196.x.x.x范围的),告诉你的防火墙允许NetBIOS访问那个IP:


[align=center][img]http://publish.it168.com/2007/0508/images/419344.jpg[/img][/align]

[b]2)有用的SAMBA提示[/b]

    下面的提示可以帮助你更好的在Linux和Windows共享文件:

· 在物理主机上运行Windows系统时,不用修改已经共享的目录名称。只把那些非Windows系统不能访问的文件放在Windows驱动器下。

· 因为你不能在Linux系统下直接访问虚拟机系统下的文件,所以最好把数据文件保存在Linux空间下,然后通过Samba共享给Windows程序用。

· 在Windows桌面上的快捷方式点击右键,把驱动盘符C改为E,这样你就可以继续使用这些快捷方式。

[b]设置音频[/b]

    VMware Server下的虚拟机系统能够处理多媒体内容,并通过声卡播放声音。如果你的主机系统和虚拟机系统都是64位的,可以到Vmware官方网站上下载驱动([url]http://download3.vmware.com/software/wkst/vmaudio-5.10.0.350[/url])。下载之后,复制到Windows文件系统下,安装时跟安装其它音频驱动一样。其它情况需要这样做:

1. 打开控制面板-设置-系统-声音,安装Windows声音驱动。
2. 删除所有的音频驱动。
3. 安装驱动文件。
4. 重启,在驱动文件里找到系统提示要的.cat文件(或其它配置文件),点击OK。
5. 播放一个声音文件。
6. 把KDE的声音管理设置改为“自动检测”,然后告诉它空闲2秒钟后释放资源。

[b]USB设备配置[/b]

    通过VMware Server下的Windows应用可以直接访问打印机、扫描仪或者其它USB设备。如在VMware Server控制台的菜单查找打印机:VM > Removable Devices > USB Controller > printer(如下图)。

[align=center][img]http://publish.it168.com/2007/0508/images/419358.jpg[/img][/align]

    那么,如何在VMware里使用USB打印机呢?其步骤如下:

1. 打开VMware Server。
2. 点击Windows标签。
3. 点击添加设备。
4. 添加USB控制器。
5. 启动Windows。
6. 打开VM工具栏,VM > Removable Devices > USB Devices >[你的打印机名]。
7. Windows会提示找到新设备,要求你选择一款打印机或者从磁盘安装驱动。插入你的打印机驱动光盘。
8. 点击OK,能看到一个安装成功的提示窗口。
9. 打开开始菜单-设置-打印机,就能看到你的打印机了。
10. 右键打印机图标,选择属性。
11. 点击“打印测试页”,看看打印机是否打印出来。

    同样,安装扫描仪和其它USB设备也可参考上述步骤。值得一提的是,VMware虚拟USB适配器可以同时使用两个USB设备。安装第二个USB设备时,只要按照上面的步骤到VMware工具栏那一步就可以了。

    另外,一个USB设备可以被Linux主机系统使用,也可以被Windows虚拟机系统使用,你必须确定是哪个系统在使用它。选择菜单VM > Removable Devices > printer在虚拟机Windows系统下禁用打印机,这样主机的Linux系统才能使用它。然后重新插拔一下打印机的USB线。打开打印机管理器,先停用、再启用一下打印机。

    在主机系统和虚拟机系统之间切换USB打印机,你需要在VMware Server上关闭USB设备,甚至通过重新插拔一下来重启设备,然后打开Linux开始菜单-控制中心,点击外设-打印机,选择相应的打印机菜单,点击下拉菜单的重启项,重启CUPS Linux打印系统。

优化VMware Server虚拟机系统的小提示

    下面是我常用到的小提示:

· 磁盘速度:大多数版本都有调整硬盘速率的选项,借此你可以让硬盘访问速度加倍。

· 把虚拟硬盘文件(即VMware虚拟机系统的“硬盘”)分割成多个2GB的文件,我发现这样能显著提高访问速率。

· 一些优化Windows系统的小技巧在虚拟机下也可以用,当然最好安装防火墙和反病毒软件。

· 如果映射驱动器上的某个程序运行慢或者有问题,可以在Windows虚拟机系统下重新安装试试。我就重新安装过Eudora、MS Office、CorelDRAW和Paint Shop Pro。如果你本地安装的Windows系统在C:\Program Files下有程序,也安装到虚拟机的虚拟硬盘上去,不要留在映射驱动器E:(也就是/home/username/win)上。

    最后,值得一提的是,分割虚拟硬盘文件不仅有利于提高访问速率也有利于备份。通过以下命令可以分割虚拟硬盘文件:# VMware-vdiskmanager -r sourceDisk.vmdk -t 3 destinationDisk.vmdk。完成之后,要修改一下访问权限:

chown username:username *.vm*
chmod 777 *

    打开原来的.vmx文件,保证里面的硬盘项是指向分割后的文件里的第一个。VMware相关的文件列在/etc/VMware/locations这个文本文件里。

    在Linux主机系统之上通过VMware Server运行Windows虚拟机系统,让用户可以同时使用两个系统。也就是,既可以享受Linux的稳定性和健壮性,又能享受Windows程序的易用性和通用性。也为现代计算机系统的后续扩展提供了空间。随着Linux程序变得一样易用而功能强大,普通用户也能比较容易的使用Linux程序。

2007-5-18 18:04 蓝色虫
VMwareServer和ESXserver

【IT168 专稿】今天的用户面临着不同以往的市场局面,不同厂商的产品纷纷涌现,即使是同一厂商,也有许多不同的产品面世。那么如何从这纷杂的市场里选出一款满足自己需要的产品呢?买性能最好的?这就意味着大量的投资。很抱歉的说,在讲究成本节约的企业里这种想法无疑是“此路不通”。那就买一般的?但你有没有考虑到今后系统的复杂性的增加以及虚拟机个数的增长速度呢?到时的系统还能满足需要吗?所以,选择一款合适的系统并不是一个简单的问题,需要有多方面的考虑。

    本文我将介绍虚拟化市场领头羊VMware的产品,比较一下它针对企业用户的两款系统——免费的VMware Server(以下简称Server)和昂贵的ESX Server之间的区别,从中可以看出究竟哪一款适合您?

   [b]免费的东西未必不可靠[/b]

     说起免费的VMware Server,浮现在人们脑海里的第一印象就是:这很可能是拿来用作研究用的,肯定不如商业产品性能好、够稳定。所以在考虑构建结构复杂、要求稳定的商业虚拟化系统时,这种根深蒂固的偏见首先就把VMware Server排除在外。

[align=center][img]http://publish.it168.com/2007/0516/images/432340.jpg[/img][/align]

     事实真的如人们所想的那样,免费的VMware Server就真的那么不稳定吗?我们有必要来回顾一下历史。还在VMware推行它宏伟的虚拟化蓝图之前,ESX Server的上一代版本GSX Server已经销售了五年之久,它当时的售价接近现在的ESX Server。和ESX Server一样,GSX Server也是专注于数据中心的布置,后来VMware发布了企业管理工具VirtualCenter,可以使管理GSX Server和 ESX Server完全一样。

[align=center][img]http://publish.it168.com/2007/0516/images/432342.jpg[/img][/align]

    自从2001年VMware推出GSX Server至今,已有300多家著名大公司采用了该系统。2005年末,VMware终于推出了该公司史上第一款虚拟化产品VMware Play。接下来,又做出决定把即将推出的GSX Server 4.0转为免费,并重新命名为Server 1.0。这就是VMware Server的由来。

    既然Server的前身GSX Server经过了那么多稳定性的考验,那么我们也有理由对其抱有信心,而未必将它认为是研究用的测试品。

[b]性能:ESX Server更强[/b]

    撇开价格的因素,购买人员要考虑的还有性能的要素。目前还没有在同一硬件、同一虚拟机的两平台下的性能比较报告,不过系统构建方式的不同还是可以使我们推测出两者性能的差异。

    VMware Server需要一个底层的操作系统的支持才能运行,而其同门大师兄ESX Server却不需要,他采用的是一种业界称为bare metal的解决方案。也就是说ESX Server部分起到了操作系统的功用,它可以充分调动硬件资源去实现各种虚拟化下的任务,这一点和虚拟设备类似。

    由于VMware Server和ESX Server设计方案的不同产生了不同的性能表现。Server有主机OS的束缚,无法完全利用硬件资源;而ESX Server则极力压缩了OS层,使得虚拟机尽可能直接面对硬件,调动资源的效率更高。

    ESX Server这样设计的好处不仅体现在性能上,它还带来了更高的合并率。合并率指的是同一台服务器中的每个CPU内核能正常处理的最大虚拟机数量。VMware官方推荐的合并率:Server为2-4,而ESX Server则为4-8。从中不难看出ESX Server 的优势所在。

    不过合并率是要受到虚拟机上的负载量和内部应用程序运行状况的影响。一个工作状态很忙的ESX Server可能每核的合并率达不到3;相反,一个状态很轻松的Server 则有可能每核支持十个Web服务器。

    总得来说,从架构分析及其带来的性能和合并率的差异可以看出VMware Server和ESX Server之间的差别。但同一个特性,从另一个角度来看,优点也有可能变成缺点。

[b]方便性:VMware Server更好[/b]

    比如,ESX Server直接控制硬件带来性能提升的一个具体表现:VMFS,这是VMware自己开发的一种文件系统格式,用于存储虚拟机数据。相比现在OS提供的多功用文件系统格式,VMFS读取更快、更可靠。不幸的是,以VMFS格式存储的虚拟机想要迁移到VMware其他的虚拟环境下,却不得不面临转化格式的繁琐和风险。同为VMware环境下的迁移已是麻烦不断,其他环境就更不好说了。

    相比而言,VMware Server没有采用VMFS,它的性能只能取决于主机OS,如Windows或Linux的文件系统,但其虚拟机文件却可以烧录在DVD或存储于USB设备中,方便地在各电脑间传输,我们甚至可以把它理解成一个拥有许多文件的标准文件夹。

    除了文件格式带来的迁移和传输的困难,ESX Server还面临着驱动的问题。比如说VMware没有给ESX Server装载本地SATA接口的硬盘,所以ESX Server的用户不得不考虑本地SCSI接口硬盘,或者远程的存储设备,像NAS、SAN之类。

    驱动的短缺不仅会影响某个硬件设备的使用,还会影响到整个系统的运行。VMware出于战略上的考虑,只是对市场上一部分硬件提供了官方驱动支持。所以说,不是所有数据中心的硬件都能运行ESX Server。相反,Server依附于底层的OS,而这些OS一般都提供了丰富的驱动,大大扩展了Server的使用范围。像OS支持的远程iSCSI硬盘连接、本地磁带备份单元等,都能被Server虚拟机所支持。

    应用软件的可用性和支持度也是两者差别的一个方面。ESX上除了一些固有的有限的服务程序和工具外,用户自行安装新的软件一般会由于缺乏必要的库文件而无法运行。可想而知,解决这个问题对于一般用户来说简直就是天方夜谭。

    这样设计的确降低了安装不明软件带来的风险,但与此增加的是用户无法自主的烦恼,VMware也没有提供任何的辅助工具来帮助解决问题。Server由于底层OS的支持,一如既往地保持着良好的可用性,用户可以自行在上面安装磁盘碎片整理工具、备份工具、性能监控器、远程管理等。

[b]安全性:两种模式,各取所需[/b]

    安全性是两个产品不同的另一个重要方面。ESX Server具有虚拟设备的所有特点:自封装的专用系统、针对性能进行的优化、最小的攻击界面,还有预设置的应用程序(比如防火墙、防毒软件)。ESX Server内部只有一些必要的管理工具,厂商并不支持用户自行安装任何可能带来安全漏洞的软件。

    从有利的角度来说,ESX Server这种虚拟设备的方案简化了系统维护的手续,净化了系统的安全,同时管理者无需再关注系统补丁的发布。只要有新的漏洞出现,用户只需等待VMware提供最新的系统替换文件。以上措施直接的好处就是降低了TCO(total cost of ownership)。

    然而,在用双刃剑一面杀敌的同时,也有可能被朝向自己的另一面剑刃所伤。在ESX Server中,由VMware给我们补漏洞是一件省心的事情,但如果VMware延迟了发布时间呢?我们有漏洞的系统岂不是暴露在各种网络攻击之下,这是件很让人不安的事情。

    前面还有提到的就是ESX Server的黑箱封闭系统不容许用户进行操作,也就是说用户对系统没有完全的控制权,对于某些公司来说是不可接受的。他们可以选用完全可操控的Server,然而这一个优点站在另一个角度又成了缺点:这意味着需要有大量的专业知识,知道该如何去巩固、健全和保卫这个系统,其中重要、也是最花时间的工作就是不断寻找、测试、发现和修补系统的漏洞,如果你不想被恶意入侵的话。

    你每天要关注最新的安全公告,下载安全补丁,然后安装完毕。但这并没有结束,我们知道,安全漏洞补丁虽然补上了系统漏洞,但有时却会影响到整个系统的稳定性。评估升级后的系统是否比升级前了的更可靠,这又是一个重点。

    当然了,不是说采用了Server类似系统的公司就必须要成立一个专门的研究实验室,得有昂贵的检测仪器,还有QA小组专门负责此事。不过总得付出一定的代价请得一些专门的技术人员来管理系统,毕竟这是关系企业安全的大事。

    以上两种选择方案:要么完全操控式方案,升级测试完全自己做主;要么选用黑箱式方案,把这些升级测试的烦事交给厂商(比如VMware)。两种选择要看那种符合自己的需要,个人觉得如果不是太重要的服务器,可以采用第一种方案。如果是要求稳定性比较高的虚拟环境,第二种方案更为保险一点。

[b]培训周期的不同[/b]

    ESX Server和VMware Server两者在结构设计上的不同还带来了培训周期的不同。显然ESX Server这个系统对于惯于微软技术的工作者来说,可能培训周期就要长一些,因为需要了解一些Linux环境的知识才行。平台接受得慢,自然发生故障处理问题的能力自然也要慢一些,如果慢到了公司决定不再投资ESX Server环境的培训,那Server环境可就有机会上场了 。

    Server可以基于Windows或是Linux平台,培训周期自然要短一些。那是希望花更长时间熟悉全新架构来达到性能的提升,还是继续沿有已有知识,缩短熟悉时间来最快地解决出现的问题,这就得看您的决定了。

    以上介绍了VMware Server和ESX Server在性能与方便性、安全性与培训周期的不同点,下篇将继续介绍它们与VirtualCenter结合的不同,以及给出一些采购建议。

2007-5-18 18:06 蓝色虫
VMwareServer和ESXserver

[b]ESX Server与VirtualCenter结合更紧密[/b]

     如果说前面提及的ESX Server和Server的区别并不是太大的话,那么随着VirtualCenter的加入,差别变得明显起来。

    两者结合企业级的管理工具都能实现一些功能,比如集中式多主机监控台、虚拟机列表清单、临时的虚拟机快速生成储备库、虚拟机登陆准入系统,还有灵活的警报服务等。

    但是ESX Server与VirtualCenter结合更紧密,能够实现一些更复杂、更高级的操作功能,比如著名的VMotion:无需中断服务,将一个虚拟机从一台物理机上迁移到另一台上。在最新的ESX Server 3.0和VirtualCenter 2.0中,这种结合达到了一个新的高度,甚至于被统一到一个名为VMware Infrastructure 3的系统下,由此带来了更多功能的实现。

    新功能之一是可以检测数据中心中物理主机的故障,并在故障发生时,在另一台可用的物理主机上重启故障机上的虚拟机,以保证工作的正常运转。另一个值得一提的新特性为:如果物理机发生过载,系统可以动态地把过载物理机上运行中的虚拟机迁移到另一台任务轻松的物理机上,实现负载均衡。所有过程无需人工干预,且无需中断服务。

    也许这些诱人的新特性已经打动了每一个渴望降低维护成本的管理人员的心,然而我想说的是:你得准备一大笔钱去采购硬件设备了,如果你没有超高速网络连接,没有建立昂贵的SAN底层架构的话。因为如果没有这些,你将根本没有机会去实现上述特性。

    作为免费版的VMware Server没有与VirtualCenter紧密结合,所以没有ESX Server的高级特性。虽然有消息称未来的VMware Server有望置于VirtualCenter 2.0的管理之下,但仍不确定VMware是否会将一些高级特性解密于免费的VMware Server平台上。

    目前来说,采用Server平台的商家要想实现VMware Infrastructure 3的一些高级特性的话,还得借助于第三方解决方案,比如vizioncore提供的一些产品。

[b]VMware Server需要技术支持吗?[/b]

    前面提及,免费软件经常会被认为是不可靠、性能不佳、功能不全而不被企业采用。然而,企业的IT管理员最在乎、最关心的是他们所购买的产品能不能得到厂商的技术服务和支持,他们不敢信任没有技术支持和经济实力的公司。

    所以基于此点考虑,VMware提供了免费的Server产品,同时提供企业级的收费服务支持。可能有些企业(特别是小型企业)觉得通过一些网络上的文献、技术资料、blog和书中提到的一些解决方案就能解决虚拟架构下的所有问题。所以,他们认为技术服务是不必要的。

    但我们要知道,虚拟架构的复杂性导致的问题远远超出了他们的想象,包括一些硬件兼容性问题、自行安装的应用程序导致的虚拟机不正常行为,还有就是可能出现莫名其妙的突然瓶颈现象。凡此种种,不一而足。难道这些复杂的问题都能自己解决吗?

    虚拟化平台的运行其实是一个任务繁多、关系重大的系统,想一想有那么多的虚拟机及其相关服务都依赖在这个平台上。一旦平台出现问题,那带来的后果可想而知,所以购买厂商的技术服务应该是非常必要的。

    从技术商业服务的角度来看,VMware Server和ESX Server都是一样的,所不同的正如一个软件有黄金版和白金版之分而已。

[b]小结[/b]

     VMware Server 和 ESX Server采用了不同的方法来解决相同的问题,满足了用户不同的需要。

    对于追求系统最佳的性能表现以及数据中心部分自动化的客户可以考虑选购ESX Server,但这需要在硬件设备的购买、执行操作和训练时间上投下相当的人力财力。

    如果客户需要最快的上手时间以及灵活的解决方案,可以选择VMware Server。而且我们有理由相信:在任何的虚拟环境下,VMware Server都是可靠和值得信赖的。

2007-6-19 20:40 蓝色虫
测试手记:如何提高Vmware虚拟化的性能

【IT168 专稿】通过把应用整合在一个单一的系统上,Vmware虽然节约了成本,提高了灵活性并且加强了应用管理,但这些是有代价的。本文的目的就是想通过测试来看看,虚拟化在哪些地方会影响系统性能,以及如何尽可能地减少这些影响。

[b]虚拟化的价值与代价[/b]

    在对Vmware Infrastructure 3 Suite的测试中,我们发现VMware ESX Server 会导致不少于10%的性能损耗,最高能达到20%。我们不是说VMware会让系统运行起来磕磕绊绊——硬件虚拟化确实是一种不错的方法,可以帮助你简化服务器整合的复杂度,节约成本和能耗,而且只要有正确的规划,也还是能避免一定程度的性能损耗。但不管怎样,性能损耗总是会存在的。

    在波士顿合作伙伴的实验室里,我们的测试发现,运行ESX Server最主要的好处无疑就是能通过多个虚拟服务器运行多个应用程序,从而最大限度的利用现有的硬件资源。这一点对于硬件厂商来说,却是一种噩梦:Gartner预测这项技术可能导致x86服务器的年复合增长率到2010年会降低0.6个百分点。

[align=center][img]http://publish.it168.com/2007/0619/images/486471.jpg[/img]

虚拟化的价值与风险
[/align]

    而且,有意思的是,当我们最近问读者他们觉得哪项技术最没前途,虚拟化居然排到了第二,就在SOA的后面。20%的受访者表示还没有认识到厂商们宣传的虚拟化好处。

[align=center][img]http://publish.it168.com/2007/0619/images/486472.jpg[/img]

虚拟化好处的用户调查
[/align]
    当然,我们仍然认为虚拟化技术是一件好事。不管你是用Microsoft Virtual Server、VMware、Xen还是其它的软件,虚拟化技术确实有许多好处——从更好的利用物理设备到改善应用管理,以及在多台机器之间分配资源的能力等等。使用虚拟机,把老的应用从旧硬件迁移到可靠性和可用性更高的新系统上,可以大大减少物理服务器的数量。通过测试,我们发现了一些方法,可以增强虚拟化技术的价值,减少性能损耗。

    在具体探讨性能影响问题之前,我们先来看看虚拟化在服务器整合、系统管理、软硬件兼容、虚拟机与应用迁移,以及资源分配等方面的一些价值、代价和注意事项。

[b]1)“把所有鸡蛋都放在一个篮子里”所带来的风险[/b]

    在一台物理服务器上运行多个虚拟机,跟每台物理服务器运行一个应用相比,硬件故障会影响更多的应用。但对多数情况,冒这种风险还是值得的。对于拥有过多服务器的小型数据中心而言,通过整合可以减少服务器数量,从而有利于控制机房空间成本和散热成本。但是,一旦数据中心断电或发生火灾,这种整合也会影响到更多的应用。因此,如果你要使用虚拟化技术,最好有一些冗余设施来尽量降低风险。

[b]2)虚拟化增强了系统与应用管理的灵活性[/b]

    在系统管理方面,虚拟化提供了一个具有移动性和灵活性的隔离层,能帮助IT工程师做好硬件维护、排除硬件障碍,做好应用支持,提高应用管理的性能。比如,象VMware这样的虚拟化环境可以提供它自己的虚拟硬件和BIOS,来支持操作系统和应用程序。这使得管理员把某个应用迁移到另一个系统上更加容易——应用很少受到硬件兼容性问题的干扰,因为所有的虚拟硬件都是相同的。具体来说,就是简化了日常维护。如果某台服务器要下线,只要把那台服务器上的所有虚拟机迁移到另一台运行虚拟机环境的服务器上去就可以了,应用不会被中断。

[b]3)注意软硬件的兼容性问题[/b]

    在应用软件的技术支持方面,只要软件厂商支持自己的软件运行在虚拟环境中,一般硬件相关的兼容性问题是可以避免的,但不是所有的都可以避免,因为一些应用和整合后的存储设备(如iSCSI和SAN子系统)之间存在一定的耦合关系。这就需要在虚拟环境中安装一些特定的驱动程序,并得到厂商的技术支持。

[b]4)虚拟机可灵活迁移,但增加管理成本[/b]

    虚拟机的移动性也使得IT管理人员在把一个应用从某台服务器迁移到另一台上时更加容易,这种能力有助于IT环境动态、灵活地适应业务需求。比如,某台服务器运行了4个虚拟机,但有一台虚拟机上的应用需求突然增加了,使得服务器无法继续支持这一应用。于是,管理人员就可以把这个应用迁移到一个性能更强大的系统上去,或者把其他虚拟机迁移到其它服务器上去以释放资源。

    但是,这会增加虚拟机镜像的管理成本。为了获得真正可移植的环境,以便虚拟机在系统间迁移或者从灾难性硬件故障中恢复,企业必须购买一些特殊的工具,如altiris的部署解决方案。另外,他们还必须保证虚拟机镜像的实时更新,了解网络和存储的拓扑结构,以便当一个虚拟机迁移到另外一台服务器上时,还能有效地访问存储子系统。

[b]5)尽量确保虚拟机之间不会争抢资源[/b]

    总的来说,通过创建虚拟硬件,ESX Server使得IT工程师能够在同一套物理环境中安装多个操作系统。关键在于,要确保运行在这些虚拟机上的应用不会互相冲突而降低应用性能,只有这样,才能最大化的利用硬件资源。

[b]虚拟机性能影响:磁盘、内存和CPU[/b]

    我们的测试环境是两台Dell PowerEdge 2850服务器。这两台服务器的配置一样,都是两个Intel Xeon双核CPU、2GB内存和三块硬盘的RAID阵列。Xeon处理器含有Intel VT虚拟化技术,提供了CPU虚拟化的代码优化。然后,我们运行了三种应用——微软Exchange Server 2003、SQL Server 2005和IIS(Internet信息服务),并采用了一些免费和商业性的工具软件,包括微软Exchange Server 2003负载模拟器(LoadSim)、SQLIOSim以及Borland的SilkPerformer 2006 R2。

[img]http://publish.it168.com/2007/0619/images/486517.jpg[/img]

    从根本上来说,跟直接在物理服务器上运行某一应用相比,在基于同一物理平台的虚拟机上跑同一应用,一定会产生性能上的损耗。在我们的测试中,这种损耗随应用的不同而变化,但一般少于10%,在6%-20%之间。

[b]1)磁盘问题[/b]

    跟一般企业的实际应用不同,我们的测试环境中没有专门的存储子系统,如为特定应用存放数据的SAN。对于Exchange这样的应用,SAN不仅仅是提供数据存储和数据管理,也可以防止资源冲突,如当操作系统和应用程序要同时访问虚拟内存和磁盘的时候。因此,如果有一个专门的存储子系统,就能减少这样的资源冲突。另外,在同时运行多个虚拟机时,还要看应用是否需要持续的访问磁盘。

    在用LoadSim测试Exchange和用SQLIOSim测试SQL Server时,都有频繁的磁盘读写操作,但Exchange Server 2003和SQL Server 2005的性能仅降低了6%。这一结果说明,在虚拟机不会争抢访问磁盘的情况下,虚拟化对那些主要依赖驱动性能的应用影响并不大。

    ESX Server不支持动态分配磁盘空间,除非添加存储设备。从实际应用的角度来看,这确实是个棘手的问题。在决定某一台服务器上能运行多少个虚拟机时,一个关键因素可能就是包含磁盘空间的虚拟机镜像的大小。在默认情况下,ESX Server为一台虚拟机分配的磁盘空间是4GB。在测试中,为了保证有足够的空间安装应用程序和后续软件升级,我们给虚拟机分配的最小空间是10GB。而我们的系统总共有128GB的磁盘空间,因此可以安装10个虚拟机。

    值得注意的是,随着应用负载的变化,性能表现也会随之变化,有时我们不得不考虑把一个虚拟机从服务器上删除。但问题在于,在虚拟机移除之后,新释放出来的磁盘空间因为性能问题无法再分配给其它虚拟机使用,这些空间也就被闲置了。

    我们的测试结果表明,要想在同一套硬件系统上运行多个需要大量磁盘操作的应用时,就不要指望特别好的性能了,除非每个应用的数据存放在特定的存储子系统,如SAN。比如在同一套硬件系统上组合运行微软 Exchange Server 2003和SQL Server 2005时,如果两者都进行频繁的磁盘操作,性能就很一般,而如果Exchange更多使用磁盘子系统,而SQL Server更多使用内存时,性能表现就要好得多。

    如果你计划动态地迁移虚拟机时,一定要考虑好存储的问题。比如,当一个应用不再需要时,你会考虑把一个虚拟机删除,但问题在于,当你要想把另一个应用迁移到这台服务器上时,你可能会发现,虚拟机的镜像太大了。

[b]2)内存问题[/b]

    就我们的测试而言,ESX Server的损耗主要还是来自系统内存和处理性能上。为了充分利用现有的硬件资源,我们考虑把内存资源进行划分,因为在理论上,现有的内存没有被充分利用。比如,服务器上的某个应用只使用了2GB总内存容量中的512MB,对2.8 GHz CPU的占用率也只有25%。如果把这个应用迁移到VMware ESX Server上,并为其分配512MB内存和700 MHz CPU,我们还有余下的资源可以分配给其他应用。基于这种考虑,我们在测试也根据应用的需求不同对2GB内存进行了划分——比如,SQL Server至少需要1GB内存,而Exchange Server 2003需要512MB内存就够了。

    VMware有内存页面共享技术,可以让VI3分配至少两倍于物理内存的虚拟内存。在你打算整合那些分散在各个物理服务器上,却又不常用的应用时,如文件和打印服务,这项技术就比较有用了。在一台服务器上可以运行10个虚拟机,而这些应用同时需要CPU和内存资源的可能性又比较小,即使同时运行,性能低一点也是可以忍受的。

    不过,在用SilkPerformer 2006测试IIS性能时发现,局域网性能受到了较大的影响——hits per second下降了18%,kilobits per second也下降了20%。这说明,跟SQL Server和Exchange不同,在把应用从一个有2GB内存的主机迁移到一个只有512MB内存的虚拟机上时,要付出相当的代价——内存减少比磁盘操作增多对性能的影响更大。

    当然,为虚拟机增加内存,就能使局域网应用测试的性能提高。把内存从512MB增加到1GB,能提高10%的吞吐量,性能损失也能从20%降到12%。可见,对于那些内存消耗比较多的应用,给虚拟机分配尽可能多的物理内存是有好处的。

    不过,并不是在所有情况下增加资源都能提高性能。比如在测试中给虚拟机多加一块虚拟网卡就不能提升性能;在测试SQL Server时增加内存,也没能提高性能,因为它测试的主要是磁盘操作。

[b]3)CPU问题[/b]

    我们的测试平台包含两个双核的2.7GHz 64位Xeon处理器。不过,ESX Server只能让我们按32位的处理方式来分配CPU,这意味着虽然ESX Server可以执行64位代码来管理虚拟机环境,但虚拟机只能运行32位操作系统和应用程序。值得注意的是,ESX Server能支持64位操作系统,你可以在Vmware下部署64位应用。然而,在32位的Windows Server 2003上运行32位应用程序时,ESX Server只能按32位处理方式分配CPU。当我们试着安装64位的Windows Server 2003时,Windows能检测到这个虚拟CPU也只是32位的。

    此外,可用的资源还包括实际的CPU MHz。理论上,我们可以在虚拟机之间任意划分CPU时钟周期。处理器数量也可以更加灵活,如两个双核处理器在理论上就有四个可供分配的处理器。

    在测试中,我们用两个虚拟机平分4.7GHz的处理能力,在这种配置下,内存密集型测试的性能下降了4%-7%。然后我们把3 GHz的处理能力分配给SQLIOSim,把剩下的1.7GHz给LoadSim,发现性能又回到了原先没有资源竞争时的那个水平。

    ESX Server通过Virtual Infrastructure Client,使用相同的接口和方式来分配CPU和系统内存。在分配CPU处理能力时,可以按可用频率的百分比、或具体的频率值来划分,也可以按可用处理器的个数来划分。在分配内存时,可以按可用内存的百分比、或具体内存大小来划分。

[b]其他一些值得注意的问题[/b]

    虽然VMware提供了工具帮助管理应用性能,但在迁移到ESX Server之前我们还是要多花些时间评估性能需求。不仅要看某个应用需要多少资源,还要看它在峰值运算时的概况。

    在部署虚拟化时,一种常见的应用是在一个虚拟机上运行邮件服务器,而另一个虚拟机上运行文件/打印服务器。但问题在于,如果在下班时有许多人下载邮件、打印大文档带回家看、或者备份文件,这时这些虚拟机性能就会变得很慢,因为会争抢系统资源。

    用来管理虚拟机镜像的Virtual Infrastructure Client有一套工具可以监视虚拟机的性能,但缺乏根据需要自动配置资源的能力。而ESX Server在某个虚拟机的CPU率利用过高时,可以自动地从那些闲散的虚拟机上分出一部分资源来给它用。

    另一个值得注意的是,要关注某个特定应用的资源需求变化。因为,随着时间的推移,有些应用会变得越来越重要,工作负载越来越重,而另一些应用可能不再象以前那么重要,负载也越来越轻。在这种情况下,需要虚拟机有自动适应的能力,如VMware Virtual Infrastructure 3就能够根据资源需求变化把虚拟机迁移到不同的硬件平台上去。如果某台虚拟机影响了另一台虚拟机的性能,你也可以轻轻松松地把它迁移到另一台服务器上去。象Altiris提供的第三方工具也有能创建虚拟机镜像,从而简化按需增加更多计算资源的操作。

    最后,只要你愿意花时间去分析应用性能的变化,使用Vmware Virtual Infrastructure 3中的ESX Server来做虚拟化,就可以实现服务器硬件资源的最大化利用。要用虚拟机把需要不同资源的应用整合到一台服务器上,这样他们才不会争抢稀缺资源。

    在评估性能和管理虚拟机环境时,我们还碰到了一些轻微的性能问题。

1) 在测试中,依靠秒表而不是系统时钟,因为虚拟机显示的时间不一定准确,在测试中有5-10秒的误差,如我们在运行SQLIOSim测试时,发现屏幕右下角的系统时钟总落后于手工测算的时间。

2)在管理虚拟机上的应用时,要注意网络性能的影响。尽管VMware已经做了大量的工作来优化Virtual Infrastructure Client远程控制台工具的显示效果,但我们还是发现性能会受一定影响。运行LoadSim测试时,每次运行结束时要停止存储子系统,删除临时的用户帐号,删除日志文件和重新装载Exchange的邮件存放目录。一般情况下,这些任务大概只要10分钟就能做完,但在虚拟机上要花20分钟,因为要等待控制台刷新。

3)留足时间做部署。我们发现一些基本的虚拟机设置同样令人痛苦。因此,那些帮助你快速设置、部署虚拟机以及安装应用的管理工具还是值得花钱去买的。

    综上所述,我们看到,虚拟化所产生的性能损耗是无法完全消除的。根据应用不同以及应用所需的资源不同(如有磁盘密集型、内存密集型或CPU密集型),性能表现也会不同。为了获得令人满意的应用效果,我们建议:1)要预测虚拟化带来的性能损耗;2)不要指望虚拟硬件资源能比物理硬件带来更多的价值;3)把对资源需求不同的应用分到一组,放在同一套硬件上;4)使用VMware的工具来优化资源的使用;5)采用VMware或第三方工具,使得虚拟机更容易被迁移到其它硬件平台。

2007-9-28 09:33 onebiglazycat
长见识了

我在pc机上用vmware

适合学习使用

^_^

2007-10-15 10:34 tech_010
不错不错,回头再看:P

2007-12-6 14:14 lxs0377
好东西呀,人呢,就得不断接触新的知识

2008-5-17 20:41 freebug
顶Vmware

2008-6-17 09:26 sands
不错不错,回头再看

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.