DB2+HADR+TSA高可用性与DB2HAICU配置TSA实现故障自动切换方案

2016年01月04日 16:24 575 次阅读 来源: 雾里看花 作者: 路人甲
摘要 DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库...

        DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 DB2以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。


必须先在备节点进行配置

[root@db2-node02 ~]# su - db2inst2
[db2inst2@db2-node02 ~]$   db2 "get snapshot for database on GHAN"

HADR 状态
  角色                   = 备用
  状态                   = 对等
  同步方式               = 同步
  连接状态               = 已连接, 2015-12-24 08:32:52.872408
  对等窗口结束       = 2015-12-24 09:04:59.000000 (1450965899)
  对等窗口(秒)      = 120
  丢失的脉动信号         = 0
  本地主机               = 10.0.0.2
  本地服务               = DB2_HADR_GHAN2
  远程主机               = 10.0.0.1
  远程服务               = DB2_HADR_GHAN1
  远程实例               = db2inst2
  超时(秒)             = 120
  主日志位置(文件,页,LSN)   = S0000014.LOG, 3, 000000000972B8DB
  备用日志位置(文件,页,LSN) = S0000014.LOG, 3, 000000000972B8DB
  日志间隔运行平均值(以字节计)= 0


[db2inst2@db2-node02 ~]$ db2haicu 
欢迎使用 DB2 高可用性实例配置实用程序(db2haicu)。
可以在 DB2 服务器诊断日志文件 db2diag.log 中查找详细的诊断信息。还可以使用 db2pd 实用程序来查询您创建的集群域的状态。
有关使用 db2haicu 来配置集群环境的更多信息,请参阅 DB2 信息中心中的 “DB2 高可用性实例配置实用程序(db2haicu)”主题。
db2haicu 已确定当前的 DB2 数据库管理器实例为 db2inst2。 紧接着出现的集群配置将应用于此实例。
db2haicu 正在收集有关当前设置的信息。完成此步骤可能要花一些时间,这是因为 db2haicu 需要激活所有数据库,以便实例发现所有路径...
使用 db2haicu 来配置集群环境时,将创建集群域。 有关更多信息,请参阅 DB2 信息中心中的“使用 db2haicu 创建集群域”主题。db2haicu 正在当前机器上搜索现有的活动集群域...
db2haicu 在此机器上未找到集群域。 db2haicu 现在将查询系统以获取有关集群节点的信息,以便创建新的集群域...
db2haicu 在此机器上未找到集群域。要继续配置集群环境以实现高可用性,必须创建集群域,否则 db2haicu 将退出。
要创建一个域并继续吗?[1]
1. 是
2. 否
1
为新域创建一个唯一名称:
db2ha
现在必须将节点添加至新的域。
域 db2ha 将包含多少个集群节点?
2
输入要添加至域的机器的主机名:
db2-node01
输入要添加至域的机器的主机名:
db2-node02
现在,db2haicu 可以创建一个包含您指定的 2 机器的新域。如果您选择现在不创建域,那么 db2haicu 将退出。

现在要创建域吗?[1]
1. 是
2. 否
1
正在集群中创建域 db2ha... 
成功地在集群中创建了域 db2ha。
现在,可以为域配置定额设备。有关更多信息,请参阅 DB2 信息中心中的“定额设备”主题。如果不为域配置定额设备,那么当集群中的某些机器失去连接时,操作员就必须进行手工干预。

要对称为 db2ha 的域配置定额设备吗?[1]
1. 是
2. 否
1
以下是受支持的定额设备类型的列表:
  1. 网络定额
输入与要使用的定额设备类型相对应的编号:[1]
1
指定定额设备的网络地址:
108.88.3.254
正在为域 db2ha 配置定额设备...
成功地为域 db2ha 配置了定额设备。
集群管理器在该域内的各台机器中找到了 4 个网络接口卡。 可以使用 db2haicu 为这些网络接口卡创建网络。 有关更多信息,请参阅 DB2 信息中心中的“使用 db2haicu 创建网络”主题

要为这些网络接口卡创建网络吗?[1]
1. 是
2. 否
1
输入集群节点 db2-node01 上的网络接口卡 eth0 的网络的名称:
1. 为此网络接口卡创建一个新的公用网络。
2. 为此网络接口卡创建一个新的专用网络。
输入所作的选择:
1
确实要将集群节点 db2-node01 上的网络接口卡 eth0 添加至网络 db2_public_network_0 吗?[1]
1. 是
2. 否
1
正在将集群节点 db2-node01 上的网络接口卡 eth0 添加至网络 db2_public_network_0...
成功地将集群节点 db2-node01 上的网络接口卡 eth0 添加至网络 db2_public_network_0。
输入集群节点 db2-node02 上的网络接口卡 eth0 的网络的名称:
1. db2_public_network_0
2. 为此网络接口卡创建一个新的公用网络。
3. 为此网络接口卡创建一个新的专用网络。
输入所作的选择:
1
确实要将集群节点 db2-node02 上的网络接口卡 eth0 添加至网络 db2_public_network_0 吗?[1]
1. 是
2. 否
1
正在将集群节点 db2-node02 上的网络接口卡 eth0 添加至网络 db2_public_network_0...
成功地将集群节点 db2-node02 上的网络接口卡 eth0 添加至网络 db2_public_network_0。
输入集群节点 db2-node02 上的网络接口卡 eth1 的网络的名称:
1. db2_public_network_0
2. 为此网络接口卡创建一个新的公用网络。
3. 为此网络接口卡创建一个新的专用网络。
输入所作的选择:
3
确实要将集群节点 db2-node02 上的网络接口卡 eth1 添加至网络 db2_private_network_0 吗?[1]
1. 是
2. 否
1
正在将集群节点 db2-node02 上的网络接口卡 eth1 添加至网络 db2_private_network_0...
成功地将集群节点 db2-node02 上的网络接口卡 eth1 添加至网络 db2_private_network_0。
输入集群节点 db2-node01 上的网络接口卡 eth1 的网络的名称:
1. db2_private_network_0
2. db2_public_network_0
3. 为此网络接口卡创建一个新的公用网络。
4. 为此网络接口卡创建一个新的专用网络。
输入所作的选择:
1
确实要将集群节点 db2-node01 上的网络接口卡 eth1 添加至网络 db2_private_network_0 吗?[1]
1. 是
2. 否
1
正在将集群节点 db2-node01 上的网络接口卡 eth1 添加至网络 db2_private_network_0...
成功地将集群节点 db2-node01 上的网络接口卡 eth1 添加至网络 db2_private_network_0。
正在检索实例 db2inst2 的高可用性配置参数...
未设置集群管理器名称配置参数(高可用性配置参数)。有关更多信息,请参阅 DB2 信息中心 中的“cluster_mgr - 集群管理器名称配置参数”主题。要设置高可用性配置参数吗?
以下是高可用性配置参数的有效设置:
  1.TSA
  2.供应商
输入高可用性配置参数的值:[1]
1
正在将实例 db2inst2 的高可用性配置参数设置为 TSA。
正在将 DB2 数据库分区 0 添加至集群...
成功地将 DB2 数据库分区 0 添加至集群。
要对 HADR 数据库 GHAN 验证和自动进行 HADR 故障转移吗?[1]
1. 是
2. 否
1
正在对域添加 HADR 数据库 GHAN... 
在域中找不到集群节点 10.0.0.1。请重新输入主机名。
db2-node01
在域中找不到集群节点 10.0.0.2。请重新输入主机名。
db2-node02
正在对域添加 HADR 数据库 GHAN... 
已经确定 HADR 数据库 GHAN 可具备高可用性。 但是,无法将此数据库添加至此节点中的集群,原因是 db2haicu 检测到此节点是用于 HADR 数据库 GHAN 的备用节点。在 HADR 数据库 

GHAN 的主节点上运行 db2haicu 以将该数据库配置为可自动进行故障转移。
已成功完成所有集群配置。db2haicu 正在退出...
[db2inst2@db2-node02 ~]$ 

在主节点进行配置

[db2inst2@db2-node01 ~]$ db2haicu 
欢迎使用 DB2 高可用性实例配置实用程序(db2haicu)。
可以在 DB2 服务器诊断日志文件 db2diag.log 中查找详细的诊断信息。还可以使用 db2pd 实用程序来查询您创建的集群域的状态。
有关使用 db2haicu 来配置集群环境的更多信息,请参阅 DB2 信息中心中的 “DB2 高可用性实例配置实用程序(db2haicu)”主题。
db2haicu 已确定当前的 DB2 数据库管理器实例为 db2inst2。 紧接着出现的集群配置将应用于此实例。
db2haicu 正在收集有关当前设置的信息。完成此步骤可能要花一些时间,这是因为 db2haicu 需要激活所有数据库,以便实例发现所有路径...
使用 db2haicu 来配置集群环境时,将创建集群域。 有关更多信息,请参阅 DB2 信息中心中的“使用 db2haicu 创建集群域”主题。db2haicu 正在当前机器上搜索现有的活动集群域...
db2haicu 在此机器上找到了一个称为 db2ha 的集群。 紧接着出现的集群配置将应用于此域。
正在检索实例 db2inst2 的高可用性配置参数...
未设置集群管理器名称配置参数(高可用性配置参数)。有关更多信息,请参阅 DB2 信息中心 中的“cluster_mgr - 集群管理器名称配置参数”主题。要设置高可用性配置参数吗?
以下是高可用性配置参数的有效设置:
  1.TSA
  2.供应商
输入高可用性配置参数的值:[1]
1
正在将实例 db2inst2 的高可用性配置参数设置为 TSA。
正在将 DB2 数据库分区 0 添加至集群...
成功地将 DB2 数据库分区 0 添加至集群。
要对 HADR 数据库 GHAN 验证和自动进行 HADR 故障转移吗?[1]
1. 是
2. 否
1
正在对域添加 HADR 数据库 GHAN... 
在域中找不到集群节点 10.0.0.2。请重新输入主机名。
db2-node02
在域中找不到集群节点 10.0.0.1。请重新输入主机名。
db2-node01
正在对域添加 HADR 数据库 GHAN... 
成功地对域添加了 HADR 数据库 GHAN。
要对 HADR 数据库 GHAN 配置虚拟 IP 地址吗?[1]
1. 是
2. 否
1
输入虚拟 IP 地址:
108.88.3.107
输入虚拟 IP 地址 108.88.3.107 的子网掩码:[255.255.255.0]
255.255.255.0
为虚拟 IP 地址 108.88.3.107 选择网络:
1. db2_private_network_0
2. db2_public_network_0
输入所作的选择:
2
正在将虚拟 IP 地址 108.88.3.107 添加至域... 
成功地将虚拟 IP 地址 108.88.3.107 添加至域。
已成功完成所有集群配置。db2haicu 正在退出...
[db2inst2@db2-node01 ~]$ 

查看集群状态

[root@db2-node02 ~]# lssam
Online IBM.ResourceGroup:db2_db2inst2_db2-node01_0-rg Nominal=Online
        '- Online IBM.Application:db2_db2inst2_db2-node01_0-rs
                '- Online IBM.Application:db2_db2inst2_db2-node01_0-rs:db2-node01
Online IBM.ResourceGroup:db2_db2inst2_db2-node02_0-rg Nominal=Online
        '- Online IBM.Application:db2_db2inst2_db2-node02_0-rs
                '- Online IBM.Application:db2_db2inst2_db2-node02_0-rs:db2-node02
Online IBM.ResourceGroup:db2_db2inst2_db2inst2_GHAN-rg Nominal=Online
        |- Online IBM.Application:db2_db2inst2_db2inst2_GHAN-rs
                |- Online IBM.Application:db2_db2inst2_db2inst2_GHAN-rs:db2-node01
                '-
 Offline IBM.Application:db2_db2inst2_db2inst2_GHAN-rs:db2-node02
        '- Online IBM.ServiceIP:db2ip_108_88_3_107-rs
                |- Online IBM.ServiceIP:db2ip_108_88_3_107-rs:db2-node01
                '-
 Offline IBM.ServiceIP:db2ip_108_88_3_107-rs:db2-node02
Online IBM.Equivalency:db2_db2inst2_db2-node01_0-rg_group-equ
        '- Online IBM.PeerNode:db2-node01:db2-node01
Online IBM.Equivalency:db2_db2inst2_db2-node02_0-rg_group-equ
        '- Online IBM.PeerNode:db2-node02:db2-node02
Online IBM.Equivalency:db2_db2inst2_db2inst2_GHAN-rg_group-equ
        |- Online IBM.PeerNode:db2-node01:db2-node01
        '- Online IBM.PeerNode:db2-node02:db2-node02
Online IBM.Equivalency:db2_private_network_0
        |- Online IBM.NetworkInterface:eth1:db2-node02
        '- Online IBM.NetworkInterface:eth1:db2-node01
Online IBM.Equivalency:db2_public_network_0
        |- Online IBM.NetworkInterface:eth0:db2-node01
        '- Online IBM.NetworkInterface:eth0:db2-node02


(lsrsrc-api) /usr/sbin/rsct/bin/lsrsrc-api:2612-023 找不到资源。 
lssam:出现意外的 RMC 错误。RMC 返回码为 1。

[root@db2-node02 ~]#
还可以输入136 讨论区:
评 论