β

浅谈vSphere高可用性

■ 文/ 天云软件 吴亚松

vSphere 高可用性自发布以来就备受企业用户关注,它具有易操作,低成本,高可用的优点。也不像传统的应用集群技术,需要提供额外的备用硬盘或分层软件。企业可以低成本的利用VMware这特性为服务提供连续性,避免长时间宕机而造成不必要的损失。

谈及HA,这里介绍下 vSphere的两大核心组件:ESXi和vCenter Server

ESXi就是Hypervisor,类似操作系统,直接安装在裸设备上,可以实现虚拟化核心功能的软件,实现一台物理机上可并发运行多个操作系统。

现实生产环境中,通常有很多台ESXi主机,而vCenter Server可以将众多的ESXi主机组成集群进行统一管理,避免了不同ESXi主机间来回切换的麻烦。与ESXi不同之处在于,vCenter Server有两个版本:window版本和Linux appliance版本(区别后面介绍)。

集群

谈及到vSphere高可用性,这里需要熟悉vSphere中集群的概念。在vSphere中,vCenter Server将多台ESXi主机组织起来,作为一个集群(Cluster)来组成一个更大的资源池,利用vSphere的高可用性,可以实现虚拟机在集群内ESXi主机上迁移。

vSphere的集群功能主要有以下几类

主要用于动态调整Cluster内ESXi主机的负载,主动实现把负载较重的ESXi主机上的虚拟机动态迁移到其它负载较轻的ESXi主机上,最终实现Cluster中ESXi主机资源的消耗平衡。

主要用于意外情况下,资源的动态切换。当监控到Cluster中的主机或者虚拟机出现意外故障时,可以在其它ESXi主机上启动故障机器承载的虚拟机。

分布式电源管理,用于在负载较轻时,把虚拟机动态“集中”到Cluster中的少部分主机上,然后把其它ESXi主机待机,以节省电力消耗,等负载较大时,再重新唤醒之前待机的主机。

一、 配置集群 vSphere HA属性

那么具体如何在vSphere中保证服务的高可用性呢?主要是通过vSphere HA、Fault Tolerance(FT)两种技术来提拱服务中断快速恢复能力和服务连续性能力来保证关键服务的高可用性。

在集群的功能页属性菜单里,打开vSphere HA功能。利用vSphere HA功能来实现集群的ESXi主机或主机承载虚拟机出现意外情况时,由首选主机及时在集群内选择合适ESXi主机来重启故障主机所承载虚拟机,防止ESXi主机故障或虚拟机及应用程序故障,以此来提高服务的可靠性、可用性。利用vSphere HA功能主要对ESXi主机监控、虚拟机等监控。

创建 vSphere HA 群集时,会自动选择一台主机作为首选主机。首选主机可与 vCenter Server 进行通信,并监控所有受保护的虚拟机以及从属主机的状态。可能会发生不同类型的主机故障,首选主机必须检测并相应地处理故障。首选主机必须可以区分故障主机与处于网络分区中或已与网络隔离的主机。因为集群HA必须是共享存储,当A主机异常时,B主机则会A主机上的虚拟机文件拷贝一份,重新在B主机上运行(前提条件为B主机资源充足)。从而避免因ESXi主机故障所导致承载业务中断。当ESXi主机处于隔离网络时,会检查存储数据信号。

针对该类故障,主要是通过安装vmware代理工具,与vCenter  Server互相发送心跳检测信号。如果vCenter Server在规定周期内未收到该虚拟机或应用程序的心跳检测信号,则认为该虚拟机或应用异常,由vCenter Server负责重启虚拟机及应用。(针对6.x版本,需要在虚拟机监控手动设置何种监控)

同时,应根据实际生产情况,动态调整vSphere HA监控灵敏度,高灵敏度,更有助于监控到虚拟机及应用的异常,快速实现虚拟机及应用的重启。

vSphere HA高可用性要求

vSphere HA高可用性优势:

随着大数据时代的到来,当前绝大数服务要求高可靠性,高可用性。相较于传统的服务器备份方案,要求额外存储,专业的管理软件,甚至于后期的专业人员维护。

vSphere HA 利用配置为群集的多台 ESXi 主机,为虚拟机中运行的应用程序提供快速中断恢复和具有成本效益的高可用性。

与其他群集解决方案不同,vSphere HA 提供基础架构并使用该基础架构保护所有工作负载:

与传统的故障切换解决方案相比,vSphere HA 具有多个优势:

设置 vSphere HA 群集之后,群集内的所有虚拟机无需额外配置即可获得故障切换支持。

虚拟机可充当应用程序的移动容器,可在主机之间移动。管理员会避免在多台计算机上进行重复配置。使用 vSphere HA 时,必须拥有足够的资源来对要通过 vSphere HA 保护的主机数进行故障切换。但是,vCenter Server 系统会自动管理资源并配置群集。

虚拟机内运行的任何应用程序的可用性变得更高。虚拟机可以从硬件故障中恢复,提高了在引导周期内启动的所有应用程序的可用性,而且没有额外的计算需求,即使该应用程序本身不是群集应用程序也一样。通过监控和响应 VMware Tools 检测信号并重新启动未响应的虚拟机,可防止客户机操作系统崩溃。

如果主机发生了故障,并且在其他主机上重新启动了虚拟机,则 DRS 会提出迁移建议或迁移虚拟机以平衡资源分配。如果迁移的源主机和/或目标主机发生故障,则 vSphere HA 会帮助从该故障中恢复。

二、配置vSphere Fault Tolerance 提供连续可用性

上文中提到集群开启vSphere HA后,当ESXi主机或虚拟机异常时,会重启虚拟机来提供基本的可用性保证。但因为资源或负载等原因,虚拟机的重启可能几分钟到十几分钟,这个时间的不确定性,对一些实时性要求较高的服务则无法保证要求。

我们可以为关键虚拟机开启vSphere Fault Tolerance功能,系统会为主虚拟机创建和维护一份辅助虚拟机,该虚拟机会以虚拟锁步(vLockstep)方式随主虚拟机一起运行。VMware vLockstep 可捕获主虚拟机上发生的输入和事件,并将这些输入和事件发送到正在另一主机上运行的辅助虚拟机,辅助虚拟机的执行将等同于主虚拟机的执行。因为辅助虚拟机与主虚拟机一起以虚拟锁步方式运行保证主虚拟机及辅助虚拟机的一致性。在故障情况下,随时替换主虚拟机,提供容错保护,进一步保证服务的连续性实时性。

吴亚松

在使用 Fault Tolerance 之前,必须满足以下群集要求。

同时需要注意 使用FT功能会限制vSphere相关功能:

关于vCenter版本选择

VMware vCenter已经成为虚拟基础框架的核心以及任何软件定义数据中必要组建之一。VMware推出了一款基于Linux appliance的vCenter,可以简化部署和管理流程。现在Linux appliance已经逐渐成熟,能够支持小型业务或者企业,并且包含了所有功能。那么作为企业用户该如何选择?

在体验virtual appliance的简易部署流程之后,任何Windows安装方式都会显得过于繁琐。尽管Windows安装过程仅仅需要多次单击“下一步”按钮,但是appliance仍然在安装流程方面占据优势。

在使用嵌入式内置数据库时,Linux appliance与window版本支持主机和虚拟机数量是一致的。Virtual appliance只支持Oracle,而Windows版本的vCenter能够支持Oracle或者SQL。值得注意的是:Oracle并未为Virtual appliance提供维护与支持,但是VMware对SQL提供官方支持。

vCenter的这两种模型在安装完成之后都很少需要进行维护。两种产品都能够通过Web浏览器或者Windows服务来启动或者重启服务。vCenter本身功能并未有太大区别,区别在于所依赖的操作系统本身。Linux的稳定性相比window拥有更好的口碑,但是window拥有更多的用户,相应也会有更多的支持。

众所周知,window是收费的,但是Linux appliance版本的vCenter并不需要使用Windows授权。

作者:天云软件_北京天云融创_云计算_云平台
北京天云融创软件技术有限公司_云系统专家
原文地址:浅谈vSphere高可用性, 感谢原作者分享。

发表评论