vSphere的HA功能可以满足企业对应用的高可靠性要求,下面来介绍一下HA的实现。
 
HA是vSphere的Cluster功能之一,之前已经在Cluster上启用了DRS的功能,现在再启用HA的功能就可以了,后面会继续介绍FT的功能。
 
 
HA的相关配置主要由三个部分组成,下面一一介绍:
 
“主机监控状态”是HA的基础,通过监测主机的心跳信号来判断主机的状态,从而做出响应。“接入控制”用来确保每一台启动的虚拟机都有足够的资源用于高可用保护,否则将不允许启动该主机。“接入控制策略”可以指定资源预留和资源的使用。
 
 
“虚拟机启动优先级”用来指定虚拟机启动的优先顺序。“主机隔离响应”指定当某一台ESX Host与外界失去通讯时,该如何处理虚拟机。
 
 
可以通过VMWare Tools监测虚拟机操作系统的状态和应用的状态,并做出响应。
 
 
要实现HA需要注意以下几点:
 
1,保证ESXi可以正常访问网关,HA会通过检查与网关通讯的情况来判断网络通讯情况。
2,要确保管理网络(心跳网络)有冗余,心跳网络如果出问题,会导致脑裂。
 
通过查看事件,可以了解HA的配置情况,我的配置没有问题:
 
 
我们可以通过集群的summary页面来监视集群的工作情况,点击“集群操作状态”链接可以得到更多的信息。
 
 
下面来测试一下HA的功能,vm01运行在ESXi01主机上,我们重新启动这台Host Server来模拟硬件故障。
 
 
稍等片刻,我们会看到,vm01在ESXi02上面启动了。
 
 
但是中间有一段时间的停机过程,所以远程桌面连接断掉了。重新连接回去,原来在执行的任务也都停止了,因为虚拟机经历了一次意外停机并重新启动的过程。
 
 
集群管理系统会监视资源的可用情况,比如现在的状态是,因为vm01保留的CPU资源过多,导致系统内部已经没有更多的计算力资源为其它的虚拟机提供服务,总的CPU资源是一定的,现在单个slot占用的资源过多,导致可用的slot为零。
 
 
此时尝试启动vm02虚拟机,因为我们配置了禁止启动不满足HA要求的虚拟机,你会看到如下提示,
 
 
通过降低虚拟机的资源预留,可以缩小slot size,进而提高slot的数量:
 
 
再试图启动vm02,就没有问题了。
 
 
HA在解决高可用方面主要存在两个主要的问题:
 
1,不支持应用级别的高可用,这个可以通过第三方的解决方案来补充,如Symantec的Application HA。
 
2,故障切换过程中存在停机时间,要解决这个问题,可以采用FT的方案,我后面会再介绍。