在高可用性 (HA) 环境中授予分布式 DB2 10.5 服务器许可

您是否正在尝试在高可用性环境中向 IBM® DB2® Version 10.5 for Linux®, UNIX®, and Windows® 服务器正确授予许可?您是否需要他人帮助您解释公告信和许可?本文将全面介绍 2013 年 6 月 14 日发布的 DB2 10.5 版本。

Amyris Rada, 资深信息开发人员,DB2 for Linux, UNIX, and Windows, IBM

Amyris RadaAmyris Rada 在加拿大安大略省万锦市的 IBM 加拿大实验室工作,是 DB2 for Linux, UNIX, and Windows 产品团队中的一名资深作家。自 1998 年以来,她一直是 DB2 团队的成员,先后在合作伙伴支持、质量保证和信息开发领域担任过不同的职位。她从 Simon Bolivar University 获得了计算机工程学士学位。目前负责 DB2 信息中心的多个内容领域,并与 DB2 最佳实践开发团队合作。她最近参与编写了 最佳实践:面向联机事务处理 (OLTP) 环境的物理数据库设计DB2 最佳实践:数据仓库环境的物理数据库设计。在加入 IBM 之前,Amyris 曾在 KL Group 和 INTERGRAPH 工作过。



Roman Melnyk, B., DB2 信息开发, IBM

Roman MelnykRoman B. Melnyk 是一名哲学博士,也是 DB2 Information Development 团队的一名资深成员。Roman 编辑了 DB2 10.5 with BLU Acceleration:New Dynamic In-Memory Analytics for the Era of Big Data(McGraw-Hill,2013 年)、Harness the Power of Big Data:The IBM Big Data Platform(McGraw-Hill,2013 年)、Warp Speed, Time Travel, Big Data, and More:DB2 10 for Linux, UNIX, and Windows New Features(McGraw-Hill,2012 年)和 Apache Derby - Off to the Races(Pearson Education,2006 年)。他还与他人合著了 DB2 Version 8:The Official Guide(Prentice Hall Professional Technical Reference,2003 年)、DB2:The Complete Reference(Osborne/McGraw-Hill,2001 年)、DB2 Fundamentals Certification for Dummies(Hungry Minds,2001 年)和 DB2 for Dummies(IDG Books,2000 年)。



2014 年 3 月 13 日

简介

客户之所以选择 DB2,离不开它难以置信的价值实现速度、它跨不同环境扩展和集成的能力、它的健壮性,以及它对宕机时间(包括计划内和计划外宕机)的最大限度的减少。本文将重点介绍 DB2 的高可用性 (HA) 方面,具体来讲,将从许可角度介绍高可用性。

我们收到了大量有关在高可用性环境中授予 DB2 许可的问题。引起混淆的一个主要来源是,供应商在高可用性环境中针对其数据库产品而采用了具有诸多变化的定价方式。

另一个混淆来源是词汇。例如,IT 行业有时将高可用性环境称为集群。我们已经不再喜欢单独使用这个词了,因为它变得有点小材大用了。集群可指可伸缩性集群(比如在使用 DB2 Advanced Enterprise Edition 时可用的分区数据库环境)或可用性集群(通过 Tivoli System Automation for Multiplatforms 等软件提供),或者同时代表二者(DB2 pureScale 集群或 IBM Smart Analytics System 就属于这种情况)。对于本文,在使用集群 这个词时,我们指的是高可用性集群(除非另行说明)。

出于简单性,当与您的客户或同事讨论集群时,应该指明高可用性集群可伸缩性集群。当然,一些解决方案在一个集群中可同时解决可伸缩性和高可用性问题,所以请确保您描绘了正确的特质。

用于描述在发生宕机时用作故障转移服务器的服务器的词汇有时也会引起混淆。利用备用辅助 服务器。如果您有足够的阅历,那么您很可能遇到过各种描述备用服务器执行的功能的词汇。空闲活动被动 等词汇都在可用性讨论中用到过。

在大部分情况下,IBM Software Group (IBM SWG) 文化使用温度分类法()来描述备用服务器,DB2 自 DB2 9.5 开始就已采用 IBM SWG 分类法。

我们针对 DB2 10.5 版本(2013 年 6 月 14 日正式发布)更新了本文,帮助您梳理 DB2 高可用性许可规则并让您知悉内情。本文还将介绍 DB2 pureScale 技术,该技术针对 DB2 10.5 版本进行了显著增强,提供了在线修复包更新,DB2 pureScale 实例和常规 DB2 实例之间的备份和还原,以及 HADR。在 DB2 10.5 中,DB2 pureScale 包含在 DB2 Developer Edition、DB2 Advanced Workgroup Edition 和 DB2 Advanced Enterprise Edition 中。

图 1 总结了基于数据 “温度” 的 DB2 10.5 高可用性 (HA) 分类法,提供了属于每个温度分类的配置类型的示例。

图 1. 具有多种温度的 DB2 10.5 高可用性分类法
具有多种温度的 DB2 10.5 高可用性分类法

表 1 显示了用于描述高可用性环境的最常见的词汇,它们与 DB2 分类法和许可条款存在着对应关系。

表 1. 行业高可用性词汇与 DB2 许可条款的对应关系
数据库软件安装在另一个用于故障转移用途的服务器上。数据库软件安装在另一个用于故障转移用途的服务器上。数据库软件安装在另一个用于故障转移用途的服务器上。
在此期间,此服务器还维护着它的合作伙伴高可用性场景,作为主要数据服务器为其他应用程序提供服务。甚至在没有发生故障转移时,也有最终用户访问这个备用数据据库。 DB2 实例启动,它只能从主要数据库收到用于高可用性用途的更新,比如应用日志或执行恢复工作。没有最终用户访问这个备用数据库。DB2 实例不会在正常操作期间启动,仅在进行故障转移时启动。也可以在较短时间内启动数据库,以执行维护操作(比如应用修复包或执行备份),这之后必须停止它。
通常用在孪生故障转移 HADR、具有 Read on Standby 的 HADR、DB2 pureScale、DB2 pureScale 环境中的 HADR 或复制场景中。通常用于一个 “普通的”(没有 Read on Standby)HADR、Q-Replication 或日志传输场景中。通常用于 部署 DB2 pureScale、HADR 或日志传输,并且 DB2 实例未启动的集群场景中,比如 PowerHA for AIX 集群(以前称为 HACMP)。

在高可用性环境中授予 DB2 服务器许可的方式取决于您对以下关键问题的回答:

安装了哪个版本的 DB2 数据服务器?
它是 DB2 Express-C、DB2 Express、DB2 Workgroup、DB2 Enterprise 还是 DB2 Advanced Enterprise?如果它是免费的 DB2 Express-C,那么您应该知道您没有在任何类型的高可用性配置中使用 DB2 Express-C 的许可。如果需要使用高可用性,则至少需要购买 DB2 Express 许可。所有 DB2 10.5 版本都包含对热、暖或冷备用服务器配置的全面支持(稍后会详细介绍)。这对于使用 HADR 的 DB2 Express 客户而言是一个极好的消息,如果这些客户按照 PVU 或 AU 定价指标获取 DB2 Express 许可,那么他们必须独立于 DB2 9.7 获取 DB2 High Availability Feature for Express Edition 许可,然后才能设置 HADR 故障转移。
如何为您希望保证高度可用的主要 DB2 服务器授予许可?
为备用服务器选择的 DB2 版本和许可指标必须与主要服务器相匹配。例如,如果使用有限使用虚拟服务器 (Limited Use Virtual Server. LUVS) 或固定期限服务器 (Fixed Term Server, FTL) 许可选项为 DB2 Express 服务器授予许可,则必须为备用服务器购买一个额外的 LUVS 或 FTL 许可,无论它是热的还是暖的。只有在备用服务器是冷备用服务器时,才不需要额外的 LUVS 或 FTL 许可。如果使用授权用户单一安装 (AUSI) 模型为 DB2 Express 服务器授予许可,则需要为处于暖状态的备用服务器授予 5 个 AUSI,冷备用机器不需要任何许可。如果 DB2 Express 服务器是使用 处理器价值单元 (PVU) 模型授予许可的,那么您需要为一个暖备用服务器授予 100 个 PVU(无论服务器使用何种处理器架构),而且不需要获得冷备用机器的许可。
发生故障时,如何使用备用机器?
它是否用作一个处理 DB2 事务和查询工作的生产服务器?此服务器上的 DB2 实例是否正在运行?或许该实例正在执行工作,但只是为了帮助在发生故障时启动恢复数据库(例如在 HADR 场景中)。您是否在管理一个 DB2 pureScale 集群?当一切 正常时,备用服务器正在做什么,如何为 DB2 服务器获得许可,这两者之间有很大 的关系。

如果您正在查找所有分布式 DB2 10.5 服务器和如何向它们授予许可的概述,请参阅 “哪个 DB2 10.5 发行版适合您?”。关于不同 DB2 10.5 服务器版本之间的特性、功能和收益对比,请参阅 “比较各个分布式 DB2 10.5 数据库服务器”

多年来的许多许可增强大大降低了 DB2 服务器的高可用性成本。从 DB2 10.5 开始,您不再需要在一个用作暖或冷备用服务器的 DB2 服务器上获取所选工具的许可。这适用于以下工具:

  • InfoSphere Optim High Performance Unload for Linux, UNIX, and Windows
  • InfoSphere Optim Performance Manager Extended Insight for Linux, UNIX, and Windows
  • InfoSphere Optim Performance Manager Extended Edition for Linux, UNIX, and Windows
  • InfoSphere Optim Performance Manager Enterprise Edition for Linux, UNIX, and Windows
  • InfoSphere Optim Performance Manager Workgroup Edition for Linux, UNIX, and Windows
  • InfoSphere Optim Performance Manager Content Manager Edition for Linux, UNIX, and Windows
  • InfoSphere Optim Configuration Manager for Linux, UNIX, and Windows
  • InfoSphere Optim Query Workload Tuner for Linux, UNIX, and Windows

在本文中,我们将介绍如何授予服务器许可;但是所有 DB2 版本都支持次级容量许可,您只需许可 DB2 服务器使用的容量。如果使用授予服务器的 PVU 报价 这样的短语,则表示 VMWare 会话或 LPAR 的 PVU 报价(如果您正在使用这些虚拟化技术)。基于 PVU 和不基于 PVU 的次级容量许可都有一些 前提条件 和特殊规则,所以在这种环境中部署 DB2 之前,请确保您了解所有相关细节。


高可用性环境中的 DB2 许可

从 DB2 10.5 开始,有 5 种不同的许可指标:

以下内容详细介绍了对于每个许可选项,您应该知道的高可用性许可考虑因素。

LUVS 许可
LUVS 许可 可用于 DB2 Express 服务器。要使用 LUVS 许可为 DB2 Express 服务器授予许可,只需为集群中每个热或暖的物理或虚拟 DB2 服务器 购买一个许可。冷 DB2 备用服务器 不需要许可。在授予高可用性许可时,没有必要使用 LUVS 许可识别 DB2 Express 服务器的活动级别。没有最少用户限制,而且无需确定基础服务器或其他任何产品的 PVU 报价:非常简单!有关的示例场景,请参见 图 2
固定期限许可 (FTL)
DB2 Express FTL 为您提供了一年的 DB2 Express 软件访问权。它是一个期限许可,不是永久许可,而其他 DB2 许可选项是永久许可。要使用 FTL 为 DB2 Express 服务器授予许可,只需为集群中每个热或暖的物理服务器 购买一个许可,就像 DB2 Express LUVS 许可一样。冷备用服务器不需要许可。与 LUVS 许可一样,FTL 没有最少用户限制,您也无需确定 PVU 报价。
LU Socket 许可
LU Socket 许可是在 DB2 9.7 中引入的,仅用于 DB2 Workgroup 服务器。要使用 LU Socket 许可为一个热 DB2 Workgroup 备用服务器授予许可,只需为物理或虚拟服务器 上的插槽数量授予许可,就像对主要服务器所做的一样,因为所有服务器都会充分用于执行常规操作。要使用 LU Socket 许可为物理或虚拟服务器 上的暖 DB2 Workgroup 备用服务器授予许可,只需要购买一个 LU Socket 许可。

例如,假设您有一个集群包含两个未分区、4 路双核 IBM POWER7 服务器,而且备用服务器与主要服务器的配置相同。

  • 对于主要 DB2 服务器,您需要购买 4 个 DB2 Workgroup LU Socket 许可。
  • 对于热 DB2 备用服务器,您需要购买 4 个 DB2 Workgroup LU Socket 许可。顺便说一下,这个服务器的报价为 960 个 PVU,而您仍然只需购买 4 个 DB2 Workgroup LU Socket 许可。为主要服务器购买 4 个 DB2 Workgroup LU Socket 许可。
  • 对于暖 DB2 备用服务器,无论什么情况都只需再购买一个 LU Socket 许可。
  • 对于冷 DB2 备用服务器,不需要购买许可。

LU Socket 许可应用于 DB2 Workgroup 服务器,因为此选项为您的环境提供了更多的 CPU 容量。

Terabyte 许可 (TB)
Terabyte (TB) 许可选项可用于 DB2 Advanced Workgroup 和 DB2 Advanced Enterprise。这些版本包含一个脚本工具,可帮助计算每个数据库需要的 TB 许可数量。对于热备用服务器,包括备机只读(reads on standby)服务器,需要的 TB 许可数量与主要服务器需要的许可数量相同。对于暖备用服务器,服务器上的每个数据库需要一个 TB 许可。冷备用服务器不需要许可。

图 4 中的服务器按 TB 指标授予许可。因此,数据服务器 A 和数据服务器 B 需要相同数量的 TB 许可。

如果 图 6 中的服务器按 TB 指标授予许可,而且 HADR 数据库为 7.5 TB,那么数据服务器 2 需要 8 个 TB 许可,数服务器 1 仅需要 1 个 TB 许可。如果数据服务器 2 还有 1 个 5 TB 的数据库,那么数据服务器 2 需要 13 个 TB 许可,数据服务器 1 需要 2 个 TB 许可。

处理器价值单元 (PVU) 许可
任何 DB2 物理或虚拟服务器都可以使用 PVU 许可模型授予许可。对于热备用服务器,包括备机只读服务器,必须为服务器的完整 PVU 报价授予许可。当然,即使您的 DB2 服务器不是一个高可用性集群的一部分,也可使用相同访问为它授予许可,因为它执行的是生产工作,所以不应感到任何奇怪。

如果 图 3 中的服务器使用了一个 POWER6 服务器的 64 个处理器核心,而且假设每个机器都在运行 DB2 Enterprise,那么您需要为此解决方案购买总计 15360 个 PVU。7680 个 PVU 用于数据服务器 1,7680 个 PVU 用于数据服务器 2。

对于暖备用服务器,每 100 个 PVU 需要购买一个许可,无论服务器 PVU 报价是多少。图 6 显示数据服务器 2 具有 7680 个 PVU 的许可,而数据服务器 1 被用作暖备用服务器,每 100 个 PVU 需要购买一个许可。冷备用服务器不需要许可。

授权用户单一安装 (AUSI) 许可
授权用户 (AU) 是一个位于您公司内或外,具有特定身份的某个人(在一些情况下,它可能是应用程序或设备,只要它没有代表其他用户执行操作)。如果使用 AUSI 指标,则需要购买以下许可:
  • 对于主要 DB2 服务器,需要一个包含将访问该服务器的所有 AU 的 AUSI 许可。您需要将访问该服务器的每个人都统计在内,而且还需要满足每个版本的最低限制。DB2 Express 和 DB2 Workgroup 版本需要最少 5 个 AUSI 许可。DB2 Enterprise、DB2 Advanced Workgroup 和 DB2 Advanced Enterprise 要求服务器上的每 100 个 PVU 最少具有 25 个 AUSI 许可。
  • 对于暖备用服务器,每 5 个用户需要购买一个 DB2 Express 或 DB2 Workgroup AUSI 许可。对于其他所有版本,每 25 个用户需要购买一个 AUSI 许可。如果在 图 6 中使用 AUSI 指标,需要为 25 个用户购买一个许可,因为暖备用服务器中的最少 PVU 数量为 100。
  • 对于冷 DB2 备用服务器,不需要购买许可。

我们进行了大量更改,旨在从许可和管理方面减少与 DB2 高可用性集群关联的总体拥有成本 (TCO)。这是对我们所处的经济形势的一种全新考虑。 表 2 总结了这些更改。

表 2. 高可用环境中的 DB2 许可条款总结
DB2 版本       冷       暖       热
DB2 Express-C
  • 不可用
  • 不可用
  • 不可用
DB2 Express Edition
  • 备用服务器不需要许可。
  • 如果主要服务器有一个 PVU 许可,备用服务器必须获得 100 个 PVU 的许可。
  • 如果主要服务器有一个 AUSI 许可,备用服务器必须获得 5 个授权用户的许可。
  • 如果主要服务器有一个 LUVS 许可,备用服务器必须获得 1 个 LUVS 许可。
  • 必须为备用服务器授予与主要服务器相同的 DB2 版本的许可,并使用相同的许可指标,包括 Advanced Recovery Feature。
DB2 Workgroup Edition
  • 备用服务器不需要许可。
  • 如果主要服务器有一个 PVU 许可,备用服务器必须获得 100 个 PVU 的许可。
  • 如果主要服务器有一个插槽许可,备用服务器必须获得一个插槽的许可。
  • 如果主要服务器有一个 AUSI 许可,备用服务器必须获得 5 个授权用户的许可。
  • 必须为备用服务器授予与主要服务器相同的 DB2 版本的许可,并使用相同的许可指标,包括 Advanced Recovery Feature。
DB2 Advanced Workgroup Edition
  • 备用服务器不需要许可。
  • 如果主要服务器有一个 PVU 许可,备用服务器必须获得 100 个 PVU 的许可。
  • 如果主要服务器有一个 AUSI 许可,备用服务器必须获得 25 个授权用户的许可。
  • 如果主要服务器有一个 TB 许可,使用替代技术的备用服务器必须为每个数据库获得一个单独的 1-TB 授权许可。
  • 必须为备用服务器授予与主要服务器相同的 DB2 版本的许可,并使用相同的许可指标,包括 Advanced Recovery Feature。
DB2 Enterprise Server Edition
  • 备用服务器不需要许可。
  • 如果主要服务器有一个 PVU 许可,备用服务器必须获得 100 个 PVU 的许可。
  • 如果主要服务器有一个 AUSI 许可,备用服务器必须获得 25 个授权用户的许可。
  • 必须为备用服务器授予与主要服务器相同的 DB2 版本的许可,并使用相同的许可指标,包括 Advanced Recovery Feature。
DB2 Advanced Enterprise Server Edition
  • 备用服务器不需要许可。
  • 如果主要服务器有一个 PVU 许可,备用服务器必须获得 100 个 PVU 的许可。
  • 如果主要服务器有一个 AUSI 许可,备用服务器必须获得 25 个授权用户的许可。
  • 如果主要服务器有一个 TB 许可,使用替代技术的备用服务器必须为每个数据库获得一个单独的 1-TB 授权许可。
  • 必须为备用服务器授予与主要服务器相同的 DB2 版本的许可,并使用相同的许可指标,包括 Advanced Recovery Feature。

热备用

热备用 配置中,所有物理或虚拟服务器都拥有用于处理用户事务和查询的正常运行的 DB2 数据库。此配置被称为热/热 集群(或主动/主动 配置,因为集群中的所有服务器始终都在执行某些业务生产工作)。如果高可用性集群中的某一个服务器出现故障,那么集群软件就会将出故障的服务器上的工作负载转移到高可用性集群中仍在正常工作的一个或多个服务器上。

如果一个两节点集群中的一个服务器出现故障,那么热备用服务器上的工作负载将会翻倍,因为它现在需要处理最初的工作负载以及 出故障的服务器的工作负载。在设置任何高可用性环境时,有时需要考虑此场景。如果您是一位数据库管理员 (DBA),而且需要满足严格的 SLA,那么您需要确保正确地审查了高可用性拓扑结构和任何提出的高可用性解决方案。

总之,热备用服务器是任何在正常操作期间用于为用户事务和查询服务的机器或虚拟服务器,它们同时还充当着另一个也在正常操作期间处理用户事务的服务器的备用服务器。在一个服务器发生故障时,热备用服务器会接管出故障的服务器的负载。备用服务器是否继续执行它在正常操作期间处理的工作,这无关紧要。备用服务器在正常操作期间用于处理用户事务或用户查询的事实,这意味着它必须获得全面的授权。

剩余章节将详细讨论以下热备用场景:

双节点热备用高可用性集群

一个演示双节点热备用高可用性集群的场景如 图 2 所示,其中数据服务器 1 是数据服务器 2 的热备用服务器,数据服务器 2 是数据服务器 1 的热备用服务器。在发生故障后,数据服务器 2 的工作负载故障被转移到数据服务器 1,或者执行反向故障转移。数据服务器 1 拥有一个 DB2 Express 有限使用虚拟服务器 (LUVS) 许可。因此,数据服务器 2 也必须拥有一个 DB2 Express LUVS 许可。

图 2. 双节点热备用高可用性集群场景
双节点热备用高可用性集群场景

在此示例中,数据服务器 1 和数据服务器 2 是一对未分区的服务器,在正常操作期间都用于执行事务和查询工作负载。实线框表示在故障转移前执行工作负载的每个机器上的数据库,交叉线框是在故障转移伙伴机器上发生故障时将执行工作的备用数据库。

在这个示例场景中,数据服务器 2 发生故障,它的工作负载被转移到它的故障转移伙伴 - 数据服务器 1。数据服务器 1 是数据服务器 2 的热备用服务器(而数据服务器 2 是数据服务器 1 的热备用服务器)。这种类型的配置常常称为高可用性集群对孪生故障转移对热/热对主动/主动对,在如今的 IT 领域很常见。

您可以使用 PowerHA for AIX、在将故障转移到其他服务器的每个服务器上结合使用 HADR 和一个数据库、使用 HADR(已激活 Read on Standby)、使用 Q-Replication、使用热备用来通过快照技术或磁盘镜像副本进行报告,或者使用 DB2 pureScale 技术(这是可伸缩性和可用性优势的完美结合)。

热/热 HADR 集群

HADR 集群可以通过多种方法用作热/热集群。请考虑 图 3 中所示的环境。两个服务器都授予了 DB2 Enterprise 处理器价值单元 (PVU) 许可。

图 3. 一个热/热 HADR 集群场景
一个热/热 HADR 集群场景

图 3 显示,一个未分区的数据服务器 A 托管了一个名为 Database A 的生产数据库,以及 HADR 集群中一个名为 Database B 的备用数据库1。与此同时,未分区的数据服务器 B 运行着一个名为 Database B 的生产数据库,以及同一个 HADR 集群中一个名为 Database A 的备用数据库1。在正常操作条件下,服务器 A 和服务器 B 会各自繁忙地处理 Database A 和 Database B 上的生产工作(一种热/热配置)。两个服务器都必须按相同的指标获得 7680 个 PVU 的完整许可

在这种情况下,您需要为两个服务器提供完整的许可,即使环境中没有备用数据库。此示例强调了一个重要事实:如果一个运行一个 DB2 版本的物理或虚拟服务器已获得完整许可,那么即使不需要其他许可,也可以在该物理或虚拟服务器上运行同一个版本的备用数据库。无论采用何种许可指标,无论备用数据库是暖备用数据库还是热备用数据库,此规则都适用。

  • 如果 图 3 中的所有数据库是按照 LUVS 指标授予 DB2 Express 许可的,那么您总共需要两个 LUVS 许可。但是,如果在独立的 LPAR 上运行主要和备用数据库,那么您需要 4 个 LUVS 许可。
  • 如果您有两个 DB2 Workgroup 服务器供 100 个用户访问,那么您需要购买一个用于 200 个用户的 DB2 Workgroup AUSI 许可:2 个服务器 x 每个服务器 100 个 AU。即使任何时刻连接到服务器的用户不到 100 个,仍然需要为每个 服务器授予适用于所有 100 个用户的许可。
  • 如果使用 DB2 Express 或 DB2 Workgroup,而且只有 3 个用户在访问服务器,您需要总共 10 个 DB2 Express 或 DB2 Workgroup AUSI 许可:(2 个服务器 x 最少 5 个 AU),才能满足与这些 DB2 版本关联的最低 AUSI 需求。

具有备机只读功能的热/热 HADR 集群

图 4 给出了一个 HADR 环境的示例,它使用了自 DB2 9.7 Fix Pack 1 开始提供的 Read on Standby 功能。两个服务器都有一个 DB2 Advanced Enterprise 10-TB 许可

图 4. 具有备机只读功能的热/热 HADR 集群场景
具有备机只读功能的热/热 HADR 集群场景

客户端可在主要服务器上进行读写(使它变热),但因为客户端也在正常操作期间在辅助服务器上读取数据,所以辅助服务器也是热的,因此两个 服务器都必须获得完整许可。如果出于业务用途而从服务器读取数据,那么该服务器就会变为热服务器。在此场景中,因为主要服务器有一个 DB2 Advanced Enterprise 10-TB 许可,所以辅助服务器还必须购买一个 DB2 Advanced Enterprise 10TB 许可。如果主要服务器按照 DB2 Advanced Enterprise 授权用户单一安装 (AUSI) 获取许可,那么两个服务器必须为至少 1925 个用户授予许可,因为每 100 个 PVU 至少需要 25 个用户。

包含 3 个成员的 DB2 pureScale 环境

图 5 显示了一个包含 3 个成员和两个集群缓存工具 (CF) 服务器的 DB2 pureScale 高可用性和可伸缩性集群。这些成员有一个 DB2 Advanced Workgroup PVU 许可。DB2 pureScale 包含在 DB2 Advanced Workgroup PVU 和 AUSI 许可中。不能使用 TB 许可,因为 DB2 pureScale 不可用于该许可。

图 5. 一个 DB2 pureScale 集群场景
一个 DB2 pureScale 集群场景

在此场景中,因为事务会在所有 3 个成员上无缝地负载平衡,所以这些成员都是热的,而且每个成员必须拥有 7680 个 PVU 的许可。CF 服务器通常是全双工的,不需要任何许可。


暖备用

暖备用 配置中,安装并运行 DB2 的高可用性集群中至少有一个物理或虚拟服务器在正常操作期间未处理用户事务或查询工作负载。该服务器是暖服务器,因为该服务器没有为最终用户处理 “有用的” 工作。从最终用户角度讲,划分为 “无用” 的工作包括协助处理故障转移场景的管理操作,比如将一个数据库设置为前滚挂起状态,以支持日志传输,支持 HADR 环境的事务级日志传输,执行备份等。如果高可用性集群中一个服务器发生故障,那么工作负载会重新分配到暖备用服务器。

一种常见的误解是,暖备用服务器在专门用于执行恢复操作时是对资源的一种浪费。事实上,可以将暖备用服务器用于除备用角色外的诸多用途。例如,可以在暖备用服务器上创建一个独立的 DB2 实例(可能会影响到许可),并将它用作测试服务器,或者可以将其他工作负载和功能卸载到它之上。在发生故障时,可以按比例缩减这些工作负载(或分配给一个运行它们的虚拟化分区的资源),让暖备用服务器使用它的所有资源处理故障服务器的负载。

您可以选择使用备用数据库作为生产数据库的一个最新的只读版本,将成本分摊到更多资源上。备机只读功能自 DB2 9.7 Fix Pack 1 开始提供。请注意,许多供应商将此模型限制为 “和/或”,这意味着在读取数据库时,您不能前滚日志以保持日志最新。而且即使它不是 “和/或”,可能也需要在其他方面进行妥协,比如重做处理速度。

热/暖 HADR 集群

一个演示双节点暖备用(有时称为主动/空闲)高可用性集群的场景如 图 6 所示。这是一种 “普通的” HADR 配置(没有使用备机只读功能),是为生产 OLTP 环境创建的。在此示例中,在正常操作期间,数据服务器 2 用于执行事务和查询工作负载(在图中显示为 Active Work),数据服务器 1 被用作一个暖备用服务器。当数据服务器 2 发生故障时,它的 DB2 工作负载会传递到数据服务器 1。数据服务器 2 为 DB2 Enterprise 7680 个 PVU 授予了许可,数据服务器 1 为 DB2 Enterprise 100 个 PVU 授予了许可。

如果在发生故障前正在数据服务器 1 上执行任何类型的工作,那么将会按比例缩减此工作,以处理来自数据服务器 2 的额外工作负载。

图 6. 一个双节点热/暖 HADR 集群场景
一个双节点热/暖 HADR 集群场景

如果数据服务器 2 有 4 个 DB2 Workgroup LU Socket 许可,那么数据服务器 1 只需将一个额外的 LU Socket 许可用于暖备用服务器。LU Socket 许可的数量与 7680 个 PVU 的报价无关。

如果希望在此场景中使用 AUSI 指标,因为您仅有 100 个用户,所以您仍然需要购买用于 1950 个用户的许可,因为除了暖备用服务器的 25 个用户外,主要服务器的每 100 个 PVU 需要最少 25 个用户的许可 (7680 / 100 = 77 x 25 = 1925 个 AU)。


冷备用

冷备用 配置中,应满足以下条件:

  • 集群中至少一个物理或虚拟服务器没有在正常操作期间处理用户事务或查询工作负载的 DB2 数据库。
  • 集群中至少一个物理或虚拟服务器在故障转移场景中没有执行任何有帮助的管理操作,比如让一个出于前滚暂停状态的数据库支持 HADR。事实上,一个冷备用服务器甚至无法开机,除了在执行维护的短暂时期内启动它,比如执行备份操作或应用修复包。

热/冷 HADR 集群

一个演示双节点冷备用高可用性集群的场景如 图 7 所示。

图 7. 一个双节点热/冷 HADR 集群场景
一个双节点热/冷 HADR 集群场景

在此示例中,在正常操作期间,数据服务器 2 用于执行事务和查询工作负载(在图中显示为 Active Work),但数据服务器 1 没有正在运行的 DB2 实例。在数据服务器 2 发生故障时,数据服务器 1 会启动,恢复到备份镜像中的某个时间点,并可用于处理用户事务。也可能数据服务器 1 也可能配置为一个 Tivoli SA MP 集群的一部分(还有其他高可用性集群选项,包括 PowerHA for AIX),但该数据库实例未启动。可以想象,冷备用配置与高可用性解决方案不太像,因为宕机时间通常比热或暖备用配置长得多。但是,冷备用配置可满足一些应用程序的需求。


混合备用环境

目前为止,我们考虑的高可用性场景中的备用服务器全部是热的、暖的或冷的服务器。如果集群中只有一个备用服务器,或者正在使用仅支持热备用的 DB2 pureScale,那么情形始终是这样。但是,也有可能某个高可用性集群中有多个备用服务器,它们没有相同的 “温度”,可用于冗余和灾难恢复。

包含热和暖备用服务器的高可用性集群

下面的场景需要为主要数据中心执行冗余的高可用性,并在第二个远程数据中心中实现灾难恢复。此外,它需要处理读取工作负载的能力,无需在正常操作期间向主要服务器添加任何额外的负载。一个最低限度上能满足这些需求的架构如 图 8 所示。

图 8. 包含热和暖备用服务器的高可用性集群的场景
包含热和暖备用服务器的高可用性集群的场景

在此示例中,数据服务器 1 上的主要数据库使用日志传输或 Q-Replication 将数据复制到两个本地备用服务器(数据服务器 2 和数据服务器 3),还将这些数据复制到第三个远程备用服务器(数据服务器 4)。如果数据服务器 1 发生故障,数据服务器 2 会接管工作负载。如果数据服务器 2 发生故障,数据服务器 3 会接管工作。在正常操作期间,数据服务器 2 也用于处理读取工作负载,因此必须获得全面的许可。数据服务器 3 和 4 在正常操作期间不处理任何最终用户工作负载,但必须具有完整的功能,以便能够接收和应用来自主要服务器的日志。出于这个原因,它们必须都被授权为暖服务器。

混合备用配置中的每个备用服务器的许可考虑因素与之前的热和暖备用章节中介绍的完全相同。例如,如果您运行的是 DB2 Enterprise(图 8),而且每个机器是一个未分区的双插槽 POWER7 双核服务器,报价为每个核心 100 个 PVU,那么您需要为主要服务器提供 (4 x 100) = 400 个 PVU 授权,还需要为热备用服务器提供另外 400 个 PVU 授权。对于每个暖备用服务器,您需要额外的 (1 x 100) = 100 个 PVU 授权。因此,对于此配置,您总共需要 1000 个 DB2 Enterprise PVU 授权。

如果按 AUSI 指标授予 DB2 Enterprise 的许可,并且在正常条件下有 88 个授权用户将访问数据服务器 1,10 个授权用户将访问数据服务器 2,您需要为主要服务器提供 (25x4) = 100 个 DB2 Enterprise AUSI 授权,为热备用服务器提供另外 (25x4) = 100 个 AUSI 授权。对于每个暖备用服务器,您需要额外的 (25 x 1) = 25 个 AUSI 授权。因此,在此配置中,总共需要 250 个 DB2 Enterprise AUSI 授权。

可采用多种方式来实现该配置。但是,最直观的方式是使用所有 DB2 10.1 版本中引入的新的 HADR Multiple Standby 功能。这个新功能允许您创建一个集群,其中包含一个主要服务器和至多 3 个备用服务器,这些备用服务器都使用成熟的、易于使用的 HADR 功能。(在 DB2 10.1 之前,HADR 集群只能有 1 个主要服务器和 1 个备用服务器。)此外,每个备用服务器都可以具有不同的 “温度”,无论集群中其他备用服务器是何温度。

使用 HADR,主要服务器(图 8 中的数据服务器 1)会在事务边界上将日志传输给数据服务器 2、3 和 4。数据服务器 2 也将使用备机只读功能来处理读取工作负载。如果数据服务器 1 发生故障,HADR 中包含的 TSA 功能会自动将数据服务器 1 的工作负载重新路由到数据服务器 2。接管此工作后,数据服务器 2 将停止处理它最初的读取工作负载,以便能够专门处理自己的新工作负载。如果数据服务器 2 也发生故障,DBA 会手动将工作负载故障转移到数据服务器 3。在丢失主要站点(包括数据服务器 1、2 和 3 上的一切内容)的最糟糕情况下,您的远程备用服务器(数据服务器 4)将是最新的,除了在主要站点宕机时正在传输的任何日志。


实现更高的可用性

DB2 提供了大量高可用性选项。我们建议为需要可用性的应用程序创建多级分类;例如,铜级、银级和金级评分。或许任何评为铜级的应用程序都将利用冷备用和一个 DB2 集成集群;而评为银级的解决方案将利用 DB2 HADR 技术,评为金级的解决方案将采用热备用配置,比如 DB2 pureScale。我们在 表 3 中摘录了一些可能的高可用性解决方案和它们各自的类别。

表 3. 通过一个分级解决方案满足高可用性需求
铜级银级金级
DB2 集成集群HADRDB2 pureScale
  • 热/冷
  • 基本可用性解决方案
  • 在大多数情况下免费
  • 提供故障转移,通常在不到 5 分钟内
  • 热/暖(具有 read on standby 功能的可选的热备用)
  • 提供非常快的故障转移,通常在不到 1 分钟内
  • 容易设置全套的可用功能
  • 备用服务器上的最低许可需求
  • 可能零数据损失的选项
  • 热/热
  • 在线故障转移
  • 幸存的节点上的事务不受影响
  • 提供最快的故障转移,通常在不到 30 秒内
  • 在线扩展功能,以解决工作负载峰值

并不总是一切问题都需要金级解决方案。人们认为他们的所有应用程序需要全天候可用,情况并非如此。

例如,一个客户端有一个需要全天可用的任务关键型应用程序,但它们的其他应用程序可以承受两天的宕机时间。从可用性角度同等对待它们合理吗?如果您有充足的预算,或许是合理的。选择与支持您的工作的服务水平协议 (SLA) 匹配的可用性解决方案:高可用性是一条线性成本曲线,这意味着您想要的冗余性和可用性越多,就需要花费更多的硬件和软件成本。除了软件之外,您想要使用的高可用性水平越高,通常支付的费用也会越多(想想冗余性、许可和电力等)。重点在于不是所有事物都需要超级可用,您一定要明智而又果断地利用正确的技术来解决正确的高可用性需求。

表 4 摘录了高可用性的 “堂兄弟” 灾难恢复 (DR) 的一些选项。使用您用于确定合适的高可用性许可的相同考虑因素,将它们应用于灾难恢复,如围绕 图 8 中的场景的讨论中所述。

表 4. 通过一个分级解决方案满足灾难恢复需求
铜级银级金级
Q-replicationHADR 物理复制具有 HADR 的 DB2 pureScale
  • 热/热
  • 对目标数据库不受限制的访问
  • 在源和目标上支持不同的 DB2 版本
  • 支持数据的子设置(sub-setting)
  • 多目标支持
  • 在线故障转移
  • 可复制到不同的拓扑结构
  • 仅适合异步
  • 设置可能很复杂
  • 没有 DDL 支持
  • 热t/暖
  • 零数据丢失选项
  • 提供非常快的故障转移,通常在不到 1 分钟内
  • 容易设置全套的可用功能
  • DDL 和 DML 复制支持
  • 有限地使用备用服务器
  • 多备用支持
  • 仅限全数据库复制
  • 可配置时延功能
  • 热/热
  • 零数据丢失选项
  • 在线故障转移
  • 提供最快的故障转移,通常在不到 30 秒内
  • 在线扩展功能,以应对工作负载峰值
  • 对目标数据库不受限制的访问
  • 可配置时延功能
  • 单备用支持
  • DDL 和 DML 复制支持
  • 在线修复包更新
  • 可复制到不同的拓扑结构

参考资料

学习

获得产品和技术

  • 使用 IBM 试用软件 构建您的下一个开发项目,它们可直接从 developerWorks 下载获得。
  • 下载 DB2 for Linux, UNIX, and Windows 的免费试用版。
  • 下载 DB2 Express-C,这是一个面向社区的免费的 DB2 Express Edition 版本,提供了与 DB2 Express Edition 相同的核心数据特性,也为构建和部署应用程序提供了坚实的基础。
  • 以最适合您的方式 评估 IBM 产品:下载产品试用版,在线试用产品或在云环境中使用产品。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=965679
ArticleTitle=在高可用性 (HA) 环境中授予分布式 DB2 10.5 服务器许可
publish-date=03132014