HADR搭建步骤指南

HADR环境搭建指南

1         背景和需求

银行的数据库大部分是HA+HADR环境,一般的模式为:上海2台机器做HA,同时是HADR的主机;深圳2台机器做HA,同时是HADR的备机。或者反之。但有些数据库在搭建时并没有做HADR,只预留了HADR的接口(配置了/etc/hosts,/etc/services和数据库的HADR参数),所以需要我们在备机到位后搭建HADR环境。

2         准备工作:

2.1       查看源库配置

查看并记录源库上数据库文件系统大小

df -g|grep db

查看数据库版本及安装路径

db2level

查看并记录instance ID, fence ID及其所属的group

lsuser <instance ID>

instance属于哪个fence ID(看下面这个文件的owner)

ls -l $HOME/sqllib/adm/.fenced

lsuser <fence ID>

查看并记录最后备份情况,记下时间戳(恢复用)

db2 list history backup since 20170907 for db COSCO_DB

查看并记录数据库参数中关于HADR的配置

db2 get db cfg for COSCO_DB | grep HADR

HADR local host name                  (HADR_LOCAL_HOST) = TSM07_hadr1

HADR local service name                (HADR_LOCAL_SVC) = TSM07_service_hadr1

HADR remote host name                (HADR_REMOTE_HOST) = TSM07_hadr2

HADR remote service name              (HADR_REMOTE_SVC) = TSM07_service_hadr2

HADR instance name of remote server  (HADR_REMOTE_INST) = shruthra

HADR timeout value                       (HADR_TIMEOUT) = 120

HADR log write synchronization mode     (HADR_SYNCMODE) = ASYNC

查看并记录/etc/hosts,/etc/services中关于HADR的条目

grep -i hadr /etc/hosts

10.0.20.61 TSM07_hadr1

10.4.23.56 TSM07_hadr2

grep -i hadr /etc/services

TSM07_service_hadr1 6001/tcp

TSM07_service_hadr2 6002/tcp

查看并记录带库配置信息

cat /usr/openv/netbackup/bp.conf

2.2       检查备库配置

检查磁阵挂载情况

在备机HA两边跑getlun.sh命令查看磁阵挂载情况(RAID10,两边磁盘需一一对应),lsvg datavg查看容量是否符合要求。这点很重要,否则等你做好了他们发现磁阵配置不合规,你又得重新做一次,我就被这样坑过!

检查带库配置

查看文件/usr/openv/netbackup/bp.conf是否存在,如果不存在则没有配置。

3         搭建HADR步骤

准备工作做完后,我们就可以开始搭建HADR了,具体步骤如下:

配置/etc/hosts,/etc/services信息

ifconfig –a命令查看两边ip地址信息(取eth1部分的第一个ip),主库一般只需要修改指向备库的ipHA2台都要修改),如:10.4.23.56 TSM07_hadr2。备库2HA则需要加入相应条目,和主库保持一致。

在备机安装db2介质

检查/opt目录剩余容量,必要时用如下命令扩展:

chfs -a size=+5G /opt

备机2HA都要安装,版本和安装路径要和主机完全一致。

使用类似下面的命令在备机建立数据库实例(不建库)

脚本在介质服务器new.nim_master:/soft_new上,注意修改用户/组及数据库大小信息,-Check YES代表只产生输出,改为NO则实际执行。此脚本创建用户,文件系统及DB2 instance。

sh initdb2.sh -DBDATASIZEGB 150 -USERINFO db2inst1:db2igrp1,db2fenc1:db2fgrp1 -DB2PATH /opt/ibm/db2/V10.5.5_36366 -DB2VER V10.5.5 -NODENUM 1 -DB rptadb11 -CODEPAGE 1386 -TASK SYS FS USER INST DBM -Check YES

修改数据库相关文件系统大小

和主库保持一致,必要时用类似如下命令扩展:

chfs -a size=+5G /db/actlog

如果扩展报错,一般是达到了lvMAX LPs限制,用lslv命令查看并用smitty chlv命令修改。

修改带库对应的client端,以便能访问主库的备份

将备库/usr/openv/netbackup/bp.conf备份,然后用主库的内容覆盖。

产生数据库重定向恢复脚本

db2 "restore db <dbname> load /usr/openv/netbackup/bin/nbdb2.sl64 taken at <bakuptimestamp> redirect generate script <dbname>.ddl"

如果出错,说明带库客户端配置有问题,联系系统管理员解决。

修改<dbname>.ddl

修改文件的on <路径> db2path on <路径> newlogpath<路径>,还有表空间路径(如果不是auto storage的话),如果数据库比较大,则启用PARALLELISM等参数,但估计效果不大。

后台跑恢复脚本

nohup db2 –tvf <dbname>.ddl &

restore完成后,不要跑rollforward命令,备机数据库状态要保持在rollforward pending

配置备机数据库参数

主要是相关的diag, log文件系统的路径和HADR参数(需和主库相反,如下:)

HADR local host name                  (HADR_LOCAL_HOST) = TSM07_hadr2

HADR local service name                (HADR_LOCAL_SVC) = TSM07_service_hadr2

HADR remote host name                (HADR_REMOTE_HOST) = TSM07_hadr1

HADR remote service name              (HADR_REMOTE_SVC) = TSM07_service_hadr1

如果之前的有hadr,先停止hadr ( 在主备机都停)

db2 stop hadr on db <dbname>

在备机上在起HADR

db2 start hadr on db <dbname> as standy

在主机上在起HADR

db2 start hadr on db <dbname> as primary

Check HADR status

HADR启动后状态应该从disconnected/remote catch up pending变为connected/ remote catching up,说明备机在追日志,可以看到备机的当前日志号在变化,一直到connected/peer状态

db2pd -d <dbname> -hadr

将文件:/usr/openv/netbackup/bp.conf还原

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/75336/viewspace-2144735/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/75336/viewspace-2144735/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值