ITPub博客

首页 > 数据库 > 数据库开发技术 > 用Lifekeeper实现DB2主备式群集

用Lifekeeper实现DB2主备式群集

原创 数据库开发技术 作者:lovebreeze 时间:2007-05-13 22:11:49 0 删除 编辑

美国SteelEye公司的LifeKeeper是一款支持多软、硬件平台的高性能容错群集软件。它最多可支持16台服务器组成的集群,能工作于软件镜像和共享盘阵两种模式。

此文档以DB2 UDB Express 8.2 for Windows为例,介绍使用LifeKeeper实现DB2双节点、主备式群集的安装、配置及使用。

前提与假设

在安装配置LifeKeeper群集之前,假设用户已做了如下准备工作:

l 两套型号一致并至少拥有两块网卡的PC Server或小机;

l 两套版本号、补丁版本号一致的Windows操作系统(20002003);

l 一根用于心跳检测的直联线(超五类或六类线);

l 若系统BIOS里有超线程设定,要将其“disable”;

主服务器

备份服务器

计算机名

LK1

LK2

私网(心跳网络)设置

IP=10.10.10.3

Mask=255.0.0.0

IP=10.10.10.4

Mask=255.0.0.0

公网(应用网络)设置

IP=172.17.20.3

Mask=255.255.0.0

IP=172.17.20.4

Mask=255.255.0.0

虚拟IP地址

172.17.20.100

本地磁盘

C:

共享磁盘

D

磁盘卷组划分

数据库服务器的磁盘卷组可由用户喜好进行划分。若用户空间足够,建议用两块磁盘组成Raid1,安装操作系统;剩余的磁盘组成Raid5用于存放DB2程序、配置及库文件。若磁盘空间有限,可将全部磁盘构建成Raid5,再划分若干逻辑分区分别存放操作系统文件和DB2文件。

注意:无论如何划分磁盘卷组,都应保证:

l 两节点的DB2的程序文件和库文件应独立存在于同一个逻辑分区;

l 两节点的DB2分区应大小一致或者LK1DB2分区略大于LK2DB2分区

l DB2分区所在卷组不能是动态磁盘,只能是基本磁盘;系统交换、缓存文件也不能放在DB2分区;

安装操作系统及DB2软件

按正常方式安装操作系统,请不要使用Ghost等工具从镜像文件中安装系统;将DB2安装至DB2分区,表空间和数据库倒入等工作可稍后进行。

LifeKeeper群集环境配置

l 日志属性配置

2003无需做此项配置。

在“事件查看器”属性中修改“应用程序”和“系统”的“当达到最大日志尺寸”选项的属性,将其改为“按需要改写日志”;

l 网卡名及位置配置

将两个节点四块网卡分别命名为:heart1net1heart2net2;在网络和拨号连接=〉高级=〉高级设置菜单中将heart网卡的访问顺序设定为第一位;

l 虚拟IP配置

系统目录>system32driversetchosts文件中配置群集私网IP和虚拟IP

10.10.10.3 LK1

10.10.10.4 LK2

172.17.20.100 ha-svr

l 建立群集管理用户

LifeKeeper群集建立管理员用户lkamin,将其加入管理员用户组;

l 防火墙

对于安装了防火墙的服务器,需要作如下设置并开放下列端口和协议

n TCP 7365(通信路径/“心跳”)

n TCP 1500,1510,... (通信路径/“心跳”)

n 8182LifeKeeper GUI连接)

n 1024 及以上(Java RMILifeKeeper GUI)

n 允许访问任何虚拟IP地址(两台服务器上均配置)

n LifeKeeper 使用一种 broadcast ping 测试来定时检查虚拟 IP 地址. 为使这种测试其作用,防火墙必须允许下列类型的网络活动.

ü 从虚拟IP地址发出的 Internet Control Message Protocol (ICMP) 数据包

ü 到达虚拟IP地址的 ICMP 数据包

ü 从任何本地地址发出的 ICMP reply 数据包

ü 到达虚拟IP地址的任何 ICMP reply 数据包

安装LifeKeeperDR

按照下列步骤分别在LK1LK2服务器上安装LifeKeeper:

1.运行lk4.2.exe,系统执行安装程序:

2.首先提示安装是否继续,选择”y”

3.缺省LifeKeeper将程序安装到C:LK

4.使用典型安装

5.LifeKeeper要求关闭网络介质感应

6.进入LifeKeeper Core Application的完成

7.完成后,LifeKeeper会显示本机的hostID号,用于申请软件运行许可码

8.确认该HostID号为本机第一块网卡的Mac地址后,点击确定,若与本机第一块网卡的不相符,请回退至“网卡名及位置配置”处修正设定。

9.询问是否安装license,点击是。

10.询问以哪种方式安装lisence,点击否,直接输入序列号。

10.license输入完成后,系统提示是否重启。至此LifeKeeper Core Application安装过程。

11.安装LifeKeeper Data Replication,运行DR39.exe,系统执行安装程序。

12.缺省的安装目录是EM

13.选择完全安装类型

14.安装结束后,同样会显示用于申请许可码的HostID

15. 可以在此时输入许可码,也可在以后输入,完成后,系统提示是否重启。至此LifeKeeper Data Replication安装结束

16.系统服务中有三个服务是与LifeKeeper相关的

配置LifeKeeper

l 登陆节点

在节点LK1上运行ifeKeeper GUI

使用前面创建的用户lkadmin登陆节点1

从“File”菜单选择“Connect Server”,在“Server Name”中输入节点LK2的名字lk3,用相同的用户名和口令连接节点LK2,完成后,LifeKeeper GUI显示:

l 建立节点间的通讯连接

在私有网络上创建主通信路经,从工具栏选择,本地和远程服务器分别选择lk1lk3

选择通讯路径的通讯类型为TCP/IP

按照实际需求调整心跳间隔(Interval)和可容忍丢失的最多心跳数(Maximum Heartbeat Misses)

一般来说可将Heatbeat Interval设为4(缺省值为6),点击“next

Maximum Heartbeat Missers设定为3

选定私网IP为主通讯路径,分别设定本地和远程两个私网IP

设定主通讯路径的优先级为1

选择远端心跳的ip地址

指定TCP/IP端口号为1500(默认):

点击“Create”,创建第一条通讯路径。

点击“next

点击“done”,完成第一条通讯路径的设置。

此时LifeKeeper GUI的显示如下:

用同样的方法在公网上创建第二条通信路径作为备份心跳,完成后GUI界面状态显示为:

用鼠标选中任一服务器图标,点击右键,在菜单中选择属性,在“CommPaths”一栏,应显示出两条活动(ALIVE)的心跳,至此完成通信路径的创建

l 创建虚拟IP地址资源

选择“edit-----Resource------Create Resource Hierarchy ,建立资源。

选择IP Address,点击“next

选择自动回切类型,一般来说,应设定为INTELLIGENT智能),即不自动回切(因为本配置中两台服务器硬件性能一致,没有必要回切)

点击“next

点击“next”,输入要保护的虚拟IP地址:

虚拟ip地址的子网掩码,选择与公网相同的子网掩码:

IP 资源标签,为该资源设定一个容易设别的名字:

选择公网网卡接口为该虚拟IP的网络接口:

Local Recovery参数设为NO,因为我们没有第三块网卡用于本地恢复:

设定快速检查时间(Quick check)为1

和深度检查时间(Deep check)为2

创建成功后,显示如下:

完成节点LK1的虚拟ip 创建,选择“Next“,以继续将配置扩展到LK2上。.

选择“Continue

设定和节点1一样回切类型、优先级为10(默认)等参数,成功扩展后显示:

选择Finish完成IP资源设定,GUI界面显示为:

l 创建共享卷资源

Data Replicaton配置

运行Data Replicaton为两个节点建立卷镜像,注意互为镜像的卷不能是系统卷、页面卷或者动态卷。

单击Mirror=〉创建:

分别选中源和目标卷:

选择镜像模式为同步镜像(Synchronous Mirror):

下一步后,请在摘要窗口确认镜像配置,特别注意sourcetarget是否与节点LK1和节点LK2一一对应:

点击“完成“,开始卷的同步过程:

创建成功后,Synchronous状态为Mirror

LifeKeeper配置

从工具栏选择(创建资源层次),从下拉菜单中选择“Volume”:

选择回切类型为INTELLIGENT,即不自动回切。

选择节点LK1

选择节点LK1上的共享卷:

系统自动发现该共享盘的类型为SCSI,故显示为EM

缺省为该资源提供一个帮助记忆的名字(Tag),可使用任意指定一个方便记忆的名字:

设定快速检查时间(Quick check)和深度检查时间(Deep check)为13;该值最好根据实际情况设定,若磁盘容量相对较大,比如大于200G,则可将快速检查时间和深度检查时间修改为35

Create完成后,可将卷资源扩展到节点LK2

扩展设定中优先级变为10,其它设定不变,一路Next后:

点击Finish后,LifeKeeper GUI显示如下:

l 建立DB2资源

在建立DB2资源前,创建<系统盘>/LK/subsys/DB2目录,将restore.kshremove.kshquickchk.ksh三个脚本文件(请向项目部索取)拷贝至该目录下。

点击,选择Generic Application

选择回切类型为INTELLIGENT

输入之前添加在<系统目录>/LK/subsys/db2目录中的restore.ksh文件:

输入之前添加在<系统目录>/LK/subsys/db2目录中的remove.ksh文件:

输入之前添加在<系统目录>/LK/subsys/db2目录中的quickchk.ksh文件:

删除Deep Check Script文本框中的内容:

删除Local Recovery Script文本框中的内容:

Application info文本框中根据需要输入DB2资源的相关信息:

Bring Resource in service设定为Yes

输入资源标签,用以标识该资源:

点击Create开始创建资源:

IP资源、卷资源一样,DB2资源在节点LK1完成后,需扩展至节点LK2;一路Next后,完成资源创建:

l 建立资源间的依赖关系

右键点击DB2资源对应的绿色圆点,选中Create Dependency

选择要加入DB2资源组的资源,首先将卷资源加入DB2资源组:

接着加入虚拟IP资源:

全部完成后,GUI界面显示为:

注意:在做以下的操作前先将2台机器中WINDOWS服务中的DB2服务改为“手动”启动

DB2 客户路由配置:现在命令行输入db2cmd,然后弹出新的命令行

LK1数据库服务器上

C:>db2 connect to netdb

C:>db2 update alternate server for database netdb using hostname 172.17.20.4 port 50000

LK2数据库服务器上

C:>db2 connect to netdb

C:>db2 update alternate server for database netdb using hostname 172.17.20.3 port 50000

组件服务器注册表修改设置

媒质:

[HKEY_LOCAL_MACHINESOFTWARESOBEYPUBLICSOBEYDBMANAGE]
DatabaseType=DB2
Servername=172.17.20.100
DatabaseName=netdb (
DB2 实例名)
Userid=sbnetdba (
DB2 用户名)

[HKEY_LOCAL_MACHINESOFTWARESOBEYPUBLICSobeyNetDB]
DBMS Type=IBMDB2
ServerName=172.17.20.100
DatabaseName=netdb (
DB2 实例名)
UserName=sbnetdba (
DB2 用户名
)
password=sbnetdba (
DB2 用户密码)

l 简单测试

以上步骤完成后,LifeKeeper主备式群集就配置完成了。下面做一些简单的双机切换测试:

1、 通过db2cmd在节点LK1上创建一张零时表,insert into一些数据;

2、 手工切换资源组;在当前ActiveLK1中,选择DB2B并右键点击运行”Out of Ssevice

或者在standby 上,右键点击运行”In Ssevice.正常切换后为:

3、 在节点LK2上察看该表信息,若正确,可初步认定该LifeKeeper群集工作正常;

注意事项及日常维护

l 日常维护

日常检查,只需观察Lifekeeper管理界面的资源状态(资源在主机,为绿色的圆点,备机为灰色圆点)和Data Replicaton的镜像卷的状态(mirroring)。

l 工作机升级维护

工作机lk1如果需要维护或者升级,需手工将资源切换至备机lk2,等待备机lk2完全接管后,将工作机lk1关闭,断网维护;维护完成后,将lk1连接网线后重新开机,lk1启动完成后,察看Data Replicaton的镜像卷的状态,当镜像卷的状态为mirroring后,可认定LifeKeeper群集已正常工作。

l 关闭工作机

正常关闭工作机lk1(开始=〉关机)不会导致资源切换,LifeKeeper会认为当前处于管理员维护模式。

强行关闭工作机lk1(非正常关机)或者主机失效,会导致资源切换,所有资源会被备机lk2接管。当lk1重新回到网络中,lk2会自动向lk1进行同步。同步完成后,可以将lk2接管的资源重新切换到lk1

l 关闭备机

关闭备机,对工作机lk1的应用没有影响,群集可以正常工作。当备机lk2回到网络中,如果有镜像卷存在,工作机lk1回自动向备机lk2进行同步,管理员不需要其他维护。

l 资源失效

若工作机lk1LifeKeeper保护的资源失效,备机lk2会接管工作机lk1上的资源,在接管的时间内,应用会中断,在备机lk2完全接管成功后,应用可以正常工作。

l 关于镜像

在镜像正常的情况下,工作机lk1到备机lk2Mirrorring状态。在切换过程中,镜像状态会有所变化,最终会恢复到Mirrorring状态;对于异常情况,可能会出现Brokenmirror pause状态或者None状态,此时可以选择重新同步或者删除卷(不会影响卷上面的数据)。

l 开关机顺序

关机:先关备机lk2,等备机lk2关闭后,关闭工作机lk1

开机:先开工作机lk1,等待工作机lk1完全启动后,再开备机lk2LifeKeeper初始化结束后可以正常工作;当镜像卷状态变为mirroring后,表明LifeKeeper群集系统已正常工作。

l 卸载软件

删除建立好的所有资源,停止LifeKeeper服务后,可以安全卸载,不会影响DB2数据。

l 注意

如果网线被切断,在将网线接回网卡之前,应将相应节电重新启动。在启动过程中,将网线接回到服务器上,否则可能会有IP地址冲突或镜像卷双活的状态。如果出现该状态,只要将实际没有对外提供服务的机器进行重新启动即可。

对于有镜像卷的双机系统,一定在确保镜像卷的状态为mirroring时,才可以进行切换测试及相关操作,否则会有报错。

在进行大数据量的写入时,有可能由于网络传输的能力小于数据生成的速度,会出现数据镜像同步的状态(resynchronizing),属于正常现象,等到大数量写入操作结束,数据传输完成后,会恢复到mirroring状态。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9043660/viewspace-914881/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论
  • 博文量
    2
  • 访问量
    2139