用ESX进行虚拟化的技巧连载二:VI运行基础架构服务

日期: 2008-04-06 作者:张振伦 来源:TechTarget中国

  服务器虚拟化是一种新的服务器管理模式。物理服务器通常是单个购买的,并且受一定预算款项的限制,必须要考虑是否物有所值。而虚拟服务器基本上是根据自身容量规划的需要大批买进的。这样一来,面对 IT 行业中各种日新月异的变化,您可以使用 ESX Server 平台上额外的容量,而不必在调研前还要为征得具体的预算批准而大费周折,从而为您创造了更多体验新解决方案的机会。借助这一解决方案,IT 人员可以更加充分地发挥自身的创造性,对尚未成熟的解决方案进行全面系统地测试和验证。


  您可以使用虚拟机模板在数分钟之内部署一个服务器,这样,就能在向管理层提交详细的计划之前对产品进行低风险的验证。通常大中型企业的预算制定极其严格,迫使 IT 员工不得不提交一份最有可能获得财务批准的计划。这种情况阻碍 IT 员工的研发进程,不利于他们寻求新的解决方案。尽管这些解决方案行之有效且成本低廉,但相关人员必须访问用于测试的服务器,才能对其进行验证。如今,用户只要访问了虚拟基础架构,轻松地点击几下鼠标便可以获得这些服务器。无论是验证新的解决方案、进行培训和提高技能,还是创建一个世界级的虚拟实验室,虚拟化技术都将会改变整个 IT 行业的管理方式。如今的 IT 行业能够提供范围更广的服务,从而使广大系统管理员的聪明才智得以充分的发挥。


  随着传统 IT 环境中物理服务器的不断增多,这对数据中心范围内的容量规划以及优化资源的管理提出了严峻的挑战。物理服务器将应用程序存储在随机存储器中,并尽可能的减少不同应用程序的 CPU 资源之间的交互。通过将包括 CPU 在内的所有硬件资源纳入池中,虚拟化技术将交互提升到了新的水平。这提供了有效利用硬件的新机会,同时也带来了新的调节风险。投资于虚拟基础架构是一项事关体系结构的决定。它表明您愿意尽可能地寻求与虚拟基础框架兼容的资源管理方法。为了维护所有的基础架构,您必须要改变,有时甚至需要牺牲单个组件以满足整体的利益和完整性。要想从虚拟基础架构投资中获得最大回报,系统管理员必须承认优化基础架构设计和进程的必要性并欣然采用,即使它们有时与物理服务器管理环境中为大家所普遍接受的常识相抵触。文中多处提供了有关这方面的实例。


  愿意采用虚拟基础架构的组织最终决定最大限度地对服务进行虚拟化,并且仅在必要的情况下才部署物理服务器。现在,很多基础架构服务都是通过专用硬件工具、专用服务器或其他独立的解决方案提供的。然而若能通过一个通用的平台提供尽可能多的此类服务,将会减少维护环境所需的管理进程。通过虚拟平台提供大部分的 IT 服务将有助于形成统一的解决方案和策略,以便应对一些常见的问题,如备份、灾难恢复、业务连续性、升级管理、资源估算等。首先,应该消除对在虚拟平台上运行解决方案的偏见。学会倾向于采用既满足业务需要且又与虚拟平台相兼容的解决方案,这样做有助于您从这项技术中完全受益。


  您在考虑基础架构服务的部署时,必须要清楚地了解物理工作负载和虚拟工作负载之间的一些根本性区别,这一点很重要。物理服务器环境下,工作负载存在于隔离的物理随机存储器中。当最大程度地利用这些随机存储器中的可用资源时,工作负载是优化的。这样就会鼓励每个应用程序占用尽可能多的 CPU、内存、磁盘和网络资源,因为已经假定其他的应用程序也会相应地存在于各自的随机存储器中。一个单 CPU 物理文件服务器的平均利用率达到 40%,就会认为它的资源利用率比一个双 CPU 服务器(每个 CPU 的平均利用率为 20% )要高。这反映了在物理服务器置备环境中人们对于垂直工作负载的偏见是相当普遍的。在这里,“垂直”的含义是一个资源容器(如给定服务器或群集中的 CPU、磁盘和内存)的最大利用率。


  虚拟基础架构的情况恰好相反。通常,大的工作负载需要在必要时“横向”分布在多个虚拟 CPU 中,从而最大限度地增强 VMware Infrastructure 平衡整个平台的能力。采用这种工作负载分布方式的原因在于虚拟化技术的核心。ESX Server 调度程序一直在扫描 ESX Server 主机上所有的可用物理 CPU,查找具有富余资源的 CPU, 以便供正在请求时间的额外虚拟 CPU 使用。在一个忙碌的 ESX Server 上,可以放置较小 CPU 支出块的位置要比对 CPU 需求较大的块多。较小的 CPU 需求可以较容易地添加到物理 CPU 中,而不会导致处在同一 CPU 上的其他虚拟机被重新调度到其他位置,同时其他虚拟机进行 CPU 循环的等待时间也不会比先前更长。试考虑如下情形:一个物理 CPU 服务于四个虚拟机,每个虚拟机均会向物理服务器请求其 20% 的时间。此时已分配的 CPU 可以为所有虚拟机提供所需要的循环,而且物理 CPU自身还会剩余 20% 的富余时间。若再向该 CPU 添加第五个虚拟机,则它还可以分配出 15% 的 CPU 时间,而且几乎不会对其他虚拟机造成任何影响。但如果添加的第五个虚拟机请求 35% 的 CPU 时间,则会导致该 CPU 过载至少 15%。这时,调度程序会决定是把五个虚拟机中的一个迁移到另外一个物理 CPU,还是迁移到一个忙碌的 ESX Server 主机,以便通过调度较少的 CPU 循环,在五个虚拟机间分配 15% 的过载。这可能会导致该 CPU 上的虚拟机性能降低。然而,VMware Infrastructure 完全能够以最少的 CPU 开销应对繁重的负载,它可以将工作负载分为较小的块,从而使调度程序以最灵活的方式保持平台的平衡性和响应能力。在一个将工作负载重新分配成较小块的实例中,可能会将一个非常忙碌的文件服务器分成两个或更多文件服务器,每一个文件服务器都针对不同的内容。


  密集型 ESX Server 主机的优势


  将这一原则进一步推广,ESX Server 安装的物理 CPU 数量越多,就越能为相互争用的工作负载提供最佳的服务。当可供调度程序搜寻空闲时间的 CPU 数目越多,则该调度程序不必重新分配虚拟机即可为特定工作负载寻找到可用空间的可能性就往往越大。因此,一般而言,购买两个四路 ESX Server许可证比购买四个双路服务器要划算。同理,两个八路服务器比四个四路服务器的调度灵活性更高。就成本而言可以很清楚地做出这样的决定,但是若考虑到虚拟工作负载的优化,还须关注以下因素:


  <!–[if !supportLists]–>?<!–[endif]–>创建较轻的工作负载,将尽可能将较大的 CPU 要求分成几个较小的块。


  <!–[endif]–>在最大数量的物理 CPU 之间分配工作负载。
 
  这样一来,可以保证 ESX Server 调度程序以最大的灵活性快速而有效地为工作负载提供服务。


  SMP 和 CPU 密集型 ESX Server 主机


  在调度具有多个虚拟 CPU(VCPU)的虚拟机时,就可以显著地发现 ESX Server 主机上额外的 CPU 所产生的积极效果。目前已发布的 ESX Server 3.0 可以支持四路 SMP(symmetric multiprocessing,对称多处理)虚拟机。为了使调度程序为 SMP 虚拟机分配时间,必须同时为每个 VCPU 都找到可用的 CPU 资源。如果一个双 CPU 虚拟机的每个 VCPU 需要 40% 的时间,调度程序将尽量同时定位具有充足资源的两个物理 CPU。根据所分配的 CPU 份额,调度程序可以调度不具有充足富余资源的 CPU 上的虚拟机,只要这些 CPU 上的其他虚拟机可以取消优先级排序。囿于本文的论述重点不同,我们暂且假定所有的虚拟机都具有相同的份额。


  调度所包含的数学问题


  在双路物理 ESX Server 主机上调度双 VCPU 虚拟机时,只有一种调度虚拟机的分配方法。 在四路或八路物理 ESX Server 主机上对双 VCPU 虚拟机进行调度时,可通过以下数学组合公式计算可能的调度机会数:N!/(R!(N-R)!)。其中 N= ESX Server 主机上的物理 CPU 数;R= 被调度虚拟机上的 VCPU 数<!–[if !supportFootnotes]–>[1]<!–[endif]–>。一个运行在四路 ESX Server 主机上的双 VCPU 虚拟机所具有的调度机会为:(4! /(2!(4-2)!),即(4*3*2 /(2*2))或 6。不太熟悉组合数学的读者请注意,X! 记作 X(X-1)(X-2)(X-3)….(X-(X-1))。例如:5! = 5*4*3*2*1。
按照这种计算方法,一个运行在八路 ESX Server 主机上的双 VCPU 虚拟机所具有的调度机会数为:(8! /(2!(8-2)!),即(40320 /(2*720)或 28。这是一个四路 ESX Server 主机所提供机会数的四倍多。四 vCPU 虚拟机更清楚地体现这一原则在四路物理 ESX Server 主机上调度一个四 vCPU 虚拟机时仅有一种可能性;在八 CPU ESX Server 主机上调度一个四 VCPU 虚拟机时所具有的可能性为(8! /(4!(8-4)!)或 70;而运行在十六路ESX Server 主机上的一个四 vCPU 虚拟机所具有的调度可能性为:(16! /(4!(16-4)!),即(20922789888000 /(24*479001600)或 1820。这意味着调度程序有 1820 种不同的方法在 ESX Server 主机上放置四 vCPU 工作负载。对于四路虚拟机而言,当物理 CPU 数乘以两倍(从 8 增加到 16)时,调度机会数可以增多 26 倍。在一个具有四倍物理处理器数的主机(十六路 ESX Server 主机)上运行的四路虚拟机所具有的调度机会,是一个具有四倍物理处理器数的主机(八路 ESX Server 主机)上运行的双路虚拟机所具有调度机会的六倍多。


  这些示例向人们展示了 CPU 密集型 ESX Server 主机的无限递增的优点,在这些例子都采用了 ESX Server 3.0 四路 SMP 功能。CPU 密集型主机提供的调度搜索空间越大,就越有利于调度程序找到最适当的 CPU 组合,来立即服务于复杂的工作负载,而且对其他虚拟机产生的影响非常小。使用 CPU 密集型主机并在多个 vCPU 之间横向地分配虚拟工作负载,可以确保虚拟平台的最佳性能和利用率。


  在发布 ESX Server 3.0 和 VMware Infrastructure 3 的同时,VMware 还推出了 VMware DRS(Distributed Resource Scheduler)。DRS 可以在聚合于逻辑资源池中的一系列硬件资源之间动态地分配和平衡计算功能。VMware DRS 持续地监视各个资源池的利用率,并且在虚拟机之间智能地分配可用资源。VMware DRS 可根据业务目标调整计算资源,同时确保硬件资源的灵活性和高利用率。如果某个 ESX Server 主机的 CPU、内存或磁盘活动出现了过载情况,指定的虚拟机会被迁移到可以更好处理负载的 ESX Server 主机上。这便是另外一种工具,可以在多个方面起到辅助作用,特别适用于较大的工作负载。未计划分离到多个 VCPU 之间的虚拟工作负载可以迁移到指定的“重负载”ESX Server 主机或主机组,通过这种方式来获得服务,而不必将其被分割成较轻的工作负载。这些 ESX Server 主机中的虚拟机与物理 CPU 之间的比率较低。


  当工作负载从物理服务器迁移至虚拟平台时,系统管理员有责任确保为物理环境设计的工作负载能够在虚拟环境中正常运行。很多时候,人们在没有充分分析如何横向重新分配工作负载的情况下,就会得出某个应用程序无法被虚拟化的结论。如果不充分分析源服务器的限制条件,用于检查一个物理服务器是否可以迁移至虚拟机的工具可能会失去意义。如果物理源服务器具有较重的负载或需要较高的 CPU 负载,一旦转换,即要评估如何将源工作负载分成多个逻辑块,并在新配置中的虚拟平台之间进行分配。物理到虚拟(P2V)工具,例如 VMware P2V Assistant 应该用来尽量缩短将基础架构服务移至 VMware Infrastructure 时所需的时间。P2V 工具是一个快捷方便的方法,它可以避免重新构建服务器的很多手动操作。P2V 迁移之后,根据相同的性能预期或业务单元分组将基础架构虚拟机分配到不同的硬件资源组,即所说的资源池。只要系统管理员明白如何将工作负载分成较小的块并且充分利用新的功能和产品,如资源池、DRS 和 VirtualSMP,基础架构服务便可以完全迁移至 VMware Infrastructure。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

张振伦
张振伦

VMware大中华区技术总监

相关推荐