故障转移群集是一组协同工作以提供高可用性 (HA) 或连续可用性 (CA) 的计算机服务器。如果其中一台服务器出现故障,集群中的另一个节点可以通过称为故障转移的过程以最短或没有停机时间来承担其工作负载。一些故障转移群集仅使用物理服务器,而其他群集则涉及虚拟机(VM)。
故障转移集群的主要目的是为应用程序和服务提供 CA 或 HA。CA 集群也称为容错 (FT) 集群,允许最终用户在服务器出现故障时继续使用应用程序和服务,而不会出现任何超时。HA集群可能会导致客户服务的短暂中断,但系统会自动恢复,不会丢失数据,停机时间最短。
集群由两个或多个节点(或服务器)组成,它们通过物理电缆或专用安全网络传输数据和软件以处理数据。其他类型的集群技术可用于负载平衡、存储以及并发或并行处理。一些实现将故障转移集群与其他集群技术相结合。
故障转移集群的工作原理
虽然 CA 故障转移群集旨在实现 100% 的可用性,但 HA 群集尝试 99.999% 的可用性 — 也称为“五个九”。这种停机时间每年不超过 5.26 分钟。CA 集群提供更高的可用性,但它们需要更多的硬件来运行,这增加了它们的总体成本。
高可用性故障转移集群
在高可用性集群中,独立服务器组在整个系统中共享资源和数据。故障转移集群中的所有节点都可以访问共享存储。高可用性集群还包括一个监控连接,服务器使用它来检查其他服务器的“心跳”或健康状况。在任何时候,集群中至少有一个节点是活动的,而至少一个是被动的。
在简单的双节点配置中,例如,如果节点 1 发生故障,节点 2 会使用心跳连接来识别故障,然后将自己配置为活动节点。安装在集群中每个节点上的集群软件可确保客户端连接到活动节点。
较大的配置可能使用专用服务器来执行集群管理。集群管理服务器不断发出心跳信号以确定是否有任何节点发生故障,如果是,则指示另一个节点承担负载。
一些集群管理软件通过将机器和它们所在的物理服务器汇集到一个集群中来为虚拟机 (VM) 提供 HA。如果发生故障,故障主机上的虚拟机将在备用主机上重新启动。
共享存储确实存在潜在单点故障的风险。但是,将 RAID 6 与 RAID 10 一起使用可以帮助确保即使两个硬盘驱动器发生故障,服务也能继续。
如果所有服务器都插入同一个电网,则电力可能代表另一个单点故障。可以通过为每个节点配备单独的不间断电源 (UPS) 来保护节点。
连续可用性故障转移集群
与 HA 模型相比,容错集群由共享计算机操作系统的单个副本的多个系统组成。一个系统发出的软件命令也在其他系统上执行。
CA 要求组织使用格式化的计算机设备和备用 UPS。在 CA 故障转移集群中,操作系统 (OS) 有一个接口,软件程序员可以在其中检查事务中预定点的关键数据。CA 只能通过使用运行服务的物理机或虚拟机的连续可用且几乎精确的副本来实现。这种冗余模型称为 2N。
CA 系统可以补偿许多不同类型的故障。容错系统可以自动检测故障
- 一个硬盘
- 计算机处理器单元
- AI/O 子系统
- 一个电源
- 一个网络组件
可以立即识别故障点,并且备份组件或程序可以立即取代它,而不会中断服务。
群集软件可用于将两台或多台服务器组合在一起以充当单个虚拟服务器,或者您可以创建许多其他 CA 故障转移设置。例如,可以配置一个集群,以便如果其中一个虚拟服务器发生故障,其他虚拟服务器会通过临时从集群中删除虚拟服务器来做出响应。然后,它会自动在其余服务器之间重新分配工作负载,直到停机的服务器准备好再次上线。
CA 故障转移集群的替代方案是使用“双”硬件服务器,其中所有物理组件都是复制的。这些服务器在单独的硬件系统上独立并同时执行计算。这些“双”硬件系统通过使用监控来自两个物理服务器的结果的专用节点来执行同步。虽然这提供了安全性,但此选项可能比其他选项更昂贵。Stratus 是这些专用容错硬件服务器的制造商,它承诺每年的系统停机时间不会超过 32 秒。然而,为每个同步模块配备双 CPU 的 Stratus 服务器的成本估计约为每个同步节点 160,000 美元。
故障转移集群的实际应用
任务关键型应用程序的持续可用性
容错系统是在线事务处理 (OLTP) 系统中使用的计算机的必需品。例如,要求 100% 可用性的 OLTP 用于航空公司预订系统、电子股票交易和 ATM 银行业务。
许多其他类型的组织也将 CA 集群或容错计算机用于关键任务应用程序,例如制造、物流和零售领域的企业。应用包括电子商务、订单管理和员工时钟系统。对于只需要“五个九”正常运行时间的集群应用程序和服务,通常认为高可用性集群就足够了。
灾难恢复
灾难恢复是故障转移集群的另一个实际应用。当然,如果发生火灾或洪水等灾难导致主数据中心中的所有物理硬件和软件失效,非常建议将故障转移服务器安装在远程站点。
例如,在 Windows Server 2016 和 2019 中,Microsoft 提供了 Storage Replica,这是一种在服务器之间复制卷以进行灾难恢复的技术。该技术包括跨两个地理站点的故障转移集群的延伸故障转移功能。
通过扩展故障转移集群,组织可以在多个数据中心之间进行复制。如果灾难发生在一个位置,所有数据将继续存在于其他站点的故障转移服务器上。
数据库复制
据微软称,该公司最初在 Windows Server 2016 中引入了 Windows Server Failover Cluster (WSFC),以保护其 SQL Server 数据库和 Microsoft Exchange 通信服务器等“关键任务”应用程序。
其他数据库提供商为数据库复制提供故障转移集群技术。例如,MySQL Cluster 包含一个心跳机制,用于即时检测故障,通常在一秒钟内检测到集群中的其他节点,而不会中断客户端的服务。地理复制功能使数据库能够镜像到远程位置。
故障转移群集类型
VMWare 故障转移集群
在可用的 虚拟化产品 中,VMware 为 VM 集群提供了多种虚拟化工具。vSphere vMotion 提供了一种 CA 架构,可在物理数据中心网络之间精确复制 VMware 虚拟机及其网络。
第二个产品 VMware vSphere HA 通过将虚拟机及其主机汇集到一个集群中以实现自动故障转移,从而为虚拟机提供 HA。该工具也不依赖于 DNS 等外部组件,从而减少了潜在的故障点。
Windows 服务器故障转移群集 (WSFC)
您可以使用 WFSC 创建 Hyper-V 故障转移服务器,WFSC 是 Windows 2016 和 2019 中的一项功能,用于监控集群物理服务器,并在需要时提供故障转移。WFSC 还监视集群角色,以前称为集群应用程序和服务。如果集群角色不能正常工作,它要么重新启动,要么移动到另一个节点。
WFSC 包括 Microsoft 以前的集群共享卷 (CSV) 技术,以提供一致的分布式命名空间,用于从所有节点访问共享存储。此外,WSFC 支持 SQL Server 和 Microsoft Hyper-V 群集 VM 的 CA 文件共享存储。它还支持在物理服务器和 Hyper-V 集群 VM 上运行的 HA 角色。
SQL Server 故障转移群集
在 SQL Server 2017 中,微软推出了 Always On,这是一种使用 WSFC 作为平台技术的 HA 解决方案,将 SQL Server 组件注册为 WSFC 集群资源。根据微软的说法,相关资源被组合成一个依赖于其他 WSFC 资源的角色。然后,WSFC 可以识别并传达重新启动 SQL Server 实例或自动将其故障转移到不同节点的需求。
红帽 Linux 故障转移集群
微软以外的操作系统制造商也提供他们自己的故障转移集群技术。例如,Red Hat Enterprise Linux (RHEL) 用户可以使用 High Availability Add-On 和 Red Hat Global File System (GFS/GFS2) 创建 HA 故障转移集群。为跨多个站点的单集群延伸集群以及“容灾”集群的多站点提供支持。多站点集群通常使用支持存储区域网络 (SAN) 的数据存储复制。