Date: 1月 17, 2023
了解业务关键型应用程序高可用性的复杂性
最大限度地减少系统、数据库和应用程序的停机时间是最大限度提高生产力的关键。 现代组织依靠关键业务系统、数据库和应用程序(例如企业资源规划 (ERP)、客户关系管理 (CRM)、电子商务、财务系统和供应链管理)来高效运营并提供卓越的客户体验. 当系统、数据库或应用程序出现故障时,高可用性保护会恢复操作以保持业务正常运行。
什么是高可用性?
高可用性是系统、数据库或应用程序的一个属性,旨在长时间连续可靠地运行。 高可用性的目标是通过合并冗余组件和其他技术来解决系统、数据库或应用程序中的单点故障,从而减少或消除关键应用程序的计划内和计划外停机时间。
简单地说,高可用性确保您的系统、数据库或应用程序按预期运行:“何时”是指系统、数据库或应用程序必须按预期启动和运行的时间百分比——这意味着应用程序按用户期望和满足的方式运行及时满足他们的需求。
数据中心模式
高可用性服务级别协议 (SLA) 有助于确保 IT 基础架构的关键组件在工作时间内正常运行和可用。 IDC 为高可用性创建了一个 SLA 模型,该模型定义了具有以下正常运行时间要求的五个级别: • AL4(持续可用性——系统容错):无用户中断,每年计划内和计划外停机时间总计最多不超过 5 分 15 秒(99.999% 或“五个九”可用性)。
• AL3(高可用性——传统集群):最少的用户中断和每年最多不超过 52 分 35 秒的计划内和计划外停机时间(99.99% 或“四个九”可用性)。
• AL2(恢复——数据复制和备份):一些用户中断和每年最多不超过 8 小时 45 分 56 秒的计划内和计划外停机时间(99.9% 或“三个九”的可用性)。
• AL1(可靠性——热插拔组件):所有服务停止,每年总计 87 小时 39 分 29 秒的计划内和计划外停机时间(99% 或“两个九”的可用性)。
• AL0(未受保护的服务器):所有服务停止,并且未定义正常运行时间 SLA。
您的高可用性要求取决于整个系统、应用程序和许多其他因素的重要性,包括: • 应用程序对业务有多重要 • 客户是否注意到影响 • 应用程序运行的频率 • 有多少用户受到停机影响 • 数据库或应用程序必须以多快的速度故障转移到冗余系统以避免中断 • 有多少数据损失是可以容忍的 五个九的可用性通常是为需要连续“有状态”操作的应用程序保留的。 对于业务关键型应用程序,四个九的可用性是标准的。 非关键系统和应用程序,您可能只需要两个九的可用性。 在确定可接受的停机时间时,重要的是要考虑: • 计划外停机时间(即硬件或软件故障) • 例行硬件和软件维护的计划停机时间 • 应用程序和数据库级别的正常运行时间 各种高可用性解决方案可以帮助企业实现其 SLA 目标针对不同的系统、数据库和应用程序。 尽管持续可用性 (AL4) 似乎是关键业务部署的最合适目标,但在成本和可用性之间找到适当的平衡点很重要。 连续可用性还会对计划维护所需的停机时间产生负面影响,因为在应用应用程序或操作系统更新时系统通常必须脱机,而高可用性通常允许滚动更新。
高可用性指标:RTO 与 RPO
除了正常运行时间和可用性之外,恢复时间目标 (RTO) 和恢复点目标 (RPO) 是用于评估系统、数据库或应用程序中的高可用性(以及灾难恢复)的重要指标。
反收购行动是任何中断的最大可容忍持续时间。 在线事务处理应用程序通常具有最低的 RTO,而那些业务关键型应用程序的 RTO 通常只有几秒钟。
RPO是发生故障时可以容忍的最大数据丢失量。 对于灾难恢复,应用程序及其相关数据的典型 RPO 可能是 24 小时。 每晚备份可确保在发生灾难时可以恢复过去 24 小时内对数据所做的任何更改。 但是,对于高可用性应用程序和数据,RPO 通常为零。 也就是说,在任何故障情况下都不应该有数据丢失。
传统聚类
高可用性集群是一组服务器节点(和其他组件),它们支持需要最少停机时间的关键业务应用程序。集群软件允许您将服务器配置为集群,以便多个服务器可以协同工作以提供高可用性并防止数据丢失。 IT 组织依靠高可用性集群来消除单点故障并将停机和数据丢失的风险降至最低。
传统的本地高可用性集群是一组连接到共享存储(通常是存储区域网络或 SAN)的两个或多个服务器节点,这些节点配置有相同的操作系统、数据库和应用程序(参见图 1) ).
其中一个节点被指定为主要(或活动)节点,其他节点被指定为次要(或备用)节点。 如果主节点发生故障,集群允许系统、数据库或应用程序的操作自动故障转移到一个或多个辅助节点,并继续正常运行,中断最少。 由于辅助节点连接到同一存储,因此操作继续进行,数据丢失为零。 这种集群架构的好处是减少停机时间、消除数据丢失和保护数据完整性。
但是,有很多场景不需要共享存储。 共享存储中的故障将使所有集群脱机,从而产生单点故障 (SPoF) 风险。 SAN 存储的拥有和管理成本高昂且复杂。 最后,在云中使用共享存储会显着增加不必要的成本和复杂性。 有些云根本不提供共享存储选项。
如图所示图 2, SANless 或“无共享”集群是共享存储的最佳替代方案。 在这些配置中,每个集群节点都有自己的本地存储。 高效的基于主机的块级复制用于同步集群节点上的存储,使它们保持相同。 在发生故障转移时,辅助节点访问主节点使用的存储的相同副本。 这种集群架构的优势在于消除 SPoF、消除 SAN 成本和复杂性、在云中易于使用和节省成本、减少停机时间并减少数据丢失。
设计原则
最先进的高可用性集群包含以下设计原则: • 当一个活动组件发生故障时,它们会自动快速地故障转移到冗余系统 • 它们在故障转移期间和之后保持特定于应用程序的最佳实践 • 它们提供手动切换和切回的能力,以实现高效测试和“滚动”维护,且成本最低计划内停机 • 它们可以自动检测网络、存储、操作系统、硬件或应用程序中的故障 • 它们可以防止在系统发生故障时丢失数据 • 它们可以跨不同地理位置的节点进行故障转移以实现灾难恢复
高可用性集群
各种集群软件解决方案可用于 Windows、Linux 发行版和各种管理程序(虚拟机解决方案)。 一组仅支持一个操作系统,例如: • Windows 服务器故障转移群集 (WSFC):为 Microsoft SQL Server 和 Microsoft Exchange 等托管应用程序提供高可用性和灾难恢复 • SUSE Linux Enterprise 高可用性扩展 (HAE):支持物理和虚拟 Linux 服务器的集群,具有策略驱动的集群和连续数据复制• 红帽起搏器(Pacemaker):为性能、高可用性、负载平衡和可伸缩性创建单站点集群 例如,这里列出的解决方案都不能保护在 Oracle Linux 操作系统上运行的 SAP。 因此,每个解决方案都会限制您的灵活性和部署选项。 更先进高可用性解决方案,例如适用于 Linux 的 SIOS Protection Suite,在主要 Linux 发行版(包括 Oracle Linux、Red Hat 和 SUSE)中提供应用程序感知保护。
此外,每个应用程序、数据库和 ERP 系统都有自己的配置和持续管理要求。 为了满足这些要求,HAE 和 Pacemaker 通常需要高度的技术技能和复杂的手动脚本,这会引入人为错误和不可靠的故障转移的可能性。
通常受故障转移集群保护的关键业务应用程序、数据库和 ERP 系统的一些示例包括 SAP S/4HANA、SQL Server 和其他应用程序和数据库。
SAP S/4HANA多家 Linux 供应商在其“Enterprise for SAP”订阅中为 SAP 提供开源高可用性扩展。 SAP S/4HANA 环境包含多项服务,例如 ABAP SAP 中央服务 (ASCS)、评估收据结算 (ERS) 和其他 SAP 组件,这些服务需要在正确的位置进行维护并以正确的顺序启动。 在 SUSE HAE 和 Red Hat Pacemaker 等开源集群产品中,在这些复杂环境中手动配置和管理集群可能非常耗时,而且容易出现人为错误,从而增加灾难性停机和数据丢失的风险。
创建应用程序感知的高可用性解决方案还需要在应用程序和数据库方面具有特定的深厚专业知识。 相比之下,适用于 Linux 的 SIOS 保护套件包括用于 SAP 和 HANA 的应用程序恢复工具包,可确保故障转移保持应用程序最佳实践。
SAP 还提供 HANA 系统复制,这是 HANA 软件附带的一项功能。 它可以将 SAP HANA 数据库持续同步到同一数据中心、远程站点或云中的辅助位置。 数据被复制到辅助站点并预加载到内存中。 发生故障时,备站点接管,无需重启数据库,有助于降低RTO。 但是,必须手动触发到主节点的故障回复。 HSR 需要与应用感知集群软件(如 SIOS Protection Suite)搭配使用,后者可以检测故障并在必要时协调故障转移。
数据库服务器
许多公司依靠 SQL Server 作为支持重要业务功能的关键应用程序的后端数据库。 Microsoft WSFC 通常用于支持 SQL Server 应用程序的 Always On 可用性组 (AG) 和 SQL Server 故障转移群集实例 (FCI)。
但是,带有 AG 的 WSFC 需要昂贵的 SQL Server 企业版许可。 此外,使用 FCI 时,整个实例将故障转移到备用节点。 使用 AG,只有组中的数据库受到保护。
使用SIOS 数据管理员WSFC 允许您使用具有成本效益的标准版许可为 SQL Server 提供高级高可用性保护。
其他应用程序和数据库
SIOS 软件可用于保护各种关键业务应用程序、数据库和 ERP,包括 Oracle、MaxDB、MySQL、PostgreSQL 和 DB2。 SIOS 软件支持集群和灾难恢复。
在我们的下一篇博客中,我们将研究特定的行业用例,以帮助您了解不同的企业如何为其关键任务应用程序实现高可用性。
经许可转载自信息系统