|
1. 摘要
本文档介绍在SuSE Linux Enterprise Server v8.0(SLES 8)上安装配置DB2 UDB Enterprise Serverv8.2双机互备的高可靠性方案的基本步骤。该方案配合采用SLES的卷管理器(LVM)和Veritas Cluster Server v2.2(VCS 2.2)作为HA实现组件。
2. 概述
本文档假定读者已经理解双机互备的HA方案的基本概念。
2.1. 双机互备HA方案的基本步骤
建立一个双机互备方案的基本步骤是
1. 确定基本参数(如IP地址、存储空间,等等。本方案的参数均为示范参数,读者需要根据实际环境替换)
2. 配置共享存储(本方案不涉及共享存储方案的配置)
3. 在两台节点上分别安装应用(在本方案中是DB2 UDB)
4. 在一台节点上对应用作初始配置(在本方案中是在共享存储上建立DB2数据库)
5. 在另一台节点上引入共享存储上的配置(在本方案中是对共享存储上的数据库做catalog操作)
6. 在两台节点上分别手动测试应用
7. 配置HA Cluster管理软件(在本方案中是VCS)
8. 测试HA Cluster管理软件可以成功接管资源
2.2. 假设
本文档假定采用以下示例环境,SLES与VCS已在节点上正确安装,SLES的共享存储已经正确连接,VCS的心跳连接已经正确配置。
2.2.1. 存储
各节点上需要足够的本地磁盘空间,来安装DB2 UDB的可执行代码及实例。
本方案需要足够的共享存储空间,来放置数据库数据。
假定共享存储上分配给DB2数据库的卷组名为/dev/datavg1,逻辑卷名为/dev/datavg1/db2lv1(使用SLES的LVM服务),在两个节点上的挂接点名为/home/db2data,且已正确格式化为合适的文件系统(Veritas工程师指出在SLES 8上VCS 2.2不支持ext3文件系统,建议格式化时指定ext2,在SLES 9和VCS 4.1上不存在这个问题)。注意这个挂接点要在fstab文件中配置为启动时不自动挂接。
数据库其他表空间可以建立在共享存储的其他卷上,如果是文件系统,同样要配置为不自动挂接。本文档暂不讨论。
2.2.2. 节点
本HA方案采用两个服务器节点做主从互备,以下分别称为Active节点和Passive节点。这两个节点具有相同的硬件和操作系统配置。
2.2.3. 网络
对外的IP网络。假定该方案中DB2 UDB对外提供服务使用的浮动IP(Floating IP)为192.168.10.110,Active节点的物理IP为192.168.10.11,Passive节点的物理IP为192.168.10.12。
HA管理软件需要一组内部IP来管理双机间的心跳连接。心跳IP不在本文档范围内。
3. 配置步骤
3.1. DB2 UDB安装、配置步骤
3.1.1. 建立用户和组
在两台节点上分别在root下执行以下命令:
groupadd –g 900 db2iadm1
groupadd –g 901 db2fadm1
groupadd –g 902 dasadm1
useradd –g db2iadm1 –u 800 –d /home/db2inst1 –s /bin/bash db2inst1
useradd –g db2fadm1 –u 801 –d /home/db2fenc1 –s /bin/bash db2fenc1
useradd –g dasadm1 –u 802 –d /home/dasusr1 –s /bin/bash dasusr1
组ID和用户ID可以根据实际情况选择,但务必保证在两台节点上相同的用户名/组名具有相同的ID。
3.1.2. 安装DB2 UDB产品代码
在两台节点上分别在root用户下执行以下命令:
cd <db2 installation image>
./db2install –p DB2.ESE
cd /opt/IBM/db2/V8.1/adm
./db2licm –a <db2 installation image>/db2/license/db2ese.lic
其中,<db2 installation image>是DB2 UDB ESE安装介质所在目录。
3.1.3. 建立实例
在两台节点上分别在root用户下执行以下命令:
cd /opt/IBM/db2/V8.1/instance
./db2icrt –p 50000 –u db2fenc1 db2inst1
3.1.4. 建立DAS
在两台节点上分别在root用户下执行以下命令:
cd /opt/IBM/db2/V8.1/instance
./dascrt –u dasusr1
3.1.5. 建立数据库
在Active节点上在root用户下执行以下命令:
mount /dev/datavg1/db2lv1 /home/db2data
su – db2inst1
db2start
db2 create database <DBNAME> on /home/db2data
db2stop
exit
umount /home/db2data
其中,<DBNAME>是数据库名。
3.1.6. Catalog数据库
在Passive节点上在root用户下执行以下命令:
mount /dev/datavg1/db2lv1 /home/db2data
su – db2inst1
db2start
db2 catalog database <DBNAME> on /home/db2data
db2stop
exit
umount /home/db2data
其中,<DBNAME>是上一步骤建立的数据库名
3.1.7. 检验DB2配置
在Active节点上,在root用户下执行以下命令:
mount /dev/datavg1/db2lv1 /home/db2data
su – db2inst1
db2start
db2 connect to <DBNAME>
db2 create table T (ID INTEGER)
db2 connect reset
db2stop
exit
umount /home/db2data
检验上述命令均无出错信息。
在Passive节点上,在root用户下执行以下命令:
mount /dev/datavg1/db2lv1 /home/db2data
su – db2inst1
db2start
db2 connect to <DBNAME>
db2 drop table T
db2 connect reset
db2stop
exit
umount /home/db2data
检验上述命令均无出错信息。
3.2. VCS配置
在VCS中,建立DB2资源组,在组中配置浮动IP、Application等资源,将Application的启动、停止等命令脚本配置为db2start、db2stop、db2admin start和db2admin stop,将Application的监视命令脚本配置为ps命令,监视db2sysc和db2dasrrm进程。 |
|