欢迎光临
我们一直在努力

HP cluster的硬件配置及使用

双机备份原理:在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,启动包

————————————————————————————————————————————

HP cluster的硬件配置及使用

13.5.1 开关机步骤

开机–打开外设电源(如磁盘阵列等等)_打开主机电源_ 等待 7 分钟左右,系统就绪。

关机–以 root 用户登录 (user:root passwd:root)_关闭Cluster ,键入cmhaltcl–f 键入 shutdown –hy 0 等待 20 秒_ 关闭主机电源_关闭外设电源

13.5.2 HP cluster配置

HP cluster 基本的硬件配置是:两台hp9000 小型机,一台磁盘柜,磁盘柜可以是硬盘镜像, 也可以是AutoRaid( 这里以镜像为例, 磁盘阵列有两个硬盘/dev/dsk/c0t5d0, /dev/dsk/c1t5d0)小型机的基本网络配置是每台机器三块网卡。在配置时,第一、二两块网卡配置IP 地址,但第三块网卡不配IP 地址。另外,网络连接需用两台HUB,第一块网卡lan0 之直连,第二块网卡lan1 接在第一个HUB上,第三块网卡接在第二个HUB 上,两台HUB 直连。

1. 检查双机的硬件配置:

用 lanscan 以及 netstat –ni 命令结合查看每块网卡具体物理位置所对应的IP 地址、子网等,举例如下:

lanscan

ardware Station Crd Hdw Net-Interface NM MAC HP-DLPI LPI

ath Address In# State NamePPA ID Type Support Mjr#

/0/0/0 0x001083FF0BF7 0 UP lan0 snap0 1 ETHER Yes 19

/5/0/0 0x001083FBA86D 1 UP lan1 snap1 2 ETHER Yes 19

/12/0/0 0x001083FB68E9 2 UP lan2 snap2 3 ETHER Yes 19

Hardware Path 就对应每块网卡的硬件地址,如0/0/0/0、0/5/0/0、1/12/0/0一共是三块网卡的SLOT 号,分别对应lan0、lan1、lan2。在HP 服务器后面网卡槽位旁边以查到Path 号,就可以知道哪块网卡对应lan0、lan1、lan2,同时可以看到网卡的链路层地址(Station Address)。

IN-212-C1 HP-UX 系统管理

然后再键入netstat –ni,可以看到如下结果:

# netstat –ni

Name Mtu Network Address Ipkts Opkts

lan2* 1500 none none 0 0 备份

lan1 1500 214.216.1.0 214.216.1.134 155322 19407 数据线

lan0 1500 168.1.0.0 168.1.7.101 63392 36547 心跳线

lo0 4136 127.0.0.0 127.0.0.1 19682 19682

2. 检查双机的软件配置:

HP 服务器上需有以下软件(使用swlist 命令来查看):

检查双机的软件配置:HP9000 服务器上需有以下软件:

HPUXENG32(64)RT B.11.0 HP-UX 操作系统

HPUXSCh42(64)RT B.11.0 HP-UX 操作系统简体中文环境

UXCoreMedia-S B.11.0 HP-UX 简体中文media 工具

B3935B(D)A A.11.08 MC/Service Guard 11.08 cluster 双机配置软件

B3919EA_B9U B.11.00 Special Edition HP-UX Unlimited-User Lic

B2491BA B.11.00 MirrorDisk /UX(磁盘采用镜象方式才要)

HP C/ANSI C Developer’s Bundle for HP-UX 11.00(S800) —- cc 编译器

若没有以上软件,请安装以上软件。检查以上软件是否存在,使用swlist

|more 命令来查看是否有以下软件。

3. 其它准备

njzx11 与njzx22 应能互相ping 通168.1.7 网段,214.216 网段的地址。

检查/etc/hosts 文件中是否配置两机器的机器名njzx11,njzx22 及对应的ip

地址,应该如下:

njzx11

njzx22

214.216.1.133 scp

第13 章 HP Cluster 简介

此时,在两台机器上ping 机器名应能ping 通。

检查/目录下的.rhosts 文件是否配置两机器的机器名njzx11, njzx22,配置应

该如下:

njzx11

njzx22

此时,在两台机器上rcp, rlogin 命令应可以使用

4. 配置 cluster(以njzx11 为主机,njzx22 为备机)

在njzx11 上操作:

# cd /dev

# mkdir vgsybase

# ll /dev/*/group

crw-r—– 1 root sys 64 0x000000 Nov 29 19:26 /dev/vg00/group

crw-rw-rw- 1 root sys 64 0x020000 Dec 21 10:56 /dev/vgsybase/group

T. 在/dev 下建vgsybase 目录

找一未使用的数字,比如0x010000,作为所创建的vg 的唯一标志。

# mknod /dev/vgsybase/group c 64 0x01000 ;建设备文件

# pvcreate –f /dev/rdsk/c0t5d0 ;在/dev/dsk/c0t5d0 上建pv

# pvcreate –f /dev/rdsk/c1t5d0 ;在/dev/dsk/c1t5d0 上建pv

# vgcreate /dev/vgsybase /dev/dsk/c0t5d0 /dev/dsk/c1t5d0;创建vg 使用硬盘镜像:

# lvcreate –L 100 -n sybdev -m 1 -s y /dev/vgsybase ;建lv, lv 名为sybdev

不使用硬盘镜像:

# lvcreate –L 100 -n sybdev /dev/vgsybase ;建lv, lv 名为sybdev

# vgchange –a n vgsybase ;改变vgsybase 状态为no active

# vgexport –p –s –m /tmp/mapfile /dev/vgsybase ;将vgsybse 的配置信息存入mapfile

# rcp /tmp/mapfile njzx22:/tmp ;将mapfile 拷贝到njzx22

IN-212-C1 HP-UX 系统管理

上在njzx22 上操作:

# cd /dev

# mkdir vgsybase

# mknode /dev/vgsybase/group c 64 0x010000

# vgimport –s –m /tmp/mapfile /dev/vgsybase

在njzx11 上操作:

# cd /etc/cmcluster

# cmquerycl –n njzx11 –n njzx22 –C cmzxin.ascii ;生成cluster 缺省文件

cmzxin.ascii

# 编辑cmzxin.ascii 文件, 编辑cluster name : zxcluster , 参数

MAX_configused_packages = 0,有几个应用,MAX_configused_packages就为几,现在改为3

# cmcheckcong -C /etc/cmcluster/cmzxin.ascii ;检查cluster 配置文件

# cmapplyconf -C /etc/cmcluster/cmzxin.ascii ;装载cluster,将

cmzxin.config 文件分发到两台机器上。

# cmruncl ;启动cluster

# cmview –v ;观察cluster 的状态

# cmhaltcl –f ;停止cluster

# cd /etc/cmcluster/zxin10

# 编辑zxin.conf 文件

FAILBACK_POLICY AUTOMATIC

NODE_NAME njzx11

NODE_NAME njzx22

SUBNET 214.216.1.0

# 编辑zxin.cntl 文件,改LV, FS 的配置与应用有关

LV[0]=/dev/vgsybase/sybdev6; FS[0]=/data; FS_MOUNT_OPT[0]="-o rw"

IP[0]=214.216.1.133

SUBNET[0]=214.216.1.0

第13 章 HP Cluster 简介

其中 LV(0)对应前面所创的sybdev6,可根据实际情况做修改

IP〔0〕对应虚拟IP 地址,SUBNET〔0〕对应子网

# cp zxin10.sh.test zxin10.sh ;zxin10.sh.test 为cluster 的测试文件,正式文

件为zxin10.sh.run

# rcp * njzx22:/etc/cmcluster/zxin10

# cmcheckconf -C /etc/cmcluster/cmzxin.ascii –P zxin10.conf

# cmapplyconf -C /etc/cmcluster/cmzxin.ascii –P zxin10.conf

# cmruncl ;启动cluster

# cmview –v ;观察cluster 的状态

当使用zxin10.sh.test 文件测试cluster 时,杀掉njzx11 上的进程testcluster,

过一分钟,在njzx22 上如果testcluster 能起来则cluster 倒换成功。

13.5.3 操作维护

1. 启动 Cluster

以 root 用户登录_ 键入 cmruncl _ 等待 10 秒,Cluster 就绪

2. 关闭 Cluster

以 root 用户登录_ 键入 cmhaltcl –f _ 等待 10 秒,Cluster 关闭

3. 查看 Cluster 运行状态

以 root 用户登录_ 键入 cmviewcl –v

Cluster 健康与否主要看NODE 的状态,若为up,则运行正常。若为

down 则节点未处于Cluster 中。应用程序运行情况主要看当前的zxin10pkg 运行状态(STATE),若为

running,则程序运行正常。若为halting ,则程序处于非运行状态。

4. 应用程序zxin10pkg 的切换

现行的Cluster 配置中,njzx22 为主机,njzx11 为备机。

njzx11_ njzx22:

njzx11 的主机上,键入: cmmodpkg –e –n njzx22 –n njzx11–v

zxin10pkg

njzx22_ njzx11:

IN-212-C1 HP-UX 系统管理

njzx22 的主机上,键入: su – zxin10 -c superstop

5. 不影响程序正常运行的情况下,进行系统维护。(以njzx11 为例)

查看Cluster 运行状态,确定zxin10pkg 运行的主机:

1) 若 zxin10pkg 运行在hp1 上,则应首先将zxin10pkg 切换至njzx22上。步骤如下:cmmodpkg –e –n njzx22 –v zxin10pkg 等待 20 秒在njzx11 的终端上,键入cmhaltnode njzx11 键入 shutdown –hy 0 等待 20 秒,关闭系统电源。

2) 若 zxin10pkg 运行在njzx22 上,步骤如下:在njzx11 的终端上,键入cmhaltnode njzx11 _键入 shutdown –hy 0  等待 20 秒,关闭系统电源。不影响程序正常运行的情况下,进行版本更新:

1) 查看 Cluster 运行状态,确定zxin10pkg 运行的主机。在另外一台主机上执行如下步骤:将版本源文件拷入 /home/zxin10/src 目录下。在/home/zxin10 目录下,键入make Install 打包:tar cvf zxin10.tar * 把 包 拷 入 另 一 台 主 机 ( 假定为njzx22): rcp zxin10.tar njzx22:/home/zxin10

2) 在 zxin10pkg 运行的主机上,首先将zxin10pkg 切换到另一台主机上,然后在本机上执行如下步骤: tar xvf zxin10.tar这样在两台主机上完成了版本的更新

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。