VMware vSphere
5.1
Clustering Deepdive
HA.DRS.Storage DRS.Stretched Clusters
Duncan Epping &Frank Denneman
Translate By Tim2009 / 翻译:Tim2009
目录
版权
关于作者
知识点
前言
第一部分 vSphere高可用性
第二章 高可用组件
第二部分 vSphere分布式资源调度
第三部分 vSphere存储DRS
第四部分 群集架构的扩展
第二章 高可用组件
现在我们知道HA的先决条件以及怎样配置HA,那么接下来将会描述HA由哪些组件构成,请记住这些仍然是高度需要关注的地方,有更多拭目以待的事情在下面的章节出现,下图描述了两台ESXi主机构成的群集以及HA的关键组件。
图4:HA的构成组件
如你所见,vSphere 5.0的HA是有三个主要的组件构成
FDM
HOSTD
vCenter
FDM
首先是HA架构中最重要的组件FDM(Fault Domain Manager),它是HA的代理,替换vSphere5.0之前HA的代理AAM(Legato’s Automated Availability Manager).
FDM代理负责很多任务,如主机之间资源信息和虚拟机状态的传递,沟通群集中适合的HA的主机,FDM也处理心跳机制,虚拟机的放置,虚拟机的重新启动、登录及其它等等,我们不会单独讨论得太深入,因为我们认为这将使之复杂很多。
当HA功能启用,在我们看来FDM是ESXi主机上非常重要的一个代理,HA会增加额外的弹性,工程师也会认识到其重要性,。与AAM相反,FDM用了一个单线程的代理,但是,FDM产生了一个看门狗程序,如果代理程序发生故障,看门狗程序将在没有任何人注意到的情况下,重新启动代理来确保HA功能,代理在路径都出故障时会有瞬间的网络中断,在灵活性方面,网络出现故障后,内网的主机会自动用另外的路径与其它主机通信(在管理网络冗余的情况下)
同vSphere 5.0一样,HA不依赖于DNS和IP地址,这是FDM带来的主要的改进地方,意思是HA限制ESXi主机的命名规则被解除(在vSphere 5.0之前,ESXi主机FQDN限制26个字符),这并不意味着在vCenter ESXi主机需要注册他们的IP地址;,最佳实践还是建议在vCenter中注册ESXi主机的FQDN,虽然HA不依赖于DNS,但是许多其它的服务仍然依赖,最重要的是,一个主机在vCenter正确注册且有效的FQDN能够更容易的监控和故障排错。
基本设计原则
尽管HA不依赖DNS,但仍然建议注册主机的FQDN
另一个FDM的主要改变是生成日志,你们当中有些人可能从来没有意识到这一点,你们有些人可能发现它比较困难,vSphere 5.0之前,HA的log日志不会被发送到syslog中,vSphere 5.0 带来了规范的日志生成原理,一个单独的log日志将会创建,并与其它所有操作日志放在一个目录下,它被称为fdm.log,这个log日志存储在/var/log的路径下,如图五所示
图5: HA log日志文件
基本设计原则
确保syslog正确配置,日志文件被放在一个安全的位置,这样在发生灾难的情况下能方便的调出日志进行排错。
HOSTD Agent
另一个主机上重要的代理叫做HOSTD,这个代理也负责很多任务,如我们授权它打开虚拟机的电源、FDM直接和HOSTD、vCenter对话,所以就不需要像以前的版本那样依赖VPXA,当然,为了避免任何不必要的开销和依赖,使得HA比以前更可靠,响应速度更快,提高了虚拟机的正常运行时间。
无论何种原因,HOSTD在重新启动后如果不可用或者未运行,主机将不参与任何FDM相关的进程,FDM依赖于HOSTD提供的信息,如虚拟机在主机上的注册信息,管理虚拟机使用的API,总之,FDM依赖于HOSTD,如果HOSTD无法运行,在等待HOSTD开始运作之前,FDM的所有功能也是停止的。
vCenter
接下来带来最后一个组件,vCenter Server,vCenter是每个vSphere群集的核心,它负责着很多项任务,对于我们来说,以下非常重要的内容我们将详细讨论。
部署和配置HA代理
群集配置改变后的通信
虚拟机的保护
在合适的场景中,vCenter负责向ESXi主机上推送FDM代理,在vSphere 5版本之前,推送类型的代理需要一连串的操作,而在vSphere 5.0中,这些操作时并行的,以便群集中多台主机的快速部署和配置,vCenter还负责群集中master主机的配置更改,我们将会在后面的章节讨论主机的主备概念,包括群集中新加入主机的高级配置变更。
在vSphere 5.0中,HA还利用vCenter来获取虚拟机的状态信息,当然,vCenter还会显示虚拟机的状态保护信息(图 6)(什么是虚拟机的保护信息将在第三章节中讨论),最重要的是,vCenter负责保护和接触保护虚拟机,这不仅使用电源关闭或者开启状态下的虚拟机,而且在ESXi主机断开的情况下,vCenter会要求主HA代理取消对受影响虚拟机的保护。
图6 虚拟机保护信息
尽管通过vCenter来配置HA和交换虚拟机的状态信息,当HA响应失败时,vCenter是不参与的,值得欣慰的是,当虚拟服务器vCenter 发生故障时,HA会负责在群集内另一台ESXi主机上重新启动vCenter服务器,当然故障主机上其它的虚拟机也会随之迁移。
当然在一种极端的情况下,vCenter会失败,如果ESXi主机是“无状态主机”和管理网络使用了分布式交换机,虚拟机将不会尝试重新启动,只到vCenter启动,在无状态环境中,vCenter和自动部署的可用性是关键,因为ESXi主机会依赖于它。
如果vCenter不可用,它不会影响到群集的现有配置,vCenter会实时显示虚拟机的保护状态,群集配置,虚拟机同主机的兼容信息和主机清单列表,所以,在设计HA时,故障切换时没有加入vCenter,HA只是依赖vCenter配置和监视群集。
当一个Windows下虚拟的vCenter服务器,或者Linux下运行的虚拟vCenter 服务器(vCenter Server Appliance)配置完成,我们建议您为vCenter Server设置优先的重新启动级别,虽然重新启动虚拟机不需要vCenter Server支持,但还是有多个服务器组件依赖vCenter,因此,还是希望vCenter尽早恢复工作状态,当你设置vCenter Server的优先重新启动级别时,记得vCenter依赖的一些组件也需要启动成功,如DNS, MS AD和MS SQL(或者其它您在使用的数据库)。
基本设计原则
在无状态的环境中,确保vCenter和自动部署的高可用性,因为虚拟机的恢复时间依赖于他们,所以确保vCenter服务器的高优先级启动和vCenter 服务器依赖的相关服务可用,如DNS,AD和数据库。