(转)为高可用性环境中的分布式 DB2 9.5 服务器颁发许可
打印本页
<noscript></noscript><script type="text/javascript"></script>将此页作为电子邮件发送
<noscript></noscript>英文原文
<!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- this content will be automatically generated across all content areas --><!--END RESERVED FOR FUTURE USE INCLUDE FILES-->级别: 初级
Paul Zikopoulos (paulz_ibm@msn.com), 数据库专家, IBM
2008 年 2 月 14 日
您是否正试图确保正确地为高可用性环境中的 IBM? DB2? Version 9.5 for Linux?, UNIX?, and Windows?—B2 9.5)数据服务器颁发许可?您是不是没有时间或者不愿意通读公开信(announcement letters)、PLET 或您的协议单(licensing sheet)?作者 Paul Zikopoulos 用简洁易懂的语言对此做了精辟的解释,还介绍了 DB2 9.5 中一些重要的改变!<!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --><!--END RESERVED FOR FUTURE USE INCLUDE FILES-->
客户之所以选择 IBM DB2 数据库,是因为它能够在难于置信的时间内实现其价值,能够跨各种不同的环境伸缩和集成,还有其健壮性以及极少的停机时间(包括计划内的停机和计划外的停机)。在本文中,我将重点讨论 DB2 的高可用性,但不是从功能的角度来谈(这方面已经有很多的文章了),而是从许可的角度来谈。
我听到了很多关于高可用性(high availability,HA)环境中 DB2 的许可方面的问题,高可用性环境的设计目标是减少计划外停机(有时候也包括计划内的停机)。通常,人们的第一层困惑的原因是:在为高可用性环境中的数据库产品定价时,不同的供应商总是花样百出。
另一层困惑主要集中在讨论高可用性时所使用的术语方面。例如术语集群(cluster)。有时候 IT 行业将高可用性环境称作集群。而我不喜欢使用这个术语,因为该术语用到后来已经有点儿被滥用的感觉,集群可以指以提高可伸缩性为目标的集群(例如 DB2 数据库分区特性 - DPF),也可以指以提高可用性为目标的集群(例如,在一组 Windows 服务器上使用 Microsoft Cluster Server)。尽管我不喜欢这个术语,但还是用了它;因此,在本文中,当提到术语集群 时,我指的是以提高可用性为目标的集群(另行注明的除外)。为简单起见,在与客户或同事讨论集群时,我建议在术语 “集群” 前面加上高可用性 或可伸缩性。
另一个容易产生困惑的地方源自在讨论出现停机事件情况时,用来描述用作故障转移服务器的服务器的术语。例如,这种服务器可能被称为备用(standby) 或从(secondary) 服务器(还有其他名称)。如果您接触这一方面的时间比较长,那么很可能对描述这种服务器的功能的术语已经很熟悉了。这些术语包括:idle、active、cold、warm、hot 和 passive。
大多数情况下,IBM Software Group(IBM SWG)文献使用 cold、warm 和 hot 这几个术语来描述备用服务器。在 DB2 9.5 之前,在 DB2 领域情况有所不同。DB2 8 和 DB2 9 使用术语 idle 和 active 来描述备用数据服务器。因此,DB2 8 和 DB2 9 中采用的定价和许可术语可能与其他 IBM SWG 术语不同,这也是常常令客户对高可用性许可产生困惑的源头。
好消息是,在 DB2 9.5 中,与高可用性定价相关的许可术语已经与 IBM SWG 术语一致了。例如,如果在高可用性集群中将一个 DB2 9 数据服务器配置为 sat idle,就必须为这个服务器授予部分许可。在 DB2 9.5 中,不再需要这样做了。如果在 DB2 9 中未启动的服务器上安装 DB2,那么也必须为这个服务器授予部分许可。在 DB2 9.5 中,不需要为未启动的数据服务器购买许可。我针对 DB2 9.5 的情况更新了本文,帮助您了解 DB2 高可用性许可规则并了解详情。
图 1 描述了 DB2 9.5 高可用性术语并给出每种配置类别的示例。
图 1. 有助于理解 DB2 9.5 Hot、Warm 和 Cold 高可用性术语的一些提示

在 图 2 中,我将描述高可用性环境的最常用术语映射到 DB2 9.5 术语和许可术语:
图 2. 业界高可用性术语与 DB2 9.5 许可术语的对照

?
在前面的图中,我在每个类别下面添上了一条一般经验法则(general rule of thumb ),但是在读完本文之后,这些法则对您来说就一目了然了。
简单地说,对于高可用性环境中 DB2 服务器的许可取决于您对以下这些关键问题的回答:
您安装了什么版本的 DB2 数据服务器?它是 DB2 Express-C、DB2 Express-C FTL、DB2 Express、DB2 Workgroup 还是 DB2 Enterprise?例如,DB2 Express-C FTL 对于备用服务器没有 hot、warm 或 cold 的概念(稍后进一步解释)。另外,不允许用 DB2 Express-C 建立高可用性集群。
您要如何为 DB2 数据服务器颁发许可以确保高可用性?对于主流的 DB2 9.5 数据服务器—B2 Express、DB2 Workgroup 和 DB2 Enterprise)有以下选择:授权用户许可(顾名思义,这种许可要识别每个最终用户)和称为 价值单元(Value Unit,VU) 的基于 IBM SWG 处理器的指标(这样就不需要计算用户数量)。如果使用 DB2 Express-C FTL,就要为每个物理服务器颁发许可。(关于所有分布式 DB2 9 数据服务器的概述以及许可方式,请参见 “Which distributed edition of DB2 9.5 is right for you?”。)
当没有出现故障 时,如何使用备用机器?是将它用作处理 DB2 事务和查询工作的生产服务器吗?这个服务器上的 DB2 实例启动了吗?这个实例可能正在执行某种形式的工作,而只是在出现故障事件时帮助启动恢复(例如在 HADR 场景中)。简单地说,当一切 正常时备用服务器正在做什么与如何为那个服务器上的 DB2 获得许可有很大的关系。
在讨论高可用性集群对 DB2 9.5 许可的影响时,首先给出与新术语相关的示例。DB2 9.5 定义了三种备用服务器: hot 、 warm 和 cold 。
?
![]()
![]()
回页首
?
根据您的可用性需求、工作负载等等,warm 备用可能适合您的环境,也可能不适合;然而,首先不要忘了高可用性环境的目标 —— 减少停机之后的平均恢复(MTTR)时间。
![]()
![]()
回页首
在这个示例中,当正常运行时,机器 2 用于处理事务和查询工作负载(在图中标为活动工作),而机器 1 上没有启动 DB2 实例。一旦机器 2 出现故障,机器 1 就会启动并通过备份映像将 DB2 数据库恢复到某一时间点,然后继续处理用户事务。还可以将机器 1 配置在 TSA 高可用性集群中,但是不启动数据库实例。您可以看出,cold 备用配置并不是很好的可用性解决方案,因为它的 MTTR 通常比 hot 或 warm 备用配置长得多。
但是,在某些环境中 cold 备用服务器是合适的。通常,我建议客户对应用程序的可用性需求进行多级的分类;例如,建立 Copper、Silver 和 Gold 级别。Copper 级别的应用程序可以采用 cold 备用,Silver 级别的应用程序采用 hot 配置,而 Gold 级别的应用程序采用 warm 备用。按照我的观点,如果需要最高的可用性,就使用 warm 配置并结合使用 HADR。通过使用专用服务器,可能(但也不一定)获得比 hot 备用配置更好的故障间平均时间(MTBF)和 MTTR(除非适当地确定其规模)。
![]()
![]()
回页首
?
Paul C Zikopoulos 拥有 BA 和 MBA 学位,是 IBM Database Global Sales Support 团队的获奖作家和发言人。他在 DB2 UDB 方面有超过 9 年的经验,撰写了大量关于 DB2 UDB 的杂志文章和书籍。Paul 与他人合著了以下书籍:DB2 - The Complete Reference、DB2 Fundamentals Certification for Dummies、DB2 for Dummies、A DBA's Guide to Databases on Linux 和 DB2 Version 8: The Official Guide。Paul 是一位 DB2 认证的高级技术专家—RDA 和集群/EEE),还是 DB2 认证的解决方案专家(业务智能和数据库管理)。可以通过 paulz_ibm@msn.com 与他联系。