资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
【资料资料】VMware vSphere ESXI/ESX 中的中的 HA 工作原理介绍工作原理介绍HA 全称 High Availability。它是 VMware 的企业应用环境中用来保障企业级应用的不间断运行需求所产生的一个组件。HA 允许一个集群中在资源许可的情况下,将出现故障的 ESX 主机上面的 VM 在其他的主机上启动起来,其间的业务时间间断为:VM 系统启动时间+应用启动时间+15 秒左右的心跳检测时间。通常这个时间都能够保持在 3 分钟内。HA 不受 DRS 和 VMotion 的影响,也就是说它并不依赖于后两者存在,它的心跳检测信号可以通过在ESX 主机之间发生。HA 甚至都不依赖于 VC 服务器,不过鉴于 HA 的配置需要一来 VC,所以我们一般认为 HA 还是需要依赖于 VC 服务器的,但是我们必须清楚的认识:VC 于 HA 的作用仅限于配置时需要它,配置完成之后,只要我们设定了心跳检测的隔离地址,则我们可以丢弃 VC 服务器了(前提是我们不需要用到 DRS 和 VMotion 等功能)。设定 HA 集群过程中,我们可以看到如下几个选项,他们分别的含义是:1、接入控制。用于设定集群中可以恢复或确保故障切换的最大主机故障数(VI3 中集群最大允许故障主机数目为 4 台)、确定违反可用性限制的 VM 是否可以被启动。2、默认群集设置。默认会应用于群集中的所有满足 HA 条件的 VM。其中“虚拟机重新启动优先级”选项指定发生主机故障时重启 VM 的相对优先级,优先级较高的 VM 将优先启动,依此类推,优先级从高到低次第启动;“主机隔离响应”选项则用于执行已与集群失去连接的 ESX 主机应对正在运行的 VM 执行的操作。默认情况下,住过主机被隔离,则每台 VM 会保持启动状态,也就意味着被隔离 ESX 主机无法于集群中的其他主机取得联系,但是其中的 VM 还继续保持运行;“关闭虚拟机”和“虚拟机关闭”则会将 VM 交付于其他 ESX 主机,等同于切断 VM 的电源,可能导致应用数据丢失。其中前者相当于拔电源,后者则是温和的自动启动关机命令。区别在于,前者的等待时间较短,但是容易导致应用数据丢失,后者等待时间较长,但是应用数据更容易受到保护。3、虚拟机监控。可以通过安装 VMtools 对虚拟机的运行状态通过 VMtools 发出的监控信号进行监控,如果在规定时间内没有收到信号则说明该机异常,将自动重启这台机。这个规定时间有:2 分钟、1 分钟、30 秒钟三个选项。4、高级选项。这里是对 HA 的一些高级选项进行配置。比如 das.isolation-address(确定主机状态的隔离地址)。HA 的具体工作原理在集群中,VC 通过心跳信号(Agent Heartbeat)来监控各台 ESX 主机的工作状态,ESX 主机之间也能够相互发送心跳信号来确定相互之间的连通性和运行状态。集群中的心跳信号默认通过 Service Console 来传输(端口不定),那么,当某台 ESX 主机没有收到其他主机的信号时,则可能有两种可能:(1)、其他 ESX 主机故障;(2)、本机网络连通性出了问题,我们称之为“孤立”(isolation)。ESX 主机的联通性心跳信号测试,还可以通过一个“隔离地址”来实现,默认情况下这个地址是 Service Console 的网关地址,但是,我们可以在高级选项中自定义这个地址。一旦 ESX 主机确定是自身的问题,那么,系统将会自动解除对 ESX 主机上面虚拟机的 VMDK 文件解除锁定,方便其他主机接管它;如果ESX 主机确认非自身问题,则开始尝试接管其他可能故障的 ESX 主机上面的 VM。根据实验资料,ESX主机会在停止收到心跳信号数秒后,开始确认自己是否被孤立,如果确认是,则会根据遇险的配置来决定其中 VM 的状态处理。正常 ESX 主机会在停止接收到故障 ESX 主机的心跳喜好 15s 之后,开始尝试接管并启动原来在故障主机上的 VM。另一种特殊的情况,我们称之为“脑裂”这种情况一般发生在非冗余网络和主机集群中。假定某 HA 集群中有 2 台主机 T1 和 T2,当 T1 崩溃后没能发出心跳信号时,T2 无法确认是 T1 问题还是自身问题,这时它会尝试 ping 隔离地址设定的 IP,来确认是否是自身被孤立,如果隔离地址因为防火墙封闭或其他原因无法 ping 通,则 T2 会认为自身是孤立主机,那么,它就会按照预先设定的操作进程对VM 进行相应的处理,进而扩大化故障范围正是为了防止“脑裂”现象的发生,VMware 中将 HA 设置中的“主机隔离响应”默认配置为“保持 VM 启动状态”。备注:早期的版本默认设置为“关闭 VM”。 所以,我们一再强调对 HA 集群中的默认 ESX 主机为 3 台以上,或者集群中的 ESX 拥有冗余网络。关于 vmware 推荐的 ha 群集最佳做法:主要是分设计群集,网络配置,网络冗余.一关于设计群集:1)将警报设置为监控群集更改当 VMware HA 或容错执行可用来维护可用性的操作时(例如,虚拟机故障切换),我们需要系统通知我们此更改。可以将 vCenter Server 中的警报触发设置配置为在执行操作或向指定的一组管理员发送警示(如,电子邮件)时触发。2)监控群集有效性有效群集是尚未违反接入控制策略的群集。当已启动的虚拟机数超过了故障切换需求,即当前故障切换容量小于所配置的故障切换容量,则已启用 VMwareHA 的群集将会变为无效(红色)。如果禁用了接入控制,则群集不会变为无效。vSphere Client 中的群集的“摘要”页面显示群集的配置问题的列表。该列表说明了造成群集无效或过载(黄色)的原因。如果群集是由于 VMware HA 问题而变为红色的,则 DRS 行为不会受到影响。3)检查群集的操作状态群集或其主机可能会出现一些配置问题和其他问题,这会对 VMware HA 的正常运行产生负面影响。可以查看“群集操作状态”屏幕来监控这些错误,能够从 vSphere Client 中群集的摘要选项卡的 VMware HA 部分访问此屏幕。大家应该解决此屏幕上列出的所有问题。二关于网络配置(维护):下列网络维护建议可以帮助我们避免对由于丢失 VMware HA 检测信号而发生故障的主机和网络隔离的意外检测。1)对群集 ESX/ESXi 主机所在的网络进行更改时,VMware 建议我们挂起主机监控功能。更改网络硬件或网络设置会中断 VMware HA 用于检测主机故障的检测信号,并且这可能导致不必要的虚拟机故障切换尝试。2)在 ESX/ESXi 主机上更改网络配置时(例如,添加端口组或移除 vSwitch),VMware 建议除了挂起主机监控以外,还应将主机置于维护模式。群集范围的网络注意事项为了使 VMware HA 运行,群集内的所有主机都必须有兼容网络。添加到群集的第一个节点指明为了使所有后续主机成为群集成员还必须拥有的网络。如果 IP 地址和子网掩码的组合生成的网络与其他主机的网络相匹配,则将此网络视为兼容网络。如果尝试添加具有太多或太少管理网络的主机,或者要添加的主机具有不兼容的网络,则配置任务将失败,而且“任务详细信息”窗格中将指定该主机不兼容。例如,如果添加到群集的第一个主机有两个网络用于 VMware HA 通信,10.10.135.0/255.255.255.0 和 10.17.142.0/255.255.255.0,则所有后续主机必须配置相同的两个网络,并用于 VMware HA 通信。网络隔离地址网络隔离地址是要 ping 的 IP 地址,以确定主机是否与网络隔离。只有当主机已停止从群集内的任何其他主机接收检测信号时才 ping 此地址。如果主机可以 ping 其网络隔离地址,则说明该主机并未与网络隔离,并且群集内的其他主机已发生故障。但是,如果主机无法 ping 其隔离地址,则可能该主机已与网络隔离,并且不会执行故障切换操作。默认情况下,网络隔离地址是主机的默认网关。无论已定义了多少管理网络,都只指定了一个默认网关,因此,应当使用 das.isolationaddress. 高级属性为其他网络添加隔离地址。指定额外的隔离地址时,VMware 建议将 das.failuredetectiontime 高级属性的设置增加到 20000 毫秒(20 秒)或更长时间。如果主机隔离响应是为了故障切换虚拟机(而非将其保持为启动状态),则从网络隔离的节点需要时间释放其虚拟机的 VMFS 锁。必须在其他节点将该节点声明为故障节点之前进行此操作,以便当它们启动虚拟机时,不会由于虚拟机仍然被此隔离节点锁定而收到错误。其他网络注意事项配置交换机。如果连接服务器的物理网络交换机支持 PortFast(或等效)设置,请将其启用。此设置可防止主机在执行冗长的跨树算法期间误认为网络已被隔离。主机防火墙。在 ESX/ESXi 主机上,VMware HA 需要并自动打开以下防火墙端口。A 入站端口:TCP/UDP 8042-8045B 出站端口:TCP/UDP 2050-2250 端口组名称和网络标签。在 VLAN 上使用一致的公用网络端口组名称和网络标签。端口组名称用于重新配置虚拟机对网络的访问。如果在原始服务器和故障切换服务器间使用的名称不一致,虚拟机将在故障切换后中断网络连接。虚拟机使用这些标签在重新启动时重新建立网络连接。三网络路径冗余群集节点之间的网络路径冗余对 VMware HA 可靠性非常重要。单个管理网络会最终成为单一故障点。如果当我们只有一个管理网络,则主机和群集之间的任何故障都可能导致不必要的(错误的)故障切换情况。可能的故障包括网卡故障、网络电缆故障、网络电缆移除和交换机重置。考虑主机可能导致故障的上述原因,然后尝试减少这些问题(通常通过提供网络冗余来实现此目的)。可以使用网卡绑定在网卡级别或在管理网络级别实现网络冗余。在大多数实现中,网卡绑定可以提供足够的冗余,但如果需要,可以使用或增加管理网络冗余。冗余管理网络可以可靠地检测故障并防止出现隔离的情况,因为检测信号可以通过多个网络发送。在群集内的服务器之间尽量少配置硬件分段,目的是为了限制单一故障点。此外,跃点过多的路由可能会导致检测信号的网络数据包延迟,并增加潜在的故障点数目。使用网卡绑定的网络冗余如果用两个连接到不同物理交换机的网卡组成一个网卡组,则可以提高管理网络的可靠性。因为通过两个网卡(并且通过单独的交换机)连接的服务器具有两条独立的路径来发送和接收检测信号,所以群集具有更好的弹性。要为管理网络配置网卡组,请在活动或待机配置的 vSwitch 配置中配置 vNIC。推荐的 vNIC 参数设置如下:A 默认的负载平衡 = 基于源虚拟端口 ID 的路由 B 故障恢复 = 否在为 VMware HA 群集内的主机添加网卡后,必须在该主机上重新配置 VMware HA。使用辅助网络的网络冗余除了使用网卡绑定提供检测信号冗余之外,还可以创建一个辅助管理网络连接,并将其连接到一个单独的虚拟交换机上。主管理网络连接用于网络和管理。辅助管理网络连接创建之后,VMware HA 会同时通过主管理网络连接和辅助管理网络连接发送检测信号。如果一条路径发生故障,VMware HA 仍可通过另一条路径发送和接收检测信号。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号