客户之所以选择 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 高可用性分类法
表 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) 仅可用在 DB2 Express 中。 固定期限许可 (FTL) 仅可用在 DB2 Express 中。 有限使用的插槽 (LU Socket) 仅可用在 DB2 Workgroup 中。 Terabyte 许可 (TB) 仅可用在 DB2 Advanced Workgroup 和 DB2 Advanced Enterprise 中。 处理器价值单元 (PVU) 可用在所有版本中。 授权用户单一安装 (AUSI) 可用在所有版本中。
以下内容详细介绍了对于每个许可选项,您应该知道的高可用性许可考虑因素。
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 备用服务器,不需要购买许可。