红联Linux门户
Linux帮助

在Linux上实现DB2双机HA完整方案

发布时间:2006-02-09 09:15:38来源:红联作者:风雨无阻
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
  ./db2install -p DB2.ESE
  cd /opt/IBM/db2/V8.1/adm
  ./db2licm -a /db2/license/db2ese.lic



  其中,是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 on /home/db2data
  db2stop
  exit
  umount /home/db2data

  其中,是数据库名。

3.1.6. Catalog数据库
  在Passive节点上在root用户下执行以下命令:
  mount /dev/datavg1/db2lv1 /home/db2data
  su - db2inst1
  db2start
  db2 catalog database on /home/db2data
  db2stop
  exit
  umount /home/db2data
 其中,是上一步骤建立的数据库名

3.1.7. 检验DB2配置
  在Active节点上,在root用户下执行以下命令:
  
引用:
mount /dev/datavg1/db2lv1 /home/db2data
  su - db2inst1
  db2start
  db2 connect to
  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
  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进程。
文章评论

共有 3 条评论

  1. 230088 于 2012-05-15 09:52:42发表:

    不懂,,图文并茂就好了。。

  2. yangjinlong1123 于 2011-04-22 15:57:55发表:

    DB2 没用过

  3. kinron 于 2009-12-11 13:00:50发表:

    没有看明白~~