本文介绍VMware群集与容错。群集,简单来说,就是将多台VMware ESX Server进行统一管理,并对这些VMware ESX Server主机的资源(CPU内存、网络等)进行统一的统筹与规划。 

容错,就是在另一个物理VMware ESX Server主机上,为需要启用"容错"功能的虚拟机,创建一个完整的备份,这个备份与源虚拟机保持相同的动作,并在主机出错或不可用时,用这个备用的虚拟机代替源主机对外提供工作(类似于以前的"双机热备份")。

1、创建和使用VMware HA群集

VMware HA 群集允许 ESX/ESXi 主机集合作为一个组协同工作,这些主机为虚拟机提供的可用性级别比 ESX/ESXi主机单独提供的级别要高。当规划新 VMware HA 群集的创建和使用时,您选择的选项会影响群集对主机或虚拟机故障的响应方式。

在创建 VMware HA 群集之前,应清楚 VMware HA 标识主机故障和隔离以及响应这些情况的方式,还应了解接入控制的工作方式以便可以选择最适合故障切换需要的策略。

1.1 创建 VMware HA 群集

VMware HA 在 ESX/ESXi 主机群集的环境中运行。必须创建一个群集,然后用主机填充该群集,并在建立故障切换保护之前配置 VMware HA 设置。

(1)使用管理员帐户登录vSphere Client并连接到vCenter Server,右击数据中心名称,从弹出的快捷菜单中选择"新建群集",如图1所示。

HA群集与容错_HA群集
图1 新建群集

(2)在"群集功能"页中,在"名称"文本框中,为新建的群集设置一个名称,在本例中设置为"HA-DRS",如图2所示。

HA群集与容错_HA群集_02
图2 设置群集功能

(3)在"VMware DRS"中设置自动化级别,在此设置为"全自动"。

(4)在"电源管理"页,设置是否要为此群集启用电源管理。

(5)在"VMware HA"中,设置是否对此群集强制执行接入控制与主机监控。

HA群集与容错_容错_03
图3 HA功能

创建群集后,请启用主机监控以便 VMware HA 可以监控由群集内的 ESX/ESXi 主机发送的检测信号。

如果选择"启用主机监控",则会检查群集内的每台 ESX/ESXi 主机以确保其正在运行。如果某台主机出现故障,则会在另一台主机上重新启动虚拟机。主机监控还是 VMware 容错恢复进程正常运行所必需的。如果需要执行可能会触发主机隔离响应的网络维护,VMware 建议首先禁用主机监控以挂起 VMware HA。完成维护后,请重新启用"主机监控"

如果选择"在虚拟机违反可用性限制时禁止虚拟机启动",启用接入控制并执行可用性限制,同时保留故障切换容量。不允许在虚拟机上执行会减少群集内的未预留资源并违反可用性限制的任何操作。

如果选择"即使虚拟机违反可用性限制也允许启动虚拟机",则禁用接入控制。如果选择此选项,那么,即使会造成故障切换容量不足,也仍然会启动虚拟机。完成此操作后,不会显示任何警告,而且群集不会变为红色。如果群集的故障切换容量不足,VMware HA 仍可以执行故障切换,并使用"虚拟机重新启动优先级"设置来确定要先启动的虚拟机。

如果启用了接入控制,VMware HA 会提供三个强制接入控制的策略。

" 群集允许的主机故障数目

" 保留为故障切换空闲容量占用群集资源的百分比

" 指定故障切换主机

(6)在"虚拟机选项"页,设置群集中的虚拟机设置何种重新启动选项,如图4所示。

HA群集与容错_HA群集_04
图4 虚拟机选项

在图中,默认虚拟机设置控制在主机之间失去网络连接时虚拟机的重新启动顺序和 VMware HA 的响应方式。这些设置适用于主机发生故障或主机隔离时群集内的所有虚拟机。可以为每台虚拟机配置异常。

虚拟机重新启动优先级确定主机发生故障后虚拟机的重新启动相对顺序。这些虚拟机在新主机上按顺序重新启动,首先启动优先级最高的虚拟机,然后是那些低优先级的虚拟机,直到重新启动所有虚拟机或者没有更多的可用群集资源为止。如果主机故障数目或重新启动的虚拟机数目超过了接入控制所允许的数目,则系统可能会等到有更多资源可用时再重新启动优先级较低的虚拟机。虚拟机会在故障切换主机上(如果指定了一个)或在具有最高百分比的可用资源的主机上重新启动。

"虚拟机重新启动优先级"设置的值为:已禁用、低、中等(默认)和高。如果选择"已禁用",则会为虚拟机禁用 VMware HA,这意味着当 ESX/ESXi 主机发生故障时不会在其他 ESX/ESXi 主机上重新启动虚拟机。如果选择"已禁用",不会对虚拟机监控造成影响,这意味着当正常运行的主机上的某个虚拟机发生故障时,会在同一主机上重置该虚拟机。

(7)在"虚拟机监控"页,设置在此群集中的虚拟机上设置何种监控,如图5所示。

HA群集与容错_HA群集_05
图5 虚拟机监控

如果在设置的时间内没有收到单个虚拟机的 VMware Tools 检测信号,虚拟机监控将重新启动该虚拟机。可以配置VMware HA 对非响应的敏感程度。

如果选择"启用虚拟机监控",则虚拟机监控服务将使用 VMware Tools,通过检查正在客户机内运行的 VMware Tools 进程的常规检测信号来评估群集内的每个虚拟机是否正在运行。如果没有收到检测信号,则很有可能是客户机操作系统发生故障或未分配给 VMware Tools 用来完成任务的时间。在这种情况下,虚拟机监控服务会先确定虚拟机已发生故障,然后决定重新引导虚拟机以还原服务。

(7)在"VMware EVS"页,设置是否为此群集启用增强型VMotion兼容×××,如图6所示。当你的服务器是同种型号的CPU时,可以启用这一功能。例如,在本实例中包括两台VMware ESX Server服务器,都是Intel Core 2的CPU。

HA群集与容错_容错_06
图6 VMware EVS功能

(8)在"虚拟交换文件位置"页,设置虚拟机使用何种交换文件位置策略,在此选择"将交换文件存储在与虚拟机相同的目录中"。

(9)在"即将完成"页,检查为该群集设置的选项,单击"完成"按钮,完成群集的创建。

1.2 向群集中添加主机

在创建完群集后,需要向群集中添加主机。如果VMware ESX Server主机已经在vCenter Server的"数据中心"中,则可以用鼠标将其"拖拽"到新创建的群集中;如果VMware ESX Server没有添加在"数据中心"中,则可以在群集中添加主机,步骤如下:

(1)用鼠标右击群集,从弹出的快捷菜单中选择"添加主机",如图7所示。

HA群集与容错_HA群集_07
图7添加主机

(2)在"指定连接设置"页,添加主机的IP地址、管理员帐户与密码,这些不一一介绍。

(3)将群集中所有VMware ESX Server主机添加到群集中,如图8所示。

HA群集与容错_HA群集_08
图8 添加主机到群集中

2、为虚拟机提供容错

如果要获得比 VMware HA所提供的级别更高的可用性和数据保护,从而确保业务连续性,可以为虚拟机启用 "容错"功能。容错基于ESX/ESXi 主机平台构建(使用 VMware vLockstep 功能),它通过在单独主机上以虚拟锁步方式运行相同的虚拟机来提供连续可用性。

要为群集启用 VMware 容错,必须满足此功能的必备条件,然后在主机上执行特定的配置步骤。完成这些步骤并创建群集后,还可以检查配置是否符合启用容错的要求。

尝试为群集启用容错之前应该完成的任务包括:

" 启用主机证书检查(如果您正在从先前版本的 Virtual Infrastructure 升级)

" 为每台主机配置网络

" 创建 VMware HA 群集,添加主机,并检查合规性

在为群集和主机准备好容错之后,便可为虚拟机打开容错。

2.1 启用主机证书检查

使用主机证书检查,可以将 ESX/ESXi 主机配置为相互验证身份,从而确保维护一个更安全的环境。对于容错虚拟机所在的 ESX/ESXi 主机来说,这是必需的。如果安装了 VMware vCenter Server 4.0 版本,系统会自动启用主机证书检查。如果所用版本是从上一版本升级的版本,则必须手动执行此过程。在此过程中,您会看到主机及其待验证的证书的列表。您可以在启用证书检查之前验证主机证书,管理员必须以手动方式对未在此步骤中验证的主机进行验证和重新连接。

(1)使用vSphere Client连接到vCenter Server,在"系统管理"菜单中选择"vCenter Server设置",如图9所示。

HA群集与容错_容错_09
图9 vCenter Server设置

(2)在"vCenter Server设置"对话框中,在左侧任务窗格中单击"SSL设置",在右侧选中"vCenter需要己验证的主机SSL证书",如图10所示。

HA群集与容错_HA群集_10
图10 需要己验证的主机SSL证书

2.2 为VMware ESX Server主机配置网络

在要添加到VMware HA 群集的每台主机上,必须配置两个不同的网络交换机(其中一个网络交换机用于VMotion,另一个用于容错),以便使主机也可以支持 VMware容错。

在使用容错时,每台VMware ESX 析主机至少需要两个千兆网卡。对于支持容错的每台主机,总共需要两个 VMkernel:一个专用于容错日志记录,一个专用于 VMotion。VMotio和容错日志记录网卡必须位于不同子网上。

在下面的操作中,我们假设你已经添加并创建了用于VMotion的虚拟交换机,在下面的步骤中,创建用于"容错"的虚拟交换机。

(1)使用vSphere Client连接到vCenter Server,并在清单中,选择VMware ESX Server主机,在"配置"选项卡中,单击"网络",并在右侧单击"添加网络"链接,如图11所示。

HA群集与容错_HA群集_11
图11添加网络

(2)在"连接类型"页中,选择"VMkernel",在"VMkernel-网络访问"页中,选择"创建虚拟交换机",在"VMkernel-连接设置"页,在"网络标签"中为新添加的虚拟交换机设置名称,并且选中"将此端口用于容错日志记录",如图12所示。

HA群集与容错_容错_12
图12 用于容错日志记录

(3)在"VMkernel-IP连接设置"页,为新添加的虚拟交换机设置IP地址,该IP要与控制台IP与VMotion虚拟交换机不在同一子网,在本例中,设置为172.30.6.2,如图所示。

HA群集与容错_HA群集_13
图13 设置IP地址

(6)在"即将完成"页,单击"完成"按钮,完成虚拟交换机的添加。

(7)将vCenter Server中的其他VMware ESX Server主机,参照上面的步骤,添加用于"容错"的虚拟交换机。

2.3检查合规性

VMware容错在VMware HA群集环境中使用。在每台主机上配置网络之后,可以查看群集配置是否正确以及是否符合成功启用容错的要求。

(1)使用vSphere Client连接到vCenter Server,选择创建的群集,单击"配置文件合规性"选项卡,单击"单击此处",创建配置文件,如图14所示。

HA群集与容错_HA群集_14
图14 创建配置文件

(2)在"选择创建方式"对话框中,选择"从现有主机创建配置文件",在"指定引用主机"页,选择一个主机。

(3)在"配置文件详细信息"页,设置配置文件名称,在"己准备好完成配置文件"页,单击"完成"按钮,创建配置文件完成。

(4)返回到vSphere Client界面,单击"立即检查合规性",如图15所示。

HA群集与容错_容错_15
图15 立即检查合规性

合规性测试的结果将显示在屏幕的底部。主机将标记为"合规"或"不合规"。

2.4 为虚拟机打开容错

在采取了为群集启用 VMware 容错所需的全部步骤之后,可以为各个虚拟机打开容错功能。如果符合下列任一情况,则用于打开容错的选项将不可用(以灰色显示):

" 虚拟机所驻留的主机并未获得使用该功能的许可证。

" 虚拟机所驻留的主机处于维护模式或待机模式。

" 虚拟机已断开连接或被孤立(无法访问其 .vmx 文件)。

" 用户没有打开此功能的权限。

如果用于打开容错的选项可用,则此任务仍然必须进行验证,并且在未满足某些要求时可能会失败。

下面将在一个Windows Server 2003的虚拟机中,打开"容错"功能,主要步骤如下:

(1)使用vSphere Client连接到vCenter Server,进入要启用容错的虚拟机的设置页,检查该虚拟机是否是一个虚拟CPU、CD/DVD是否是使用"数据存储的ISO"、是否是"厚磁盘"并且磁盘是否保存在共享数据存储中,如图16所示。只有在具备了这些条件之后,才能启用"容错"。

HA群集与容错_容错_16
图16 检查虚拟机设置

(2)然后返回到vSphere Client,右击虚拟机,在弹出的快捷菜单中选择"容错→打开容错",如图17所示。

HA群集与容错_HA群集_17
图17 打开容错

(3)在弹出的"打开容错"对话框中,单击"是"按钮。

(4)启用容错之后,再次右击虚拟机,可以在快捷菜单中看到"关闭容错、启用容错、迁移次要"等命令,如图18所示。

HA群集与容错_HA群集_18
图18 容错命令