xuanxi 发表于 2015-10-6 09:34:19

HP-UX MC/SG安装详细参考手册

  一、      配置MC的基本过程
本表仅供参考:
建立 /.rhosts, 使root对两机的所有资源都有所需的权限
建立Cluster的配置文本:
      /etc/cmcluster/config.d
建立pkg1:
      /etc/cmcluster/pkg1/pkg1.conf
      /etc/cmcluster/pkg1/pkg1.cntl
      /etc/cmcluster/pkg1/service1
同步两机的MC配置文件:
      rcp -r /etc/cmcluster MachineB:/etc
检查配置是否正确:
      cmcheckconf -v -C /etc/cmcluster/cmclconf -P /etc/mcluster/pkg0/pkg0.conf \
      -P /etc/cmcluster/pkg1/pkg1.conf
编译、分发配置:
      cmapplyconf -v -C /etc/cmcluster/cmclconf -P /etc/cmcluster/pkg0/pkg0.conf \
      -P /etc/cmcluster/pkg1/pkg1.conf
修改LVM启动文件 /etc/lvmrc
      AUTO_VG_ACTIVATE=0
      使VG00,VG01,VG02不随系统的启动便置为可用
修改 /etc/hosts增加对pkg0和pkg1浮动地址的定义:
      pkg0 132.97.4.12
      pkg1 132.97.4.14
修改MC/ServiceGuard启动文件 /etc/rc.config.d/cmcluster
      AUTOSTART_CMCLD=1
检查/etc/rc.config.d/nfsconf,参数值应设置如下:[没必要]
      NFS_CLIENT=0
      NFS_SERVER=0
同步两机的相关的配置文件:
      /.rhosts
      /etc/lvmrc
      /etc/rc.config.d/nfsconf
      /etc/rc.config.d/cmcluster
      /etc/passwd
      /etc/group
      /etc/hosts
      /etc/cmcluster/*
运行cluster:
      cmruncl -v
      cmviewcl –v
检查LOG:
      /etc/cmcluster/pkg1/control.sh.log
      /var/adm/syslog/syslog.log

二、      关于本文
编写本文的目的
公司的技术人员,根据该模板均能成功安装配置统一风格、符合FR规范的MC高可用系统,通过本文档,系统管理员可对双机的基本概念有一定的了解;可完成双机的安装配置、日常管理、监控等任务。
规则定义及说明
主机命名规则:
本文的主机名分别是:node1和node2;并用蓝色表示该名称可随不同环境改变。
其他说明:
本文所有蓝色字符均为根据不同环境修改的;而褐色部分则为可选内容,即这些操作可根据用户实际需要选择;红色表示重要部分。
三、      安装软件
      安装MC/ServiceGuard软件。
      安装Database Toolkits软件
      (安装后位于/opt/cmcluster/toolkit/<Database>目录内)。
      使用swinstall命令进行上述安装。
四、      准备系统
建立主机信任关系
      编辑安全控制文件/.rhosts:包含其他节点的根用户授权,如
      node1      root
      node2      root
启动时间同步进程
      建议在各个节点上面激活NTP(xntpd进程),编辑/etc/ntp.conf文件。
      (注:该项可以跳过)
五、      网卡准备
    硬件要求:每台服务器三块网卡(lan0、lan1、lan2)或两块网卡(lan0、lan1)加RS232串口(只有在双节点群集中使用),其中lan0作为主机的主网卡 ,作为数据通讯用,而lan1作为lan0的备份网卡,lan2(RS232)作为心跳信号通讯;[光两块网卡也可以,数据和心跳走一条线]
    网卡配置:网卡的配置在/etc/rc.config.d/netconf文件中定义。
      注意,在此文件中应将主网卡进行配置,而备份网卡不能配置IP地址。
六、      准备磁盘
      (关键是共享磁盘--如:磁盘阵列)
创建逻辑卷(LV)结构
创建root盘的镜像
      如果不需要的话,可以不做(只能使用命令完成,不能使用SAM)
      建立bootable LVM,以备作为root盘的镜像:
      # pvcreate -B /dev/rdsk/cxtydz 
      加入root VG:
      # vgextend /dev/vg00 /dev/dsk/cxtydz 
      将新盘作成boot盘:
      # mkboot /dev/rdsk/cxtydz 
      将AUTO File复制到新盘的LIF区内:
      # mkboot -a “hpux (disk;0)/stand/vmunix” \
      /dev/rdsk/cxtydz 
      对root和primary swap LV在新盘上做镜像(注意,应将VG00中的所有设备均做镜像,如/usr、/swap等):
      # lvextend -m 1 /dev/vg00/lvol1 /dev/dsk/cxtydz 
      更新BDRA中的boot信息:
      # /usr/sbin/lvlnboot -v -r /dev/vg00/lvol1 
      # /usr/sbin/lvlnboot -s /dev/vg00/lvol2 
      检查BDRA是否正确:
      # /usr/sbin/lvlnboot -R /dev/vg00 
      确认镜像的正确性:
      # lvlnboot -v 
      
创建卷组(VG)和逻辑卷(LV)
注:(可以使用SAM或命令方式)
      选择VG所使用的磁盘(得到每个节点上可以看见的磁盘,识别出共享磁盘一般表现为磁盘阵列设备文件),在每个节点上面均执行下面的命令,列出每个节点可见的磁盘设备:
      # lssf /dev/dsk/*d0 
      在节点1上面创建物理卷(PV)
      # pvcreate /dev/rdsk/c1t2d0 
      # pvcreate /dev/rdsk/c0t2d0 
      在节点1上面创建卷组(VG)
      创建卷组目录
      # mkdir /dev/卷组名 
      在卷组目录内创建卷组控制文件
      # mknod /dev/卷组名/group c 64 0xhh0000 
      (其中,主设备号总是64,次设备号以16进制数0xhh0000表示,hh必须在系统内唯一,使用系统中下一个可用的数值。使用下面的命令可以得到系统中已经存在的卷组:
      # ls -l /dev/*/group )
      创建卷组并将物理卷加入其中
      # vgcreate /dev/卷组名 /dev/dsk/c1t2d0 
      # vgextend /dev/卷组名 /dev/dsk/c0t2d0 
      重复上述步骤创建其他卷组
      在节点1上面创建逻辑卷(LV)
      # lvcreate -L 12 /dev/卷组名 
      在节点1上面创建文件系统(如果需要)
      在新建的逻辑卷上面创建文件系统
      # newfs -F vxfs /dev/卷组名/rlvol1 
      创建mount目录点
      # mkdir /mnt1 
      Mount文件系统以检查正确性
      # mount /dev/卷组名/lvol1 /mnt1 
修改卷组属性
   在node1上deactivate 卷组:
      # umount /mnt1 
      # vgchange -a n /dev/卷组名 
      
在另一台主机上设置VG
(只能使用命令方式完成)
1)      在节点1上面,生成卷组映像文件
      #vgchange –c y /dev/卷组名       //改为cluster模式
      # vgexport -v –s -p -m /tmp/卷组名.map /dev/卷组名 
2)      在节点1上面,将卷组映像文件复制到节点2
      # rcp /tmp/卷组名.map node2:/tmp/卷组名.map 
3)      在节点2上面,创建卷组目录
      # mkdir /dev/卷组名 
4)      在节点2上面,创建卷组控制文件
      # mknod /dev/卷组名/group c 64 0xhh0000 
5)      在节点2上面,使用从节点1复制的卷组映像文件中的信息建立卷组结构
      # vgimport -v –s -m /tmp/卷组名.map /dev/卷组名 \ 
          /dev/dsk/c1t2d0 /dev/dsk/c0t2d0 
      (注意,在节点2上面的设备文件名字可能与节点1上面不同,必须确认)
6)      在节点2上面激活卷组
      # vgchange -a y /dev/卷组名 
7)      创建mount目录点
      # mkdir /mnt1 
8)      Mount文件系统以检查正确性
      # mount /dev/卷组名/lvol1 /mnt1 
9)      Umount文件系统
      # umount /mnt1 
10)      Deactivate VG
      # vgchange -a n /dev/卷组名 
      
创建其他卷组结构
重复上述步骤,创建其他卷组结构
所有卷组创建完成后
编辑/etc/lvmrc文件,保证在系统启动时不自动激活与CLUSTER有关的卷组(将AUTO_VG_ACTIVATE置为0,并确认root卷组包含在custom_vg_activation函数内)。这些卷组将在应用包的control.sh文本中激活。
      
最后步骤
配置MC/ServiceGuard双机前的最后步骤
      在配置节点(节点1)上激活所有卷组
      # vgchange -a y /dev/卷组名 
      
七、      配置CLUSTER
      (可以使用SAM或命令方式完成)
生成CLUSTER配置文件模板[可以用现成的改]
      # cmquerycl -v -C /etc/cmcluster/cmclconf.ascii -n node1 \ 
         -n node2 
      
编辑CLUSTER配置文件模板
      
      CLUSTER_NAMEcluster1                                           #CLUSTER的名字
      
      FIRST_CLUSTER_LOCK_VG/dev/vg01                        #LOCK卷组,集群解体,各节点谁先抢到Lock VG就有谁重组集群。
      
      NODE_NAMEnode1                                                                #节点名字
          NETWORK_INTERFACElan1
            HEARTBEAT_IP15.13.171.32                              #lan1是HEARTBEAT网络
          NETWORK_INTERFACElan2                                        #lan2是备份网络
          NETWORK_INTERFACElan0                                        #[此网卡不配也可]
            STATIONARY_IP192.6.143.10                            #lan0的静态IP地址
          FIRST_CLUSTER_LOCK_PV /dev/dsk/c1t2d0            #LOCK盘的物理卷名字
      # SERIAL_DEVICE_FILE/dev/tty0p0                        #RS232串行HEARTBEAT线路
      
      NODE_NAMEnode2
          NETWORK_INTERFACElan1
            HEARTBEAT_IP15.13.171.30                //心跳
          NETWORK_INTERFACElan2                        //备份
          NETWORK_INTERFACElan0                        //数据
            STATIONARY_IP192.6.143.20
          FIRST_CLUSTER_LOCK_PV /dev/dsk/c1t2d0
      # SERIAL_DEVICE_FILE/dev/tty0p0
      
      HEARTBEAT_INTERVAL1000000
      NODE_TIMEOUT2000000
      
      AUTO_START_TIMEOUT600000000
      NETWORK_POLLING_INTERVAL2000000
      
      VOLUME_GROUP/dev/vg01
      VOLUME_GROUP/dev/vg02                                        #注:所有CLUSTER相关的卷组都要在此写出
      
检查CLUSTER配置的正确性
(强烈建议:任何时候对双机配置文件做过改动,重新启动双机之前必须进行配置的检查)
      # cmcheckconf -v -C /etc/cmcluster/cmclconf.ascii 
      
设置自动启动参数
      编辑文件/etc/rc.config.d/cmcluster,将参数AUTOSTART_CMCLD设为1,则在系统自举时自动启动CLUSTER。
      
八、      配置Package和Services
(可以使用SAM或命令方式完成)
创建子目录
在/etc/cmcluster中为每个Package创建子目录
      # mkdir /etc/cmcluster/pkg1 
      # mkdir /etc/cmcluster/pkg2 
      
建立配置文件模板
为每个Package建立一个配置文件模板
      # cmmakepkg -p /etc/cmcluster/pkg1/pkg1conf.ascii 
      # cmmakepkg -p /etc/cmcluster/pkg2/pkg2conf.ascii 
      
编辑配置文件模板
编辑Package配置文件,根据实际需要修改相关项:
      PACKAGE_NAMEpkg1                                                      
      
      NODE_NAMEnode1                                                                主节点
      NODE_NAMEnode2                                                                备份节点
      
      RUN_SCRIPT/etc/cmcluster/pkg1/control.sh                Package启动脚本
      RUN_SCRIPT_TIMEOUTNO_TIMEOUT
      HALT_SCRIPT/etc/cmcluster/pkg1/control.sh                Package停止脚本
      HALT_SCRIPT_TIMEOUTNO_TIMEOUT
      
      SERVICE_NAMEservice1                              对每个service重复此3行定义
      SERVICE_CMD[]
      SERVICE_FAIL_FAST_ENABLEDNO                Service是标识应用avalible与否的。      
      SERVICE_HALT_TIMEOUT300
      
      SUBNET15.16.168.0                                        Package对应的子网(可以多个)。虚拟IP的子网。各个不同的Package间子网可以相同。此子网和真实的子网必须一致。虚拟IP在control.sh中指定。
      
      PKG_SWITCHING_ENABLEDYES
      NET_SWITCHING_ENABLEDYES
      NODE_FAIL_FAST_ENABLEDNO
      
建立控制脚本的模板
建立Package控制脚本的模板
      # cmmakepkg -s /etc/cmcluster/pkg1/control.sh 
      
控制脚本模式设置
将Package控制脚本设为可执行模式
      # chmod +x /etc/cmcluster/pkg1/control.sh 
      
编辑控制脚本
      编辑修改Package控制脚本时注意进行以下工作:
      在PATH中增加启动service所需要的路径
      增加需要激活的卷组名字
      增加需要mount的文件系统和逻辑卷的名字
      定义IP地址和子网
      增加service名字
      增加service命令
      注意函数start_services和halt_services中启动和停止service使用的脚本参数,保证service启动和停止命令的正确性
检查并分发配置文件
      将Package控制脚本复制到其他节点
      # rcp /etc/cmcluster/pkg1/control.sh \ 
            node2:/etc/cmcluster/pkg1/control.sh 
      检查CLUSTER配置(强烈建议:任何时候对双机配置文件做过改动,重新启动双机之前必须进行配置的检查)
      # cmcheckconf -C /etc/cmcluster/cmclconf.ascii \ 
            -P /etc/cmcluster/pkg1/pkg1conf.ascii \ 
            -P /etc/cmcluster/pkg2/pkg2conf.ascii 
      停止Cluster
      生成并分发二进制CLUSTER配置文件
      # cmapplyconf -v -C /etc/cmcluster/cmclconf.ascii \ 
            -P /etc/cmcluster/pkg1/pkg1conf.ascii \ 
            -P /etc/cmcluster/pkg2/pkg2conf.ascii 
      启动Cluster
九、      管理Cluster和Package
管理Cluster和节点
启动Cluster
      # cmruncl -v 
      # cmruncl -v -n node1 -n node2 
在已运行的Cluster中增加一个节点运行
      # cmrunnode -v node2 
在已运行的Cluster中停止一个节点运行
      # cmhaltnode -f -v node2 
停止整个Cluster
      # cmhaltcl -f -v 
对Cluster进行重新配置
      停止整个Cluster
      如果要改变CLUSTER LOCK VG,则
      # vgchange -c n vg01 
      # vgchange -a y vg01 
      重新进行配置工作
      cmapplyconf
      cmruncl
管理Package和Service
启动Package
      # cmrunpkg -n node1 pkg1 
      # cmmodpkg -e node1 pkg1  //把切换属性置为yes.故障发生后可以自动切换。很重要!!
停止Package,不切换
      # cmhaltpkg pkg1 
移动Package
      # cmhaltpkg pkg1 -n node1 
      # cmrunpkg -n node2 pkg1 
      # cmmodpkg -e pkg1 //让package可以切换
对Package进行重新配置
      停止整个Cluster
      修改配置文件
      修改control.sh文件(注意保证所有节点一致)
      cmapplyconf
      cmruncl
查看运行情况
      # cmviewcl -v 
十、      测试Cluster配置
测试Package Manager
1)      得到service的pid(使用ps -ef命令)
2)      杀死service进程(使用kill命令)
3)      使用cmviewcl -v命令查看状态
4)      将Package移动回原节点
5)      对数据库系统的测试可以根据具体情况进行
测试Cluster Manager
1)      关闭一个节点的电源
2)      使用cmviewcl -v命令查看状态
3)      打开节点的电源
4)      使用cmviewcl -v命令查看状态
5)      将Package移动回原节点
6)      对数据库系统的测试可以根据具体情况进行
测试Network Manager
1)      使用lanscan命令得到主/备网络信息
2)      使用cmviewcl -v命令查看状态
3)      从主网卡上拔掉网线
4)      使用cmviewcl -v命令查看状态(应完成本地网络切换)
5)      重新连接网线
6)      使用cmviewcl -v命令查看状态
激活VG的方式
1)      独占方式
#vgchange –a e /dev/vgxx                              //以独占方式激活
2)      普通方式
#vgchange –c n /dev/vgxx
#vgchange –a y /dev/vgxx
十一、      故障诊断方法
1、      检查Cluster和Package状态
      使用cmviewcl -v命令
2、      检查RS232状态
      使用cmviewcl -v命令
3、检查Package IP地址
      使用netstat -in命令
4、查看LOG文件
      /var/adm/syslog/syslog.log
      /etc/cmcluster/pkg1/control.sh.log
5、查看Cluster和Package配置文件
6、查看Package控制脚本文件(control.sh)
7、使用cmquerycl和cmcheckconf命令检查配置的合法性
8、检查LAN配置情况
      # netstat -in
      # lanscan
      # arp -a
      # landiag
      # linkloop
      # /usr/contrib/bin/cmgetconfig -f
      # cmviewcl -v
附:一些有用的系统命令
查看硬件配置情况
      # /usr/sbin/dmesg
      # /usr/sbin/ioscan
      # /usr/sbin/lssf /dev/rdsk/c0t5d0
      # diskinfo /dev/rdsk/c0t5d0
      # swapinfo 
      # lanscan 
配置LAN
      # /sbin/set_parms hostname
      # /sbin/set_parms ip_address
      编辑etc/hosts 文件
      reboot
      或
      # /sbin/set_parms initial(根据提示操作)
创建新文件系统
      # newfs -F hfs <char_device_filename> 
      # mkdir /mountpoint 
      # mount <block_device_filename> /mountpoint 
      Edit /etc/fstab file
扩充HFS文件系统
      # umount /mountpoint 
      # lvextend -L 400 <block_device_filename> 
      # extendfs <block_device_filename> 
      # mount <block_device_filename> /mountpoint 
移动文件系统
      # newfs -F hfs /dev/vg01/rlvol1 
      # mkdir /home.new 
      # mount /dev/vg01/lvol1 /home.new 
      # cd /home 
      # find . | cpio -pdumv /home.new 
      # rm -rf /home/* 
      # umount /home.new 
      # mount /dev/vg01/lvol1 /home 
      # rmdir /home.new 
文件系统日常维护
      /var/adm/wtmp
      /var/adm/btmp
      /var/adm/sulog
      /var/adm/cron/log
      /var/spool/mqueue/syslog
      /var/spool/mqueue/senmail.st
      /var/spool/uucp/.Admin/*
      /usr/spool/uucp/.Log/*
      /var/adm/lp/log
      /var/adm/messages
      /var/adm/sw/swinstalllog
      /var/adm/sw/swremovelog
      /var/adm/sw/sw*.log
删除core文件
      # find / -name core -exec rm {} 
将磁盘从一个卷组移到另一个卷组
      # pvmove /dev/dsk/c3t2d0 
      # vgreduce /dev/vg01 /dev/dsk/c3t2d0 
      # vgextend /dev/vg02 /dev/dsk/c3t2d0 
PV-Link(物理卷链路)配置
只在主链路上面执行pvcreate。
在创建卷组时将所有链路包含在vgcreate命令的参数内。
在已有的卷组中增加PV-Link:vgextend vgXX /dev/dsk/<new_link>
在已有的卷组中删除PV-Link:vgreduce vgXX /dev/dsk/<new_link>
手工启动HP-UX
进入ISL界面:
      Boot from primary boot path > n 
      Boot from alternate boot path > n 
      Enter boot path > 52.6.0 
      . . .
      Interact with ISL > y 
      ISL> hpux (;0)/stand/vmunix 
进入单用户状态
      ISL> hpux -is (;0)/stand/vmunix 
安装软件时检查swagentd是否启动
(单用户时不会自动启动)
      # /sbin/init.d/swagentd start 
软件打包到磁带(swinstall格式)
      # swcopy到/var/spool/sw(或其他目录)
      # swpackage -s /var/spool/sw -d /dev/rmt/0m \ 
         -x target_type=tape 
杀死指定名字的进程
      # ps -e | awk “/name1|name2/ {print \“ kill -9 \“ \$1} “ |sh 
检测INFORMIX SERVER状态
在SHELL中检测INFORMIX SERVER状态是否为ON-LINE
      if ( ! ( onstat -p | grep -E “On_Line“ > /dev/null 2>&1 ) ) ; then
      . . .
      fi
页: [1]
查看完整版本: HP-UX MC/SG安装详细参考手册