美国SteelEye公司的LifeKeeper是一款支持多软、硬件平台的高性能容错群集软件。它最多可支持16台服务器组成的集群,能工作于软件镜像和共享盘阵两种模式。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
此文档以DB2 UDB Express 8.2 for Windows为例,介绍使用LifeKeeper实现DB2双节点、主备式群集的安装、配置及使用。
前提与假设
在安装配置LifeKeeper群集之前,假设用户已做了如下准备工作:
l 两套型号一致并至少拥有两块网卡的PC Server或小机;
l 两套版本号、补丁版本号一致的Windows操作系统(2000或2003);
l 一根用于心跳检测的直联线(超五类或六类线);
l 若系统BIOS里有超线程设定,要将其“disable”;
主服务器
备份服务器
计算机名
LK1
LK2
私网(心跳网络)设置
IP=<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />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分区应大小一致或者LK1的DB2分区略大于LK2的DB2分区
l DB2分区所在卷组不能是动态磁盘,只能是基本磁盘;系统交换、缓存文件也不能放在DB2分区;
安装操作系统及DB2软件
按正常方式安装操作系统,请不要使用Ghost等工具从镜像文件中安装系统;将DB2安装至DB2分区,表空间和数据库倒入等工作可稍后进行。
LifeKeeper群集环境配置
l 日志属性配置
在2003无需做此项配置。
在“事件查看器”属性中修改“应用程序”和“系统”的“当达到最大日志尺寸”选项的属性,将其改为“按需要改写日志”;
l 网卡名及位置配置
将两个节点四块网卡分别命名为:heart1、net1、heart2、net2;在网络和拨号连接=〉高级=〉高级设置菜单中将heart网卡的访问顺序设定为第一位;
l 虚拟IP配置
在<windows系统目录>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,82(LifeKeeper GUI连接)
n 1024 及以上(Java RMI,LifeKeeper GUI)
n 允许访问任何虚拟IP地址(两台服务器上均配置)
n LifeKeeper 使用一种 broadcast ping 测试来定时检查虚拟 IP 地址. 为使这种测试其作用,防火墙必须允许下列类型的网络活动.
ü 从虚拟IP地址发出的 Internet Control Message Protocol (ICMP) 数据包
ü 到达虚拟IP地址的 ICMP 数据包
ü 从任何本地地址发出的 ICMP reply 数据包
ü 到达虚拟IP地址的任何 ICMP reply 数据包
安装LifeKeeper和DR
按照下列步骤分别在LK1、LK2服务器上安装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 建立节点间的通讯连接
在私有网络上创建主通信路经,从工具栏选择,本地和远程服务器分别选择lk1和lk3:
选择通讯路径的通讯类型为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):
下一步后,请在摘要窗口确认镜像配置,特别注意source和target是否与节点LK1和节点LK2一一对应:
点击“完成“,开始卷的同步过程:
创建成功后,Synchronous状态为Mirror
LifeKeeper配置
从工具栏选择(创建资源层次),从下拉菜单中选择“Volume”:
选择回切类型为INTELLIGENT,即不自动回切。
选择节点LK1:
选择节点LK1上的共享卷:
系统自动发现该共享盘的类型为SCSI,故显示为EM:
缺省为该资源提供一个帮助记忆的名字(Tag),可使用任意指定一个方便记忆的名字:
设定快速检查时间(Quick check)和深度检查时间(Deep check)为1和3;该值最好根据实际情况设定,若磁盘容量相对较大,比如大于200G,则可将快速检查时间和深度检查时间修改为3和5。
Create完成后,可将卷资源扩展到节点LK2:
扩展设定中优先级变为10,其它设定不变,一路Next后:
点击Finish后,LifeKeeper GUI显示如下:
l 建立DB2资源
在建立DB2资源前,创建<系统盘>/LK/subsys/DB2目录,将restore.ksh、remove.ksh、quickchk.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、 手工切换资源组;在当前Active的LK1中,选择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 资源失效
若工作机lk1上LifeKeeper保护的资源失效,备机lk2会接管工作机lk1上的资源,在接管的时间内,应用会中断,在备机lk2完全接管成功后,应用可以正常工作。
l 关于镜像
在镜像正常的情况下,工作机lk1到备机lk2是Mirrorring状态。在切换过程中,镜像状态会有所变化,最终会恢复到Mirrorring状态;对于异常情况,可能会出现Broken,mirror pause状态或者None状态,此时可以选择重新同步或者删除卷(不会影响卷上面的数据)。
l 开关机顺序
关机:先关备机lk2,等备机lk2关闭后,关闭工作机lk1。
开机:先开工作机lk1,等待工作机lk1完全启动后,再开备机lk2,LifeKeeper初始化结束后可以正常工作;当镜像卷状态变为mirroring后,表明LifeKeeper群集系统已正常工作。
l 卸载软件
删除建立好的所有资源,停止LifeKeeper服务后,可以安全卸载,不会影响DB2数据。
l 注意
如果网线被切断,在将网线接回网卡之前,应将相应节电重新启动。在启动过程中,将网线接回到服务器上,否则可能会有IP地址冲突或镜像卷双活的状态。如果出现该状态,只要将实际没有对外提供服务的机器进行重新启动即可。
对于有镜像卷的双机系统,一定在确保镜像卷的状态为mirroring时,才可以进行切换测试及相关操作,否则会有报错。
在进行大数据量的写入时,有可能由于网络传输的能力小于数据生成的速度,会出现数据镜像同步的状态(resynchronizing),属于正常现象,等到大数量写入操作结束,数据传输完成后,会恢复到mirroring状态。

转载于:https://blog.51cto.com/botao/82937

Lifekeeper实现DB2主备式群集相关推荐

  1. 用Lifekeeper实现DB2主备式群集

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

  2. GBase 8c V5 主备式部署实操

    GBase 8c V5 主备式部署实操 一.前言 二.环境准备 三.集群安装 四.数据库启停 五.卸载 六.连接和 SQL 测试 一.前言 GBase 8c 是 GBASE公司(天津南大通用数据技术股 ...

  3. 数据架构:从主备,主主到集群的高可用方案

    本文转载自公众号:不止思考 在互联网项目中,当业务规模越来越大,数据越来越多,随之而来的就是数据库压力会越来越大.慢慢就会发现,数据库层可能已经成为了整个系统的关键点和性能瓶颈了,因此实现数据层的高可 ...

  4. 基于c语言的db2数据库开发,DB2日志(2) 用C语言扩展实现DB2日志管理及主备同步

    还好DB2提供了相关的USEREXIT程序(又名用户出口程序)可以使我们管理日志文件并有了扩展功能的可能性.在这一点上DB2明显要比Oracle开放些. 实现 1.首先将USEREXIT接口打开,让数 ...

  5. 【postgres】4、安装、配置、主备、归档

    文章目录 一.安装部署pg11.5 1.1 create db 1.1.1 编译安装建库,需包含文档及所有contrib 1.1.1.1 源码安装 1.1.1.2 yum安装 apt源设置 依赖 提前 ...

  6. 阿里云 mysql主从_阿里云MySQL主从_Mater Slave_主备同步_MySQL主从_MySQL延迟-云栖社区-阿里云...

    1.背景 为了提高系统的可用性和数据保护,MySQL通常采用master-slave的部署结构,简单高效,master和slave之间使用binlog来复制数据. binlog支持statement和 ...

  7. MySQL主备复制原理、实现及异常处理

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  8. 数据库主从和主备部署介绍

    转自: https://www.cnblogs.com/fengzheng/p/13401783.html 数据库层的几种模式 在系统架构中,数据库层主要由如下几种模式,分别是单点模式.主备模式.主从 ...

  9. 双水泵轮换工作原理图_一用一备式冷凝水泵应急电源的设计与实现

    为保障山西通州集团兴益化工有限公司10万吨甲醇工程一用一备式冷凝水泵的安全运行,专门设计动力负载应急电源.作者阐述了动力负载应急电源基本原理及其控制系统设计,经现场调试运行,动力负载应急电源很好满足生 ...

最新文章

  1. 阿里达摩院2020趋势第一弹:感知智能的“天花板”和认知智能的“野望”
  2. 库存管理-历史库存和收发存系列-俄罗斯库存报表J3RFLVMOBVED1
  3. Kaggle知识点:时序数据与Embedding
  4. java事务_JAVA事务
  5. Maven 打成 Webjar的方法
  6. 500 cannot be cast to javax.xml.registry.infomodel
  7. oracle用exp定时备份数据库,使用exp和imp对Oracle数据库进行简单的备份
  8. nodeJS 视频教程
  9. 屏幕空间的动态全局光照(漫反射)
  10. 比Excel还简单的SQL语句查询
  11. 双路服务器56核系统推荐,双路最高支持56核112线程!华硕妖板羡煞旁人
  12. 打码,需要一个好的键盘
  13. 重邮计算机专业取得奖项,重邮邹宇航:保研北大,囊括国内外40余个重量级奖项的科创达人...
  14. python 编辑距离_最小编辑距离(Levenshtein)的 Python 实现
  15. 解决maven项目-Dmaven.multiModuleProjectDirectory报错
  16. 一文搞懂PMO如何推动流程规范的落地及常见问题如何解决?【管理有度4】
  17. ssm高校党员信息管理系统
  18. 系统学习iOS动画 —— 渐变动画
  19. 常见的网络安全风险有哪些?
  20. [转帖] 丰富多彩的开放课程资源

热门文章

  1. Linux 中如何开启端口
  2. 网页制作如何去掉下划线
  3. 三国中谁的抗曹功劳最大?
  4. Java回调函数理解和应用
  5. 四种常见的 POST 提交数据方式--good
  6. 韩国工程师为IE浏览器立墓碑:“它是下载其他浏览器的好工具”
  7. 主持人群星会缅怀罗京 朱迅眼圈发红
  8. ffmpeg 解码本地裸视频流
  9. AD21下载和安装教程
  10. Python 并发编程--进程,线程,协程