HP 双机配置
(MC/ServiceGuard)
配置步骤:
l 设置集群共享盘;建立文件系统
l 建立Cluster 集群、加入节点(服务器)
l 配置服务包运行脚本、环境
l 在集群内添加服务包,配置各节点接管包环境
l 启动集群、节点、服务包
1. 设置集群共享盘;建立共享卷、文件系统
主机A(lyyb01):
用ioscan -fnC disk 查看共享磁盘设备路径
……
disk 2 0/3/0/0.1.2 sdisk CLAIMED DEVICE HP C5447A
/dev/dsk/c4t1d2 /dev/rdsk/c4t1d2
disk 8 0/6/0/0.0.2 sdisk CLAIMED DEVICE HP C5447A
/dev/dsk/c6t0d2 /dev/rdsk/c6t0d2
……
注:/dev/dsk/c4t1d2和/dev/dsk/c6t0d2是双scsi 通道的同一个硬盘,因为 #lssf /dev/dsk/c6t0d2 显示为 lun 2 ,与
#pvcreate -f /dev/dsk/c4t1d2 创建物理盘标识
#mkdir /dev/vg03 创建设备卷目录
#mknod /dev/vg03/group c 64 0x030000 创建卷控制文件
(注:03是机器上唯一的,先用ls -l */group查看是否已存在,如已存在03,将改变此值,取值:00-16)
#vgcreate vg03 /dev/dsk/c4t1d2 /dev/dsk/c6t0d2 创建卷组vg03
(用vgdisplay -v vg03 查看vg03卷组信息,确认已建立)
#lvcreate -L 1000 -n mylv vg03 创建逻辑卷
(注:-L 1000是创建1000M容量,-n mylv是卷名)
#newfs -F vxfs /dev/vg03/mylv 创建文件系统
#mkdir /demo1 建mount目录
#mount /dev/vg03/mylv /demo1 mount文件系统
#umount /demo1
#vgchange -a n vg03 关闭卷组
#vgexport -p -s -m /tmp/map1 vg03 导出卷组配置信息
(注:-p是保留卷组信息,-s是设为共享,-m /tmp/map1是生成map1卷组信息信息文件)
#rcp /tmp/map1 lyyb02:/tmp/map1 拷贝文件到主机B上
主机B(lyyb02):
#mkdir /dev/vg03 创建设备卷目录
#mknod /dev/vg03/group c 64 0x030000 创建卷控制文件
(注:03是机器上唯一的,先用ls -l */group查看是否已存在,如已存在03,将改变此值,取值:00-16)
#vgimport -s -m /tmp/map1 vg03 导入vg03卷组信息
#strings /etc/lvmtab 查看导入的卷组配置
#vgchange -a y vg03 激活vg03卷组
#mkdir /demo1 建mount目录(与主机A相同)
#mount /dev/vg03/mylv /demo1 mount文件系统
2.建立Cluster 集群、加入节点
#vi $HOME/.rhosts 建立集群节点互信任
加入: lyyb01 (主机A)
lyyb02 (主机B)
(注:分别在两台主机上编辑root用户目录下的.rhosts文件,加入节点(服务器)的主机名,只能是主机名,主机名要在/etc/hosts里加上对应的主机IP地址)
#cd /etc/cmcluster 进入cluster的默认目录
#cmquerycl -C demo.asc -n lyyb01 -n lyyb02 创建cluster文本文件
(注:-C是创建cluster ASCII 文件,-n lyyb01 -n lyyb02是加入lyyb01、lyyb02两个节点)
#vi demo.asc 编辑cluster ASCII 文件
(注:cluster ASCII 文件是建立集群的配置和选项,可更改cluste name、锁盘、节点心跳时间、包数量。
将MAX_CONFIGURED_PACKAGES 该为10)
#cmcheckconf -C demo.asc 检查cluster、节点配置情况
(注:先确保各节点的硬件和设置正常,包括:网卡、SCSI卡、硬盘、IP地址、卷组不能在多于一个节点上激活)
#cmapplyconf -C demo.asc 创建cluster
(注:通过demo.asc文件创建cluster并将运行配置传送到各节点,cluster建立)
#cmruncl 运行cluster
#cmviewcl -v 查看cluster和cluster里节点的信息
CLUSTER STATUS
cluster1 up
NODE STATUS STATE
lyyb01 up running
Network_Parameters:
INTERFACE STATUS PATH NAME
PRIMARY up 0/0/0/0 lan0
NODE STATUS STATE
lyyb02 up running
Network_Parameters:
INTERFACE STATUS PATH NAME
PRIMARY up 0/0/0/0 lan0
#vgchange -c y vg03 激活MC 管理卷
(注:分别在两台主机上用vgchange -c y vg03激活MC 管理卷,-c
是加入MC管理,y、n 是参数,分别是激活和关闭。在用-c y之前先要执行vgchange -a n vg03,当关闭系统管理后,MC才能接管)
可查看/var/adm/syslog/syslog.log日志观察cluster配置过程的信息。
3.配置服务包运行脚本、环境
主机A(lyyb01):
#mkdir /etc/cmcluster/demo
#cd /etc/cmcluster/demo 创建和进入一目录
#cmmakepkg -p demo.conf 创建包配置文件
(注:创建demo1.conf ASCII包配置文件,可修改包名、节点、服务和包属性。)
#vi demo.conf 编辑包配置文件
demo.conf配置例子:
PACKAGE_NAME demo 包名字
NODE_NAME lyyb01 节点1
NODE_NAME lyyb02 节点2
RUN_SCRIPT /etc/cmcluster/demo/demo.cntl 包运行脚本
RUN_SCRIPT_TIMEOUT NO_TIMEOUT
HALT_SCRIPT /etc/cmcluster/demo/demo.cntl 包停止脚本
HALT_SCRIPT_TIMEOUT NO_TIMEOUT
SERVICE_NAME demo 加入包的服务名(MAX30)
SERVICE_FAIL_FAST_ENABLED NO
SERVICE_HALT_TIMEOUT 2
SUBNET 192.168.168.0 包监听子网
PKG_SWITCHING_ENABLED YES 包切换
NET_SWITCHING_ENABLED YES 网卡切换
NODE_FAIL_FAST_ENABLED NO
#cmmakepkg -s demo.cntl 创建包控制脚本
#vi demo.cntl 编辑包控制脚本
demo.cntl配置例子:
PATH=/usr/bin:/usr/sbin:/etc:/bin:/usr/lbin:/etc/cmcluster/demo
(注:加入包文件目录的路径)
VGCHANGE="vgchange -a e -q n"
(注:MC接管激活卷组的参数,默认是vgchange -a e , vgchange -a e -q n是双SCSI通道用的)
VG[2]=vg03
(注:切换接管的卷组名,可同时有多个,顺序是0、1、2、3..)
LV[2]=/dev/vg03/mylv; FS[2]=/demo1; FS_MOUNT_OPT[2]=""
(注: 逻辑卷的mount 目录)
IP[0]=192.168.168.20 应用包的IP地址
SUBNET[0]=192.168.168.0 应用包的监听网段
SERVICE_NAME[0]="demo"
SERVICE_CMD[0]="/usr/bin/X11/xclock -display 192.168.168.23:0"(或设置一个脚本,内容见附录)
SERVICE_RESTART[0]="-R"
function customer_defined_run_cmds
{ (在此加入应用启动的命令)
test_return 51
}
function customer_defined_halt_cmds
{ (在此加入应用关闭的命令)
test_return 52
}
………
(注: SERVICE_NAME[0]="demo"是服务名,必须与demo.conf里的SERVICE_NAME相同名。SERVICE_CMD[0]= "..."是启动服务时运行的命令,现在用的命令是"/usr/bin/X11/xclock -display 192.168.168.23:0"表示运行xclock并在192.168.168.23的工作站上显示出来。SERVICE_RESTART[0] =""是服务重启的次数,“-r 2”是重启两次,“-R”是不断重启。)
4.在集群内添加服务包,配置各节点接管包环境
#rcp demo.cntl lyyb02:/etc/cmcluster/demo 拷贝控制脚本
(注:将demo.cntl控制脚本拷到主机B上,使其环境同步)
#cmcheckconf -v -P demo.conf 检查包配置
(注:检验以上对包的配置是否有误,在脚本目录里会有与脚本名相同的log文件,如:demo.cntl.log 。如果一切无误将接着做下一步,否则要做相应的修改,直至无误。)
#cmapplyconf -v -P demo.conf 将包加入集群cluster
#cmrunpkg demo 运行demo包
#cmviewcl -v 查看cluster和cluster里节点的信息
CLUSTER STATUS
cluster1 up
NODE STATUS STATE
lyyb01 up running
Network_Parameters:
INTERFACE STATUS PATH NAME
PRIMARY up 0/0/0/0 lan0
NODE STATUS STATE
lyyb02 up running
Network_Parameters:
INTERFACE STATUS PATH NAME
PRIMARY up 0/0/0/0 lan0
PACKAGE STATUS STATE PKG_SWITCH NODE
demo up running enabled lyyb02
Policy_Parameters:
POLICY_NAME CONFIGURED_VALUE
Failover configured_node
Failback manual
Script_Parameters:
ITEM STATUS MAX_RESTARTS RESTARTS NAME
Service up Unlimited 0 demo
Subnet up 192.168.168.0
Node_Switching_Parameters:
NODE_TYPE STATUS SWITCHING NAME
Primary up enabled lyyb01
Alternate up enabled lyyb02 (current)
(注:CLUSTER、NODE、INTERFACE、PACKAGE的状态都是up和running ,PKG_SWITCH、NODE_TYPE SWITCHING都是enabled,)
5.启动和管理、集群、节点、服务包
#cmruncl 启动集群cluster
#cmhaltcl 关闭集群cluster
#cmrunnode node_name 启动一个或多个节点
#cmhaltnode -f node_name 关闭一个或多个节点
#cmrunpkg pkg_name 启动应用包
#cmhaltpkg pkg_name 关闭应用包
#cmviewcl -v 查看cluster和cluster里节点的信息
#cmmodpkg -e pkg_name 使应用包可被接管、切换
#cmmonpkg -e -n node_name pkg_name 使节点可接管应用包
附录:
mc的监控脚本可以写一个无实质的循环指令,目的在于让命令不执行不间断。可以起一个名为monitor的脚本,在脚本内写入简单的,如:
while [ 1 ]
do
sleep 30
done
阅读(5131) | 评论(0) | 转发(0) |