美国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 81 82LifeKeeper 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状态。