DB2 pureScale Feature 为事务处理提供了无限的容量和连续的可用性,您能够调整 SAP 解决方案来适应不断变化的">工作负载,无需使系统宕机。本节将介绍一些可从 DB2 pureScale Feature 的可伸缩性和高可用性 (HA) 功能中获益的用例和系统配置选项。
针对 SAP 应用程序的完善的 HA 解决方案
DB2 pureScale Feature 包含集群服务组件 TSA 和 RSCT,它们为 DB2 数据库提供了内置的 HA。但是,针对 SAP 应用程序的 HA 不是只有数据库才有的任务。HA 解决方案必须包含数据库服务器和 SAP NetWeaver Application Server 组件,才能发挥作用。因此,DB2 pureScale Feature 的集群服务组件为完整的 SAP 应用程序(同时包括 DB2 pureScale 数据库服务器和 SAP NetWeaver Application Server 层)提供了 HA。
在 SAP NetWeaver Application Server 组件上,TSA 组件涵盖针对 SAP 中心服务和 SAP NetWeaver Application Server 组件的 HA。SAP 所提供的 sapscssetup 工具可为 SAP 中心服务(比如 SAP 排队服务器和排队复制服务器 (ERS))、消息服务器、SAP Web 调度器、SAP 路由器、SAP 网管和中央系统消息日志设置 HA。TSA 策略可为 SAP NetWeaver Application Server 组件设置和管理 HA。如果一个 SAP 组件发生故障,那么 TSA 会自动安排故障组件的故障转移和重新启动,确保整个系统的可用性。
如果一个 DB2 成员发生故障,那么 DB2 pureScale Feature 会会自动检测该故障。连接到故障成员的 SAP NetWeaver Application Server 组件会自动重定向到集群的其他成员。DB2 pureScale Feature 会自动恢复故障成员并将其上线。如果故障成员的主宿主仍然可用,恢复操作可在该宿主上执行;也可以在发生硬件故障时在不同的宿主上执行恢复操作。在恢复故障成员期间,只会锁定故障成员中的动态数据。所以其他数据和所有其他成员保持完全上线和不受影响。在 DB2 成员重新上线后,重定向到其他 DB2 成员的任何 SAP NetWeaver Application Server 组件会在下一个事务边界自动且透明地重定向回原始成员。
如果主要 CF 发生故障,DB2 也会自动检测和更正故障。辅助 CF 会接管工作,成为主要 CF。由于主要和辅助 CF 之间永久的数据重复性,在辅助 CF 在全局锁列表中添加从 DB2 成员获取的页面读取锁时,接管过程只会产生很短的延迟。接管对应用程序完全透明,但不会丢失任何动态数据。
如果辅助 CF 发生故障,则不会有任何影响。重新启动后,它会再次集成为辅助 CF。在重新启动辅助 CF 后,它首先会进入 CATCHUP 状态,以与主要 CF 同步数据。
当此过程完成后,该状态切换到 PEER 状态,辅助 CF 将再次可用。 如果一个 DB2 成员或 CF 的故障是由无法恢复的硬件故障引起的,DBA Cockpit 中会显示一个提醒,告知您必须采取措施来让服务器重新上线。在其他所有情况下,DB2 pureScale Feature 会自动更正问题,无需用户进行干预。
要以最佳的方式使用 DB2 pureScale HA,则应该在 DB2 pureScale 数据库服务器中保留一些备用容量,以便在 DB2 成员发生故障时,让集群能够处理您的工作负载。有两种方式调整此设置。一种选择是调整特定的 DB2 成员,使这些成员可处理另一个 DB2 成员(如果它发生故障)的更多工作负载。在这种情况下,连接的 SAP NetWeaver Application Server 组件会故障转移到幸存的成员,并保持与它们的连接,直到故障成员重新上线。另一个选择是向集群添加一个或多个备用成员,如果一个或多个成员发生故障,这些备用成员将接管它们的工作。第二个选择有两个优势。首先,重定向的工作不会影响其他 DB2 成员上的工作。第二,备用成员提供了更多容量,您可以使用这些容量应对临时工作负载峰值或在维护期间接管工作。
无中断维护
如今,无中断维护在业务中具有极高的优先级。在使用 DB2 pureScale Feature 时,您可以对操作系统和服务器硬件执行秘密维护。要使维护透明化,您应该向 DB2 pureScale 集群分配足够多的资源,以满足缺少一个 DB2 成员时的工作负载需求。为此,可以将 DB2 成员的大小调整为足够处理缺少 DB2 成员时的工作负载,或者您可提供一个或更多专门的备用 DB2 成员,对一个 DB2 成员的临时缺少提供补偿。
要在一个 DB2 成员上执行维护,需要使用 DB2 QUIESCE 命令卸载 DB2 成员上的工作负载。来自 SAP 解决方案的工作负载会在事务边界处透明地重定向到其他 DB2 成员,而不会中断业务。该工作负载可重定向到已在处理工作的 DB2 成员,也可重定向到您专门分配给集群执行 HA 和维护任务的备用 DB2 成员。
卸载 DB2 成员的所有工作后,即可将服务器设置为维护模式并启动维护工作。完成维护任务后,可以将服务器重新集成回 DB2 pureScale 集群中。SAP NetWeaver Application Server 组件检测到 DB2 成员重新上线之后,它会自动在下一个事务边界将它们的工作路由回该 DB2 成员,此过程对用户是透明的。
要在一个 CF 上执行维护,可以临时停止并从 DB2 pureScale 集群取出该 CF。如果在主要 CF 上执行维护,辅助 CF 会自动接管工作并成为主要 CF。在 CF 上完成维护工作并重新启动该 CF 后,重新集成的新 CF 会作为辅助 CF 自动启动。再次申明,维护对用户是透明的。应用程序不受任何影响。