如何应用VMware高可用性

更新时间:2024-01-17 05:11:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

如何应用VMware高可用性

VMware在VI3版本中引入了高可用性特性,以防在物理主机发生故障时保护上层的虚拟机。在一个VMware高可用性集群中,当物理主机发生故障,虚拟机会在该集群中的其它主机上自动重新启动。这是一项非常重要的特性,一台物理主机的故障会影响其上层的大量虚拟机。VMware高可用性很好地解决了虚拟化所带来的“将所有的鸡蛋放在一个篮子中”所引起的风险。在本篇VMware高可用性指南中,您可以了解到VMware高可用性的工作原理,VMware高可用性的系统要求,如何激活“许可控制策略”以及其它的VMware高可用性部署技巧。

VMware高可用性工作原理

VMware高可用性在集群系统中的每台主机上安装一个脚本程序,该脚本负责维持集群系统所和其它主机的“心跳”。当心跳丢失时,该主机上的所有受影响的虚拟机会开始在其它主机上启动。同样,vCenter Server也不会是单点故障,高可用性特性会在vCenter Server无法访问时继续工作。高可用性集群中最初上电的5台主机会被指定为主服务器,而其余的主机会被默认为二级服务器。主服务器的功能在于复制和维持集群状态,并促发故障切换操作。当一台主服务器发生故障后,系统会随机从二级服务器中选取一台作为新的主服务器。

高可用性采用定期间隔的故障检测方式,其默认值为15秒;当某台主机发生故障并被检测到后,高可用性服务器会发出一个心跳指令给集群内的其它主机。该心跳检测每秒进行一次;当主机在15秒内没有回复时,该主机被默认为已发生故障。15秒的设置实际是比较紧的,各类网络丢失都可能会使你收到这类故障警告。物理主机没有返回心跳的原因可能有网络故障导致的主机隔离,系统崩溃或硬件故障所导致完全的系统宕机。一旦被检测出上述故障,集群内的其它主机就会接替该主机的工作,并将该主机从网络隔离。

主机故障发生后的响应机制

根据默认设置,被隔离的主机上的虚拟机仍保持上电状态,不过对于这些虚拟机的隔离响应机制可以基于预虚拟机的方式进行重新配置。因此这些虚拟机可以在集群中其它主机发生故障时进行应用切换。高可用性同时还可以对每个虚拟机进行重新启动的有限级排序,某些高级别的虚拟机可以较其它的先行启动。优先级有高、中、低三种,或者也可以选择关闭该功能,这样虚拟机就不会在其它主机上自动重新启动了。以下是在某台主机发生故障后的工作机制:

1.主服务器中的一台会被选中来协调故障切换操作,并且在余下的有空余资源的主机中选择一台作为故障切换的目标服务器。

2.受故障影响的虚拟机根据优先级排序,并在故障切换目标服务器上依次上电直至该服务器没有更多的空余资源,这时会选择另一台有足够资源的服务器提供给余下的虚拟机。

3.假设在上述协调工作时选定的主机也发生故障,另外一台主服务器会接替,继续原工作。

4.假设出现故障的主机是主服务器,在余下的二级服务器中的一台会被选中作为主服务器。

高可用性特性和分布式资源规划(DRS)特性一同使用,会发挥最佳效果。接替故障主机上工作的主机可能会超负荷运行,而DRS功能可以在集群内的其它主机上平衡虚拟机的分布。

VMware高可用性和许可控制策略

从表面上看高可用性似乎是一个非常简单的技术特性,不过实际上其相当复杂。从一台故障主机切换虚拟机到其它主机要求有足够的性能容量可以承担在原故障主机上的工作量负载。VMware高可用性可以配置处理多台主机故障,因此配置判定集群系统内是否有足够的空余资源变得更为复杂。高可用性使用许可控制策略来确保集群系统有足够的资源来处理虚拟机故障。当许可控制策略激活(见下图一),违反可用性约束的虚拟机将无法上电。

图一:激活许可控制策略

有三种类型的许可控制策略,使用不同的机制来预留资源,处理主机故障。

? 主机故障集群容错模式:即便所有的主机都发生故障,集群仍有足够的预留资源可以处理。具体的数字设置可以从一到四;由于只有五台主服务器监控高可用性,因此不能设置超过四的数字。无论选中多少,高可用性通过所谓的“插槽”机制会预留足够的处理器和内存

资源。插槽是一种处理器和内存资源的估量单位,用于为高可用性预留资源。插槽的默认大小是256MHz处理器和0MB的内存。假设已经有虚拟机处理器/内存预留,那么插槽的大小设置为所有的处理器和内存预留中的最大值。一旦插槽尺寸设定,这可以用于确保有足够的处理器和内存资源以供集群系统调度所设置的最大主机故障数量。你希望容错越多的主机,意味着你需要预留越多的资源,而且这些资源不可以用于当前的虚拟机。同样,你可以通过选择一个集群,在汇总信息的标签下,在VMware高可用性栏中点击“高级运行时间信息”来获取插槽信息。(见下图二)

图二:选择高级运行时间信息

? 集群资源百分比模式:该模式下系统不依赖于插槽而通过计算百分比的方式来确保集群系统有足够的资源用于故障切换。这通过计算所有集群系统中上电的虚拟机所需资源的百分比来计算。然后,该模式计算所有虚拟机需要的主机资源。最后,计算集群系统中当前处理器故障切换能力和当前内存故障切换能力,当百分比小于配置的故障切换容量时,进入控制会被强制执行。这种方式较特定主机故障模式更为平衡,不过并不完全自动化,你必须手动地设置百分比。

? 特定故障切换主机模式:这种方式下,软件简单地将故障虚拟机在一台特定的主机上重新启动。当特定的主机也发生故障,或没有足够资源时,VMware高可用性会将虚拟机在集群中另一台主机上重新启动。你可以只设定一台故障切换主机,高可用性会保护虚拟机在正常运行时在故障切换主机上上电或切换,以保证该主机有足够的资源。

VMware高可用性性能评估及其它重要提示

由于VMware高可用性要求空余的资源来处理虚拟机随故障主机宕机,你在规划虚拟化环境时必须对此加以考虑。虚拟化的本质是最大化利用每台主机的资源,不过你亦须确保你规划的主机有足够多的资源来运行高可用性特性。考虑到当主机故障时你可能没有足够的

资源来在其它主机上增加虚拟机,这可能完全破坏你的虚拟化环境,我们不推荐你关闭高可用性的许可进入控制。

高可用性所用的每15秒的故障检测间隔机制比较紧,你可以提升该间隔来避免错误的警告信息,这种信息可能由于网络连接问题所引起。高可用性心跳通过ESX(服务控制台)/ESXi(VMkernel)的管理界面发出,因此在管理界面所在的vSwitch最好配置网络接口卡冗余。或者,你可以配置在第二台vSwitch上配置第二管理界面作为后备。你同时可以设定高级设置来增加第二个独立的IP地址作为安全网络以确保主机完全的隔离。高可用性会在触发之前试图Ping通隔离的地址来确保该主机确实被隔离了。

另一项重要的设置决定了高可用性检测出故障发生,主机隔离后的其上虚拟机的相应机制。当严重的故障,诸如主机掉电发生后,该设置并不起作用。不过假设一台主机仍保持运作,不过丢失了网络连接,该设置将决定如何操作该主机上运行的虚拟主机。默认的设置是关闭隔离的主机上的虚拟机,并将其在其它主机上启动起来。这将通过操作系统触发关闭操作,虚拟机会被平稳地关闭。该设置同样可以设置为将虚拟机下电,这会更快地关闭虚拟机,不过有可能会损坏虚拟机上的数据。

最后还有一项设置是保持虚拟机在主机上运行,如果虚拟机在其它主机上启动后会引起更大的问题,可以这样设置故障告警。当主机出现网络故障时,其可能仍连接在存储上,尤其是在光纤通道网络中。当虚拟机在连接存储的故障主机上仍保持运行,其会保持对磁盘文件的锁定状态,在其它主机上无法重新启动该虚拟机。因此,大多情况下最好将该虚拟机在故障主机上关闭,这样在其它主机上启动时会更没有风险。

其实对于高可用性这一特性有一整本书的详细解释。还有其它许多高级高可用性设置可以客户化具体的高可用性功能用途,不过你在部署之前需要加以了解。如果你想要使用高可用性,你必须理解VMware高可用性的机制,这样你才能在你的VMware环境中更高效地使用该功能。

本文来源:https://www.bwwdw.com/article/fe2o.html

Top