第八章 集成
现在你知道HA从里到外如何工作了吧,我们要在HA,DRS,SDRS和其它组件或者功能中解释不同的点,我们觉得值得一提,尽管承认有些信息还不够成熟,但我们觉得它是这本书非常重要的一部分。
HA与无状态ESXi
vSphere 5.0引入了一个非常牛掰的功能-无状态ESXi,无状态ESXi意味着不需要启动磁盘,也就是说,没有USB磁盘、SD磁盘、本地磁盘或者SAN启动,ESXi可以通过PXE启动,并直接加载文件到内存中。但是,它也增加了一些有趣的挑战,当主机被重新启动,HA代理也启动,他们需要的HA配置信息会怎么样?对于无状态ESXi主机,我们依靠Auto Deploy Server去为HA代理存储配置信息,当主机开启或者重启,HA的代理将会重新初始化,vSphere 5.1自动部署镜像,镜像包括默认的HA VIB文件,并且在主机开启或者重启后不需要安装HA代理。
我们在第二章节中描述了配置文件, Auto Deploy Server缓存了HA所需的配置文件,vCenter的版本文件是HA所必需的,因为这些文件会不断变化,所以自动部署管理主机需要正确的缓存副本文件。
HA和存储DRS
当发生故障,vSphere HA会通知存储DRS,以防止迁移HA保护的虚拟机,也就是说,一台开启电源的虚拟机发生故障了,因为可用容量不足,它不会立即重启,此外,除了vCenter通告执行的虚拟机,存储DRS不允许存储迁移其它虚拟机,因为这种情况下,HA不会重新保护该虚拟机直到vCenter Server再次锁定数据存储。
存储迁移和HA
在vSphere 5.0中存储迁移进行了一定的修订,我们在第二、三章中进行详细描述,但要在本段讨论HA的整合,如果启用HA的情况下,一台虚拟机需要重新启动,虚拟机在存储迁移的过程中发生了故障,重启的进程不会触发直到vCenter 通知master存储迁移任务完成,或者存储任务已回滚,如果资源主机发生故障,虚拟机作为正常工作流的一部分将会启动,在存储迁移期间,存储迁移所在的主机的代理将被初始化,覆盖虚拟机发生故障的状态。如果,无论什么原因,vCenter不可用,15分钟后将覆盖虚拟机的状态来保证虚拟机将被重启。
还注意到vSphere 5.0 U1及其以上版本,当存储迁移完成,vCenter会报告虚拟机未保护状态直到master报告虚拟机在新的路径下再次被保护。
HA和DRS
vSphere 4.1的HA功能,集成了DRS在多个层面上进行了集成,这是个非常大的进步,我们想要强调的东西是,HA在行为和可靠性方面发生了改变。
HA和资源碎片
当触发故障转移,HA首先检查目标主机上是否有可用资源,例如,一个特定的虚拟机,有非常大的预留资源,接入控制策略是基于百分比的,例如,它可能发生资源分布在多台主机上,(关于这个场景更详细的描述见第7节),在vSphere 4.1的HA,将会问DRS关于碎片资源,以适应虚拟机的需求,尽管HA要求的碎片资源不能给予保证,因此,额外的集成,当涉及到资源碎片,你应该保持谨慎。
共享份额
在vSphere 4.1之前,当客户设置虚拟机资源共享时,一个问题可能会出现,当开启HA功能的群集中虚拟机发生故障,它会在其它资源池内开启虚拟机,但是,用户配置了虚拟机的份额,而不是资源池自动进行调整,这可能会导致虚拟机接收太多或太少的配额资源。
那么以下情景将可能会发生:群集内有VM1和资源池A,VM1占用资源1000份,资源池A有2000份,但是资源池A有2个虚拟机,每个虚拟机占用“2000”份的50%,下面描述这个情景:
图34:共享份额记录
当主机发生故障,VM2和VM3的资源占用将和VM1在一个级别上,然而客户定义了VM2和VM3的份额为10000,VM1完全没有资源争用的优势,在下面的图中将会描述。
图44:主机故障后的份额
这种情况将持续下去,直到下一次调用DRS,重新将VM2和VM3加入到原来的资源池,为了解决这个问题,在vSphere 4.1 中,HA在虚拟机故障切换时计算份额值,这个过程保证虚拟机在没有正确的资源池的情况下获取资源,这个场景时下面的图,注意VM2和VM3在根资源池中的位置以及份额值1000.
图45:主机发生故障后,DRS调用前,份额
当然,调用DRS时,VM2和VM3都被从新分到根资源池下,将再次收到原有分配的份额。
(话说4.1之前的版本不支持计算么?如果主机发生故障,资源池这一级将不生效,虚拟机按照份额占用群集所有资源,DRS 5分钟检测一次,所以。。。。。)
DPM和HA
如果DPM功能开启,HA故障切换期间资源紧缺,HA会使用DRS尝试调整群集资源(例如,通过主机退出待机模式或者迁移虚拟机来整理资源),使HA能够执行故障切换
如果HA启用了严格的接入控制策略(默认),DPM为了满足HA故障切换的容量需求,将保持必要的资源水平,如果违反的接入控制策略,HA将进行约束,防止DPM关闭太多的ESXi主机。
vSphere 5.0中,当HA接入控制被禁用,HA将会阻止DPM关闭所有的主机,除非群集中只有一台主机,无论资源多么紧张,最少要保障群集内有两个主机,原因是当发生故障,群集内只有一台主机,虚拟机不可能重新启动。
在故障场景中,如果HA无法启动一些虚拟机,它会要求DRS/DPM尝试进行分散资源整理,或者将主机退出待机模式,来支持HA有机会重新启动虚拟机,另一个变化是DRS/DPM启动主机或者保持主机都必须要依靠群集约束,即使这些主机利用率很低。再次,一个成功的DRS需要启用和配置全自动,当没有配置全自动的用户需要按照DRS的推荐执行,从而允许发生虚拟机重新启动。
第九章 汇总
我们希望,我们已经成功的给你一个最好方式来理解HA的内部运作。
我们希望这本书能够帮助你,能把它当做更新你的vSphere环境的工具,并最终提供您环境的弹性和正常运作时间。