温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

HADR的搭建步骤指南

发布时间:2021-08-30 19:07:25 来源:亿速云 阅读:186 作者:chen 栏目:数据库

本篇内容主要讲解“HADR的搭建步骤指南”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“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的搭建步骤指南”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI