共计 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 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!