如何为虚拟服务器安装与配置VMware HA?

日期: 2009-01-07 作者:Rick Vanover翻译:唐琼瑶 来源:TechTarget中国 英文

当涉及到企业虚拟化产品时,决定使用哪一种附加技术并非易事。有助于从虚拟服务器上所运行的应用获取更好的可用性的产品之一是VMware ESX的VMware High Availability(HA)。在本文中,TechTarget中国的特约作者Rick Vanover将介绍配置VMware HA的基本法则,并提供一些调整虚拟机可用性的细节。   VMware HA是一款可用性增强工具,用于监控虚拟架构环境里的虚拟机和ESX主机,以确保它们的运行。

由于重新启动停止的虚拟机,或者在原ESX主机出现故障时,配置虚拟机运行在可用的其他ESX主机上,这些都需要用到可用性。(说明:VMware HA捆绑在V……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

当涉及到企业虚拟化产品时,决定使用哪一种附加技术并非易事。有助于从虚拟服务器上所运行的应用获取更好的可用性的产品之一是VMware ESX的VMware High Availability(HA)。在本文中,TechTarget中国的特约作者Rick Vanover将介绍配置VMware HA的基本法则,并提供一些调整虚拟机可用性的细节。

  VMware HA是一款可用性增强工具,用于监控虚拟架构环境里的虚拟机和ESX主机,以确保它们的运行。由于重新启动停止的虚拟机,或者在原ESX主机出现故障时,配置虚拟机运行在可用的其他ESX主机上,这些都需要用到可用性。(说明:VMware HA捆绑在VMware Infrastructure 3 (VI3) Enterprise版本里,不过如果你使用的是VI3 Standard或Starter版本,需要单独购买VMware HA)。

  定义VMware HA参数

  实施VMware HA需要一些预先计划。你得有实事求是的期望。对于新虚拟化管理员来说,最难的调整是VMware HA的大部分命令不是由一般的复选框和选项屏幕驱动。请看以下例子:

  • 启动虚拟机故障转移监控
  • 设置每90秒查询间隔
  • 允许三分钟的虚拟机初始化宽限期
  • 对重新启动操作分配高优先权

  对于这样的配置,我有一台叫做VMWIN2K3-0001的虚拟机,在运行VMware ESX 3.5的ESX host ESX35DEV0001上运行Windows Server 2003。这个例子中的集群以C-ESX35命名。我也运行VirtualCenter 2.5配置VMware HA规则,所以如果你使用不同的版本,配置也可能不同。

  VMware HA的基础配置由每个集群决定。因此,如果你有大量的ESX主机,可能决定基于环境里的可用性需求建立不同的集群。在我的环境里,有两个数据中心和三个ESX集群。这三个集群分别拥有四台、三台和两台ESX主机。我们这样配置的话,可以有效解释集群的大型、中等及开发环境。

  为了配置上面的HA参数,我们需要探访两个方面。第一个是为集群设置重新启动的优先权。使用VirtualCenter,选择集群并右击选择“Edit Settings”。下图显示的是重新启动高优先权的设置:

VirtualCenter

  在这里,通过右击“Advanced Options”按纽设置HA规则在配置中的功能要求。这允许配置不在界面里的选项。在这部分,我用以下三个值分配给每个选项以满足上面的标准:

  • das.vmFailoverEnabled, true;
  • das.MinUptime, 180;
  • das.FailureInterval, 90

  必须输入这些值,并遵循ESX文档关于HA大小写的要求,以确保设置是有效的。然后保存设置。配置完成后,看起来应该像C-ESX35里的那样,如图:

HA

  VirtualCenter使设置的参数有效

  一旦应用这些值,它们立即对集群里的主机产生影响。当以这种方式输入值后,我首先关心的是精确性,不过由于你部署了VirtualCenter,它将使这些值有效。例如,如果你试图输入一个无效的高级配置参数,VirtualCenter不会将其委托给集群。为了使设置的参数有效,我尝试进入C-ESX35 cluster值为True的VMFailoverEnabled高级选项。然后立即被拒,并显示在VirtualCenter滚动日志里——“Bad HA advanced option key”信息。这也将把下面特性记录在VirtualCenter数据库的VPX_Task表格里:

NAME:   vim.ComputeResource.reconfigureEx

ERROR_DATA:
    LocalizedMethodFault">
   Bad HA advanced option keys:
      VMFailoverEnabled   
  
  启用HA规则

  在上面的例子中,我们将允许ESX在90秒超时后重新启动虚拟机。为执行系统故障实验,我设置了在虚拟机上发生Windows blue screen of death (BSOD) 的配置。一旦在子虚拟机上发生蓝屏死机,虚拟机丢失了IP地址,以及与VMware Infrastructure Client里的VMware工具之间的通信。

  VMware HA代理监控对虚拟资源的使用及访问,因此它知道虚拟机到底是运行的还是处于故障状态。不管子操作系统是否运行VMware工具或者分配了一个IP地址,监控都会发生。因此,服务器建立过程或禁用网络接口不会引起HA事件。我在VMWIN2K3-0001系统上模拟BSOD的情况如图所示:

VMware HA

  一旦设置完配置参数,ESX主机将重新设置虚拟机。这相当于不正常关闭虚拟机而在物理系统上切断电源。不过在上面的例子中,没有其他更多可用的选项。VMware HA不能解决问题,不过它可以作为一个工具使用,纠正像先前例子中的重大错误。

  VMware HA事件的责任

  VMware HA事件不会显示在VMware Infrastructure Client滚动日志里,并且对这类型事件没有一个专门的日志。多数ESX事件以明文显示在VPX_EVENT或VPX_TASK里,VMware HA可能显示在Virtual Center数据库一些非文本领域里。

  如上面所执行的例子,在本地ESX系统上有一个日志事件记录在/var/log/vmware/hostd-2.log文件里,用于表示ESX 3.5开发系统的VMware HA事件。hostd-2.log文件没有集中在VirtualCenter里,并且有许多行。此例子中的HA事件在文件中只有25行。

  按顺序,日志中最重要的三个事件:

2008-01-17 00:20:50.439 ' TaskManager'
     35957680 info]
     Task Created : haTask-64-vim.VirtualMachine.reset-8728

[2008-01-17 00:20:50.439 'ha-eventmgr' 35957680 info]
     Event 81 : VMWIN2K3-0001 on ESX35DEV0001.AMCS.TLD
     in ha-datacenter is reset

[2008-01-17 00:20:50.440 'vm:/vmfs/volumes/
     478bd6c8-3f8f2109-7d9e-00188b36fd47/VMWIN2K3-0001/VMWIN2K3-0001.vmx'
     35957680 info] State Transition
 (VM_STATE_ON -> VM_STATE_RESETTING)

  按顺序,日志中的两个中等重要事件:

[2008-01-17 00:20:52.763 'ha-eventmgr' 128564144 info] Event 83 :
    
     VMWIN2K3-0001 on esx35dev0001.amcs.tld in ha-datacenter
        is powered on

[2008-01-17 00:20:52.763 'vm:/vmfs/volumes/478bd6c8-3f8f2109-
     7d9e-00188b36fd47/VMWIN2K3-0001/VMWIN2K3-0001.vmx'
     128564144 info] State Transition ( VM_STATE_RESETTING -> VM_STATE_ON)

  在这些事件中,你可以理出:ESX开始重新设置过程,并让虚拟机位于开启状态。这些事件可能混杂于另一个ESX信息,因此确保使用文本查看器的“find”功能查看这些事件。

  注意默认值并定义使用需求

  注意ESX环境中的VMware HA默认值非常重要。基本的功能可能满足你的期望,或者可以配置HA满足你运行的需求。一个重要的默认值是所能允许的最大故障数量。das.maxFailures和das.maxFailureWindow的默认配置是只允许单个虚拟机出现故障,并且只能由VMware HA重新设置三次。记住,由于简单地重新设置出现故障的系统不是根本的解决方案,三遍的重新设置默认值已足够。“虚拟机故障监控技术手册”对于在默认下收集信息和VMware HA的其他高级配置条款很有用。

  样式匹配的一个日志脚本对于归档很有用,组织需要对虚拟机的某个VMware HA自动化重新设置事件进行变更控制的审计跟踪。另外,由于日志逻辑上不保存历史记录,所以复制(并在目的地重新命名)日志文件到中心元库是很好的补充。

  在下文中,TechTarget中国的特约作者Rick Vanover将讨论可能的HA错误,在每个集群HA能支持多少台主虚拟机,当主机或子虚拟机出现故障导致HA不工作时应该怎么做,以及在不能使用HA的情况下该怎么办。

相关推荐