hp-unix下的高可用集群设置

来源:互联网 发布:51黑单片机论坛diy 编辑:程序博客网 时间:2024/04/29 06:50

原文出处:http://www.ixpub.net/thread-2754263-1-1.html

双机备份原理:在2个主机节点上分别安装集群软件(如:HP ServiceGuard),对客户端配置一个浮动IP,浮动意思是该IP地址适时绑定在2个节点中的某一个上,但该IP对客户端是固定的。每个节点配置3块网卡,分别是数据网卡,心跳信号网卡,以及一块对数据和心跳备份的网卡。数据和心跳网卡需要配置IP地址,备份网卡不配,当数据或心跳网卡失效,备份网卡自动接管数据或心跳网卡IP地址。当ServieGuard启动后,一旦主节点发生异常,如主节点停机、应用的关键进程退出、网络中断等情况发生,备节点立即启动预设的应用程序,同时将浮动IP绑定到备节点上,整个主备机切换时间大概在2分钟内完成,切换后,客户端通过浮动IP透明地连接到备机上。当主节点故障排除后,是否要将备节点重新切换到主节点有2个策略,一是手工切换,二是自动切换,缺省是手工切换。
ServiceGuard软件的组成:
软件组件
Package Manager 运行包管理器
Cluster Manager 集群管理器
Network Manager 网络管理器
主要后台进程
cmcld:节点守护进程,负责发送心跳信号、管理本地网络、以及负责运行包的管理
cmlogd:负责在系统日志(syslog)中记录信息
cmlvmd:监控所有属于集群控制的卷组(VG)的状态
cmsrvassistd:负责包启动、停止脚本以及服务程序的运行
集群的结构组成
1、节点:构成集群的主机。一个集群中允许的节点数量是2—16个
2、 运行包:运行包里面包含用户的应用程序,以及为该应用程序所分配的资源。报运行在某个运行的节点上,并且可以在节点间进行切换。
有关包(package)的一些概念
1、包含应用程序
2、 分配相应资源:①卷组、逻辑卷和文件系统 ②浮动IP地址 ③应用程序的启动和停止脚本 ④服务程序
规则是:分配给一个包的资源不能再分配给其他包;同一时间一个包只能运行在一个节点上
浮动IP的概念
浮动IP是分配给每个应用程序(运行包)的。如果要访问一个应用程序,则需要连接浮动IP地址。只需链接这个地址,而不管它实际上是在哪台主机或那块网卡上。

浮动IP必须加载在具有同网段静态IP地址的网卡上,当发生本机网卡切换时,浮动IP会和静态IP一起被加载到备用网卡上。

构成集群的硬件条件
1、主机:多台主机构成集群,每台主机必须拥有自己独立的根盘,强烈建议镜像。
2、数据磁盘:由于MC/SG不能对数据磁盘故障作出响应,需要使用高可用性的磁盘阵列或对数据盘进行镜像。
3、网络:MC/SG中的network manager可以对网络故障作出响应。需要配置冗余的网络设备(网线、交换机、网卡等)。

集群配置—相关文件
1、/etc/cmcluster/cluster.ascii
集群配置文件,包含节点组成、卷组指定和相关参数设定等
2、/etc/cmcluster/cmclconfig
集群二进制文件,由配置文件编译而成,包含集群的全部信息
3、/etc/cmcluster/mscppkg/mscppkg.conf
包配置文件,指定包所在的节点、监控网段、切换模式等参数信息
4、/etc/cmcluster/mscppkg/control.sh
包控制文件,指定包所拥有的各种资源
5、/etc/cmcluster/mscppkg/control.sh.log
包运行时记录的日志
6、/etc/cmcluster/mscppkg/start_mscp.sh
包启动时用于启动应用程序的脚本
7、/etc/cmcluster/mscppkg/stop_mscp.sh
包停止时用于停止应用程序的脚本
8、/etc/cmcluster/mscppkg/mscp_service.sh
包服务脚本,执行进程监控及其它客户化的功能

MC/SG运行过程---启动过程
启动集群
1、        在每个节点上启动守护进程cmcld
2、        所有cmcld运行正常的节点组成集群

启动包
1、        激活卷组,加载浮动IP,挂起文件系统
2、        执行应用程序启动程序(start_mscp.sh)
3、        运行服务(mscp_service.sh)

MC/SG运行过程---停止过程
停止包
1、        停止服务(mscp_service.sh)
2、        执行应用程序停止脚本(stop_mscp.sh)
3、        卸下文件系统,卸载浮动IP去激活卷组

停止集群
1、        在每个节点上停止守护进程cmcld

集群相关命令
启动集群:cmruncl –v 停止集群:cmhaltcl –v(若有包运行,加-f参数) 只在一个节点上启动集群:cmruncl –n 节点名  观察整个集群状态:cmviewcl –v

运行包相关命令
启动包:cmrunpkg –v –n 节点名 包名  停止包:cmhaltpkg –v 包名
设置包的自动切换属性:cmmodpkg –e 包名(允许包在节点之间自动切换)
cmmodpkg –e –n 节点名 包名(允许包在该节点上启动)

运行包管理---手工切换包实例
将包scppkg从mscp1切换到mscp2:
步骤一:在任意主机上执行
cmhaltpkg –v scppkg
步骤二:在任意主机上执行
cmrunpkg –v –n scp2 scppkg
步骤三:在任意主机上执行
cmmodpkg –e scppkg

日志检查---系统日志
/var/adm/syslog/syslog.log 系统日志

日志检查---包日志
/etc/cmcluster/mscppkg/control.sh.log 包运行日志

应急处理方案
如果出现紧急情况,需要脱离双机软件直接启动应用程序
1、 执行vgchange –c n vgdata,让vg脱离MC的控制
2、 执行vgchange –a y vdata  激活vg
3、 执行ifconfig lan 1:1 inet 129.9.168.120 netmask 255.255.255.0手动将浮动IP绑定在网卡上
4、 执行/etc/cmcluster/pkg/里的包启动脚本或直接执行相关命令启动应用及数据库

双机配置恢复后
1、停止数据库和应用
2、执行ifconfig lan 1:1 0.0.0.0,删除浮动IP
3、执行vgchange –a n vgdata去激活vg
4、执行cmruncl –v启动集群,第一次启动会由于vg不能被MC控制使得包无法启动
5、在集群处于running状态时,执行vgchange –c y vgdata将vg加入MC控制
6、执行cmrunpkg –v pkg,启动包

0 0
原创粉丝点击