Chinaunix首页 | 论坛 | 博客
  • 博客访问: 663094
  • 博文数量: 109
  • 博客积分: 6081
  • 博客等级: 准将
  • 技术积分: 1318
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-24 10:28
文章分类
文章存档

2011年(8)

2010年(39)

2009年(62)

分类:

2009-10-24 11:02:21

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) |
给主人留下些什么吧!~~