DB2 8.1HACMP 环境双实例双库互备模式调试

发表于:2007-07-01来源:作者:点击数: 标签:
设备主机名: hostname:ibmsvr1,ibmsvr2 主机ip地址划分: ip:ibmsvr1_srv:192.168.1.2 _boot:192.168.1.12 ent1 _stby:192.168.2.2 ent2 ibmsvr2_srv:192.168.1.3 _boot:192.168.1.13 ent1 _stby:192.168.2.3 ent2 tcp/ip 网络 网关 gateway :192.168.1.1


设备主机名:
hostname:ibmsvr1,ibmsvr2

主机ip地址划分:
ip:ibmsvr1_srv:192.168.1.2

_boot:192.168.1.12 ent1

_stby:192.168.2.2 ent2

ibmsvr2_srv:192.168.1.3

_boot:192.168.1.13 ent1

_stby:192.168.2.3 ent2

tcp/ip网络网关
gateway :192.168.1.1

共享vg的设定:
名称,raid级别,major number,pv name
vg name:mzvg, raid1, 43 , hdisk2

zyvg, raid5, 44 , hdisk3

群集的名字:
cluster name :ibmcluster


资源组名称:
rg name: ibmmzrg

ibmzyrg

需要java131 64bit版本,在db2光盘盒中有单独cd介质提供。

java 131 64bit需要devices.isa_sio.chrp.ecp.rte 5.1.0.10(aix安装盘cd1中)

DB2 + HACMP 安装注意事项。

两台主机分别跑不同的db2 instance,
在用db2setup安装时两台主机需要指定不同的用户、ID;
该项目中间是db2inst1 ,db2inst2。用户、组和ID的对应号如下:

用户 用户ID 组 组ID
db2inst1 2000 db2iadm1 500
db2fenc1 2001 db2fadm1 501
db2as1 2005 db2grp1 101
db2inst2 2002 db2iadm2 502
db2fenc2 2003 db2fadm2 503
db2as2 2004 db2grp2 102



在对方机器上不存在的组和用户,如ibmsvr1 上的db2inst2用户,db2iadm2用户,db2as1用户
需要手工建立,需要保证ID号相同。(一定要确定两台机器的gid,uid相同,如上表所示)

放置实例的位置要建立文件系统 (如/home/db2inst1 );
该项目中间的划分如下:
mzvg(raid1)
lv name mount point 用途
db2inst1lv /home/db2inst1 512MB db2inst1实例文件
db2fenc1lv /home/db2fenc1 256MB
db2as1lv /home/db2as1 256MB db2DAS相关文件存储目录
db1lv /db1 2G db2inst1数据库文件

zyvg(raid5)
lv name mount point
db2inst1lv /home/db2inst2 db2inst2实例文件
db2fenc1lv /home/db2fenc2
db2as1lv /home/db2as2 db2DAS相关文件存储目录
db2lv /db2 db2inst2数据库文件

具体划分方法请参考aix系统相关资料。


再执行脚本db2chown将相关路径的权限设定到指定用户。
db2chown的内容如下:
chown -R db2inst1:db2iadm1 /home/db2inst1
chown -R db2inst2:db2iadm2 /home/db2inst2
chown -R db2fenc1:db2fadm1 /home/db2fenc1
chown -R db2fenc2:db2fadm2 /home/db2fenc2
chown -R db2as1:db2grp1 /home/db2as1
chown -R db2as2:db2grp2 /home/db2as2
chown -R db2inst1:db2iadm1 /db1
chown -R db2inst2:db2iadm2 /db2

db2setup安装时修改两边指定不同的服务名、端口号,
该项目中间设定的是db2inst1 50000/tcp
db2inst2 50001/tcp
同样的,在对方机器上面不存在的端口,需要手工添加。
添加到/etc/services文件中,在后面加上端口号就可以了。
最后需要保证两台设备的id号相同。在/etc/services文件中应该包含下列语句。

DB2 7.2版本
db2cdb2inst1 50000/tcp # Connection port for DB2 instance db2inst1
db2idb2inst1 50001/tcp # Interrupt port for DB2 instance db2inst1
db2cdb2inst2 50050/tcp #
db2idb2inst2 50051/tcp #

DB2 8.1版本
DB2_db2inst1 60010/tcp
DB2_db2inst1_END 60013/tcp
db2c_db2inst1 50000/tcp
db2c_db2inst2 50001/tcp
DB2_db2inst2 60000/tcp
DB2_db2inst2_END 60003/tcp

上面以DB2_开头的端口属于DB2 8.1中FCM(快速管理通讯程序)使用的端口。
端口在安装时默认指定的是60000开始的连续4个端口。
在对方机器上面需要手工添加自身实例的FCM端口,
注意两台机器的端口针对于该机主实例来说要是唯一的。
也就是说两个节点中间/etc/services中间的内容要一致。


DB2 7.2版本
HA 脚本 可以直接用su - instance-user-name db2start / su - instance-user--name db2stop 即可。
该项目中间的启停脚本使用的就是本目录中间的四个文件。
文件名为db2hastart1,db2hastop1, ha script for db2inst1
db2hastart2,db2hastop2, ha script for db2inst2

DB2 8.1版本
由于存在db2nodes.cfg文件的问题,所以,上面7.2版本的不再适用。
需要建立db2nodes.cfg文件的副本,存放在本地硬盘上,文件名称一致,但内容不同。

db2nodes.cfg.bak.1文件在ibmsvr1上的内容为:
0 ibmsvr1 0 ibmsvr1_svc

db2nodes.cfg.bak.2文件在ibmsvr1上的内容为:
0 ibmsvr1 0 ibmsvr2_svc

db2nodes.cfg.bak.1文件在ibmsvr2上的内容为:
0 ibmsvr2 0 ibmsvr1_svc

db2nodes.cfg.bak.2文件在ibmsvr2上的内容为:
0 ibmsvr2 0 ibmsvr2_svc


ha的相关启停脚本如下:

db2inst1.start.sh
cp /usr/dbsh/db2nodes.cfg.bak.1 /home/db2inst1/sqllib/db2nodes.cfg
su - db2as1 -c @#db2admin start@#
su - db2inst1 -c db2start

db2inst1.stop.sh
su - db2as1 -c @#db2admin stop@#
su - db2inst1 -c @#db2stop force@#

db2inst2用户的脚本就是将db2inst1替换成db2inst2即可。

将启停脚本加入到ha的应用服务器中间就可以了。脚本会自动启动db2相关实例。

原文转自:http://www.ltesting.net