• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

[原创]DB2 8.1HACMP 环境双实例双库互备模式调试

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 24次 | 进入软件测试论坛讨论

领测软件测试网
首先声明:这篇文档实际上我写给客户的项目留存文档,

如果客户的兄弟看见了,可千万别见怪,主要是这个8.1版本的

区别的在其他文档中间都没有提到,在网上各大论坛也看不到相关

的资料,贴在这里,是希望其他兄弟不至于走弯路,谢谢HHH!


设备主机名:
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相关实例。

 lygjumanji 回复于:2003-12-12 15:59:54
好东西,收藏。我这两天在准备做DB2 7.2的双机,对我非常有帮助。

 yanbing 回复于:2003-12-12 23:44:17
是不是DB2用的少,沉的这么快!!!

:(

 prada_gu 回复于:2003-12-13 19:04:15
yanbing,你的模式是不是一个节点装一个DB2,二个主机互备啊,

 yanbing 回复于:2003-12-14 02:03:03
是啊!标题里面就写了有啊!

双机双实例双库互备模式。

db2的分区模式好像要麻烦一些,项目里面没有涉及,也没有机会

尝试。。。。

 jerrynchen 回复于:2003-12-30 10:10:44
yanbing,你好!
    在这里看到你的关于双机互备的HACMP的文章(这可是我搜到的第一篇),对我大有启发。
    按照常规的STANDBY模式,对于外网是一个IP地址有效,现在每台主机上都有应用在运行,所以对外应该有2个IP地址,当然在正常运行时应该是没有问题的了。可是在一方DOWN机后他的应用要被对方主机接管,而IP地址也将漂移,这时,对方在运行2个应用的同时就该为网络提供2个IP地址了,那么这两个IP地址将会是哪两个?或者说HACMP如何配置才会实现。(这方面的理论文章比较多,但是具体实施实例还没有找到),或者能把你配置互备模式的文章整理一下让小弟分享一下吗:),或给予一些指点也行的

 vitovito 回复于:2003-12-30 13:18:11
关注,收藏!

 yanbing 回复于:2003-12-30 17:25:55
已经回复了,在你单独写的贴子里。。

 eCos 回复于:2004-08-12 17:38:40
请问各位大侠,有没有DB2的监控脚本

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网