db2 数据库配置HADR+TSA添加集群节点

时间:2024-02-25 15:28:09

Db2配置HADR高可用+TSA添加集群节点

一、服务器资源

Master IP:10.78.10.1 数据库:dbclass
Slave IP:10.78.10.2 数据库:dbclass
VIP:10.78.10.10
定额设备IP:10.78.10.9

系统版本:Redhat 6.7

数据库版本:V10.5 fp10

二、服务器必要配置

2.1、确认主机名

#hostname
dbclass-1
dbclass-2

2.2、主机名与IP对应关系

#vim /etc/hosts

dbclass-1 10.78.10.1
dbclass-2 10.78.10.2

2.3、添加数据库用户无密码访问数据库

#vim /etc/hosts.equiv
+ dbclass-1 db2inst1
+ dbclass-2 db2inst1
#vim /root/.rhosts
dbclass-1 root
dbclass-2 root
#su – db2inst1
$db2set DB2RSHCMD=/usr/bin/rsh
$vim .rhosts
dbclass-1 db2inst1
dbclass-2 db2inst1

2.4、配置RSH

#yum -y install rsh*
#vim /etc/xinetd.d/rsh
Disable = no
#vim /etc/xinetd.d/rlogin
Disable = no
#vim /etc/xinetd.d/rexec
Disable = no
#service xinetd restart
2.5、验证测试rsh

dbclass-1#rsh dbclass-2 ls
此处存在输出当前用户桌面文件结果,为配置正确。
db2inst1@dbclass-1$rsh dbclass-2 ls
此处存在输出当前用户桌面文件结果,为配置正确。
2.6、创建节点数据库集群

#/usr/sbin/rsct/install/bin/recfgct
#preprnode dbclass-1 dbclass-2
2.7、修改端口对应关系(最后一行添加)

#vim /etc/service
Db2_hadr_1 55001/tcp
Db2_hadr_2 55002/tcp
Db2_hadr_3 55003/tcp
DB2_hadr_4 55004/tcp
2.8、修改模块

#vim /etc/modprobe.conf
blacklist iTCO_wdt
blacklist iTCO_vendor_support
2.9、导入TSA的license

#samlicm –i sam41TB.lic
2.A、验证license

$samlicm -s
$samlicm -p; echo $?
=> result should be 0
返回值0:正式的license;返回值1:未导入license;返回值2:试用的license
$samlicm -t; echo $?
=> result should be 0

三、配置数据库HADR

3.1、主、备服务器配置

3.1.1、创建备份目录、log日志目录、archive目录

$su – db2inst1
$mkdir /home/db2inst1/db2 _archive
$ mkdir /home/db2inst1/db2 _log
$mkdir /home/db2inst1/db2 _backup

3.2、设置主、备服务器支持在线备份和备机可读

3.2.1、设置在线备份并配置备份目录

$db2 update db cfg for dbclasse using NEWLOGPATH /home/db2inst1/db2 _log
$db2 update db cfg for dbclasse using logarchmeth1 disk:/home/db2inst1/db2 _archive

3.2.2、设置当主、备服务器切换为备机时可读

$db2set db2_hadr_ros=on
$db2set db2_standby_iso=ur

$db2 update db cfg for dbclass using LOGINDEXBUILD ON

$db2 update db cfg for dbclass using INDEXREC RESTART
$db2 update db cfg for dbclass using LOGRETAIN ON

3.2、主服务器HADR配置

$db2 update db cfg for dbclass using hadr_local_host 10.78.10.1
$db2 update db cfg for dbclass using hadr_local_svc 55001
$db2 update db cfg for dbclass using hadr_remote_host 10.78.10.2
$db2 update db cfg for dbclass using hadr_remote_svc 55002
$db2 update db cfg for dbclass using hadr_remote_inst db2inst1
$db2 update db cfg for dbclass using hadr_syncmode NEARSYNC
$db2 update db cfg for dbclass using HADR_TIMEOUT 120
$db2 update db cfg for dbclass using HADR_PEER_WINDOW 120

3.4、备服务器HADR配置

$db2 update db cfg for dbclass using hadr_local_host 10.78.10.2
$db2 update db cfg for dbclass using hadr_local_svc 55002
$db2 update db cfg for dbclass using hadr_remote_host 10.78.10.1
$db2 update db cfg for dbclass using hadr_remote_svc 55001
$db2 update db cfg for dbclass using hadr_remote_inst db2inst1
$db2 update db cfg for dbclass using hadr_syncmode NEARSYNC
$db2 update db cfg for dbclass using HADR_TIMEOUT 120
$db2 update db cfg for dbclass using HADR_PEER_WINDOW 120

3.5、主备同时操作

$db2 force applications all
$db2 DEACTIVATE DATABASE dbclass

3.6、启动HADR

3.6.1、先启动备库

$db2 start hard on db dbclass as standby

3.6.2、在启动主库

$db2 start hard on db dbclass as primary

3.7、主备同时查看db2 HADR状态和通信状态

$db2 get db cfg for dbclass |grep HADR
$db2 get snapshot for db on dbclass|grep –A 15 HADR
$netstat –anp|grep 10.78.10.

四、配置数据库TSA

4.1、首先在备库执行
$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
输入要添加至域的机器的主机名:
dbclass-1
输入要添加至域的机器的主机名:
dbclass-2
现在,db2haicu 可以创建一个包含您指定的 2 机器的新域。如果您选择现在不创建域,那么 db2haicu 将退出。

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

要对称为 db2ha 的域配置定额设备吗?[1]
1. 是
2. 否
1
以下是受支持的定额设备类型的列表:
1. 网络定额
输入与要使用的定额设备类型相对应的编号:[1]
1
指定定额设备的网络地址:
10.78.10.9
正在为域 db2ha 配置定额设备...
成功地为域 db2ha 配置了定额设备。
集群管理器在该域内的各台机器中找到了 2 个网络接口卡。 可以使用 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。
正在检索实例 db2inst2 的高可用性配置参数...
未设置集群管理器名称配置参数(高可用性配置参数)。有关更多信息,请参阅 DB2 信息中心 中的“cluster_mgr - 集群管理器名称配置参数”主题。要设置高可用性配置参数吗?
以下是高可用性配置参数的有效设置:
1.TSA
2.供应商
输入高可用性配置参数的值:[1]
1
正在将实例 db2inst2 的高可用性配置参数设置为 TSA。
正在将 DB2 数据库分区 0 添加至集群...
成功地将 DB2 数据库分区 0 添加至集群。
要对 HADR 数据库 dbclass 验证和自动进行 HADR 故障转移吗?[1]
1. 是
2. 否
1
正在对域添加 HADR 数据库 dbclass... 
在域中找不到集群节点 10.78.10.1。请重新输入主机名。
dbclass-1
在域中找不到集群节点 10.78.10.2。请重新输入主机名。
dbclass-2
正在对域添加 HADR 数据库 dbclass... 
已经确定 HADR 数据库 dbclass 可具备高可用性。 但是,无法将此数据库添加至此节点中的集群,原因是 db2haicu 检测到此节点是用于 HADR 数据库 dbclass 的备用节点。在 HADR 数据库

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

4.2、配置完成后再主库执行

$db2haicu

[db2inst2@dbclass-1 ~]$ 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 数据库 dbclass... 
在域中找不到集群节点 10.78.10.2。请重新输入主机名。
dbclass-2
在域中找不到集群节点 10.78.10.1。请重新输入主机名。
dbclass-1
正在对域添加 HADR 数据库 dbclass... 
成功地对域添加了 HADR 数据库dbclass。
要对 HADR 数据库dbclass 配置虚拟 IP 地址吗?[1]
1. 是
2. 否
1
输入虚拟 IP 地址:
10.78.10.10
输入虚拟 IP 地址10.78.10.10 的子网掩码:[255.255.255.0]
255.255.255.0
为虚拟 IP 地址 10.78.10.10 选择网络:
1. db2_public_network_0
输入所作的选择:
1
正在将虚拟 IP 地址 10.78.10.10 添加至域... 
成功地将虚拟 IP 地址10.78.10.10 添加至域。
已成功完成所有集群配置。db2haicu 正在退出...

 

注:TSA优先在备库配置过程中,验证数据库HADR切换时会报错无法执行,这是正常的,不必在意,只需在主数据库上添加后测试即可。

五、至此TSA+HADR配置完成