Heartbeat是High-Availability Linux Project (Linux下的高可用性项目)的产物,是一套提供防止业务主机因不可避免的意外性或计划性宕机问题的高可用性软件。Heartbeat可以从Linux-HA 项目Web 站点免费获得,它提供了所有HA (高可用性)系统所需要的基本功能,如启动和停止资源、监测群集中系统的可用性、在群集中的节点间转移共享IP 地址的所有者等。它通过串行线、以太网接口或同时使用两者来监测特定服务(或多个服务)的运行状况。
Heartbeat实现了HA 功能中的核心功能——心跳,将Heartbeat软件同时安装在两台服务器上,用于监视系统的状态,协调主从服务器的工作,维护系统的可用性。它能侦测服务器应用级系统软件、硬件发生的故障,及时地进行错误隔绝、恢复;通过系统监控、服务监控、IP自动迁移等技术实现在整个应用中无单点故障,简单、经济地确保重要的服务持续高可用性。
Heartbeat采用虚拟IP地址映射技术实现主从服务器的切换对客户端透明的功能。
在两个服务器热备时,分别安装Heartbeat、ngix和jboss,虚拟出一个ip地址,其中heartbeat提供ngix HA功能,ngix作为两个jboss的反向代理,一台服务器失败的时候,启用另外一台从服务器。如果使用mysql,可以在两台服务器之间做mysql的实时数据同步。
VMWare HA和FT有些限制,需要购买相关模块(参考:http://hazt1011.blog.51cto.com/1072107/1103701):
VMware HA |
VMware FT |
|
功能 |
在ESX Server主机的集群中使用自动failover提供VMs的高可用性 一个可选的VirtualCenter特性 通过VI Client配置,管理和监控 可自定义个别VM的行为 当服务器故障时,自动重新启动虚拟机 |
通过为虚拟机启用 VMware Fault Tolerance,最大限度地延长数据中心的正常运行时间,减少停机管理成本。基于 vLockstep 技术的 VMware Fault Tolerance 可使应用程序实现零停机、零数据丢失,同时消除了传统硬件或软件集群解决方案的成本和复杂性。 |
优势 |
经济有效的适用于所有应用的高可用 不需要独占的stand-by 硬件 没有集群软件的成本和复杂性 |
可以保护所有虚拟机,不论使用何种操作系统或底层硬件,支持所有应用,包括自主开发的应用,以及无法用传统的高可用性产品来保护的自定义应用 易于设置,可按虚拟机启用和禁用 |
工作过程 |
HA不间断地监控群集中所有的物理主机,并检测故障。在 vSphere HA 群集中,检测三种类型的主机故障:
放置在每台主机上的代理程序不断向群集中的其他主机发出“心跳信号”,“心跳信号”的终止将启动所有受影响的虚拟机在其他主机上的重启过程。 HA时刻监控群集中是否有足够的资源可用,以便在主机发生故障时能够在其他物理主机上重启虚拟机。 在VMware机制下,利用ESX Server存储堆栈中的锁定技术,可以使虚拟机的安全重启成为可能,它允许多个ESX Server同时访问同一虚拟机文件。 |
容错使用 ESX/ESXi 主机平台上的 VMware vLockstep 技术以提供连续可用性。通过确保主虚拟机和辅助虚拟机的状态在虚拟机的指令执行的任何时间点均相同来完成此过程。vLockstep 通过使主虚拟机和辅助虚拟机执行相同顺序的 x86 指令来完成此过程。主虚拟机捕获所有输入和事件 — 从处理器到虚拟 I/O 设备 — 并在辅助虚拟机上进行重放。辅助虚拟机执行与主虚拟机同一系列的指令,而仅可看到单个虚拟机映像(主虚拟机)在执行工作负载。 |
要求 |
至少需要两台ESX主机 所有虚拟机文件必须放到共享的存储里 物理主机的CPU,可以不同厂家,不同系列 必须可以从Cluster中的所有主机启动VM 可以访问公共的资源(共享存储,VM网络) 主机推荐配置DNS信息 DNS可以解析Cluster中所有主机 |
VMware FT至少需要两台ESX主机,所有ESX必须为4.0以上,Build版本相同,以及在同一个HA Cluster中 服务器的CPU要求是同一系列(并且要求是AMD Barcelona+, Intel Penryn+的CPU) BIOS中要启用VT及禁用Hyperthreading(超线程), 最好同时禁用电源管理 每个VM只能分配1颗vCPU 要有专门的千兆网络负责FT VM要放在共享存储上 VM的配置文件必须为版本7 Guest OS不要启用Paravirtualization |
特性 |
HA虽然不依赖vCenter运转,但是在组建HA cluster的时候必须通过vCenter来发起。vCenter的主要作用是,在主机上安装HA的Agent(指FDM和hostd agent),在Cluster配置更改的时候通知各主机。 不能避免脑裂的情况(“脑裂”参见我的博客) 会丢失数据,应用暂时中断 只针对物理主机服务器,而不能针对VM 服务会中断,只是时间很短,属于计划外宕机 宕掉的那台物理机上的虚拟机在切换时关闭,并在 另外一台物理机上重启,这是和动态迁移的主要区别 |
vCenter Server 不可用,也会发生 容错可避免“裂脑”情况的发生 可使应用程序实现零停机、零数据丢失 启用FT的VM不支持自动DRS 启用FT的VM不支持Snapshot 启用FT的VM不支持MS Cluster 启用FT的VM不支持物理RDM Mapping 启用FT的VM的虚拟CD-ROM最好断开 启用FT的VM不支持NPIV (N-Port ID Virtualization) 启用FT的VM不支持Device HotAdd/HotPlug |
排错 |
确认IP网络连接,DNS解析; 确认Cluster中所有的存储和网络可访问; 检查日志: /opt/LGTOaam512/log/* /opt/LGTOaam512/vmsupport/* |