freebile
作者freebile·2015-02-05 11:42
数据库运维工程师·金融行业

db2 数据库的高可用策略

字数 2263阅读 1592评论 0赞 0

对于用户而言,数据库请求失败的原因并不重要。无论是因性能不佳而导致事务超时,还是解决方案的组件出现故障,还是管理员已使数据库脱机以执行维护,对用户而言,结果是一样的:数据库对进程请求不可用。

提高数据库解决方案可用性的策略包括:

冗余

    具有解决方案的每个组件的辅助副本,在出现故障时可以接管工作负载。

    如果数据库解决方案的任何一个元素或组件(从电源或网线到操作系统或应用软件)出现故障,最终结果都一样:数据库解决方案对用户应用程序不可用。保持高可用性的重要策略是使用冗余系统,这样,如果一个组件出现故障,该组件的辅助或备份副本可接管故障组件,使数据库保持对用户应用程序可用。

    冗余在系统设计中很常见:

        不间断或备用的电源

        在每个组件之间运行多个网络纤程

        网卡的结合度或负载均衡

        在冗余阵列中使用多个硬盘驱动器

        使用 CPU 集群

    如果系统的这些组件有任何一个不是冗余的,那么该组件将是整个系统中的单一故障点。

    可以在数据库级别创建冗余,这需要两个数据库:一是主数据库,通常情况下处理所有或大部分应用程序工作负载;二是辅助数据库,在主数据库出现故障时可接管其工作负载。在 DB2® 高可用性灾难恢复(HADR)环境中,此辅助数据库被称为备用数据库。

系统监视

    收集有关解决方案的组件的统计信息,以帮助均衡工作负载或检测组件是否出现故障。

负载均衡

    将部分工作负载从超负荷的解决方案组件转移到负载较轻的另一解决方案组件。

故障转移

    将所有工作负载从出现故障的解决方案组件转移到辅助组件。

    故障转移是指在主系统出现故障时将工作负载从主系统转移到辅助系统。当工作负载以这种方式转移后,我们称辅助系统已接管故障主系统的工作负载。

    示例 1

        在集群环境中,如果集群中的一个机器出现故障,集群管理软件可以将在故障机器上运行的进程移至集群中的另一机器。

    示例 2

        在具有多个 IBM® 数据服务器的数据库解决方案中,一旦某个数据库不可用,那么不再可用的数据库服务器上所连接的数据库应用程序可由数据库管理器重新路由至辅助数据库服务器。

    市场上最常见的两种故障转移策略称为空闲备用和相互接管:

    空闲备用

        在这种配置中,主系统处理所有工作负载,而辅助或备用系统则处于空闲或备用方式,准备在主系统上出现故障时接管工作负载。

    相互接管

        在这种配置中,有多个系统,每个系统都是另一系统的指定辅助系统。一旦某个系统出现故障,该系统所指定的辅助系统必须为出现故障的系统接管工作负载,同时继续处理自己的工作负载,这对总体性能有负面影响。

集群   

           一个集群就是一组互相连接的机器,可一起工作,相当于单个系统。当集群的一个机器出现故障时,集群管理软件会将故障机器上的工作负载转移到其他机器上。

脉动信号监视

要检测集群中一台机器上的故障,故障转移软件可以在机器之间使用脉动信号监视或保持活动包来确定可用性。脉动信号监视需要用到一些系统服务,以在集群中所有机器之间维持连续通信。如果未检测到脉动信号,就会对备份机器启动故障转移。 IP 地址接管

    当集群中的一台机器上出现故障时,集群管理器可以通过将 IP 地址从一台机器转移到另一台机器上来将工作负载从一台机器上转移到另一机器上。这被称为 IP 地址接管或 IP 接管。客户机应用程序是看不到这种转移的,所以仍会继续使用原来的 IP 地址,而并不知道与该 IP 地址映射的物理机器已更改。

DB2® 高可用性(HA)功能部件允许 IBM® 数据服务器与集群管理软件相集成。

最大化性能

    降低事务花很长时间才完成或超时的机率。

尽量降低维护的影响

    安排自动维护活动和手工维护活动,尽可能降低对用户应用程序的影响。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广