HADR的搭建步骤指南

47次阅读
没有评论

共计 3120 个字符,预计需要花费 8 分钟才能阅读完成。

本篇内容主要讲解“HADR 的搭建步骤指南”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“HADR 的搭建步骤指南”吧!

1  背景和需求

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

2  准备工作:2.1  查看源库配置

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

df -g|grep db

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

db2level

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

lsuser instance ID

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

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

lsuser fence ID

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

db2 list history backup since 20170907 for db COSCO_DB

l  查看并记录数据库参数中关于 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

l  查看并记录 /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

l  查看并记录带库配置信息

cat /usr/openv/netbackup/bp.conf

2.2  检查备库配置

l  检查磁阵挂载情况

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

l  检查带库配置

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

3  搭建 HADR 步骤

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

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

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

l  在备机安装 db2 介质

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

chfs -a size=+5G /opt

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

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

脚本在介质服务器 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

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

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

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

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

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

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

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

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

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

l  修改 dbname .ddl

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

l  后台跑恢复脚本

nohup db2 –tvf dbname .ddl

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

l  配置备机数据库参数

主要是相关的 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

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

db2 stop hadr on db dbname

l  在备机上在起 HADR

db2 start hadr on db dbname as standy

l  在主机上在起 HADR

db2 start hadr on db dbname as primary

l  Check HADR status

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

db2pd -d dbname -hadr

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

到此,相信大家对“HADR 的搭建步骤指南”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计3120字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)