新动向,新机遇

最新发展动态、最热行业资讯,与主题云一起见证云时代精彩瞬间

HP cluster的硬件配置及使用

浏览量(9118) 时间:2020-08-10

双机备份原理:在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这样在两台主机上完成了版本的更新
最新文章