| 天堂之怒 回复于:2003-02-27 17:21:33 |
| MC/ServiceGuard命令详解
1 cmruncl手工启动双机软件 #cmruncl [-f] [-v] [-n NN...] [-f] Force cluster startup without warning message [-v] Verbose output [-n ] specific name(s) of node(s) to 2 cmhaltcl停止MC 配置MC/ServiceGuard之后,数据库和应用进程的停止都可用MC的命令来执行: 望shutdown 主机后,MC的进程自动停下来则:将/etc/rc.config.d/cmcluster 文件内的 AUTOSTART_CMCLD参数改为1 AUTOSTART_CMCLD置0(缺省),则在shutdown主机之前注意一定要先停下MC的进程,否则下一次启动MC将因逻辑卷状态不对而不能正常执行。 3 cmviewcl监视MC的运行状态 当MC启动之后,您可以用cmviewcl命令来显示MC的运行状态: 回显信息说明: 1、CLUSTER STATUS 分别描述群集的名字和状态; 2、NODE STATUS STATE 分别描述主机的名字、状态和应用包状态; 3、Network_Parameters的INTERFACE STATUS PATH NAME分别描述网卡的主备、状态、物理地址和名字,其中物理地址可能各点是不相同的,LAN0是应用网,LAN1是LAN0的备份,LAN2是MC的心跳网络; 4、 PACKAGE STATUS STATE PKG_SWITCH NODE分别描述应用包的名字、状态(STATUS,STATE)、是否可切换以及运行的节点; 5、 Script_Parameters的ITEM STATUS NAME MAX_RESTARTS RESTARTS 分别描述监控程序和子网的名字、状态等; 6、 Node_Switching_Parameters的 NODE_T YPE STATUS SWITCHING NAME 分别描述该应用包运行的主备节点、状态、是否接纳应用包的切换,以及主备结点的名字和应用包当前运行的主机。 4 cmhaltnode停止指定节点的MC的进程 本命令将停止指定主机的MC的后台进程,其结果是导致应用程序的切换。本命令可用以不停应用的系统升级、应用调整或参数调整。 例如:要将B机的应用切换到A机上,可在B机上执行以下命令: #cmhaltnode -f -v 5 cmrunnode启动指定节点的MC的进程 本命令是启动指定主机的MC进程,但是它不会启动PKG(即应用程序)。比如,紧接上一个命令的结果,当B机的调整完成之后,我们又希望重新将B机加入到Cluster群集中去,可在B机上执行以下命令: #cmrunnode -v 6 cmhaltpkg停止指定的应用包 本命令可以停止指定的应用包(即pkg),但是它不会导致应用包的切换。如在已有两个应用包的CLUSTER群集中停止pkg1的运行,则在pkg1的运行机上执行以下命令: #cmhaltpkg -v pkg1 Halting Package pkg1 cmhaltpkg : Suclearcase/" target="_blank" >ccessfully halted pkg1. cmhaltpkg : completed successfully on all packages specified. 7 cmrunpkg启动指定的应用包 本命令可以启动指定的应用包(即pkg),如在CLUSTER群集中启动pkg2,则在希望pkg2运行的主机上执行以下命令: #cmrunpkg -v pkg2 8 cmmodpkg改变指定应用包的切换属性 本命令可以改变应用包的切换属性。如,接着上一条命令,现在想将pkg1的切换属性改成enable,您可在pkg1的运行主机上执行以下命令: #cmmodpkg -e pkg1 |
| aswellas 回复于:2003-02-27 18:42:58 |
| 感激!
感动! 赶快学! |
| tibetman 回复于:2003-03-13 12:38:16 |
| clic老大,怎么没有图啊? |
| wdbj 回复于:2003-03-13 12:49:15 |
| 能用中文把MC/SG的原理讲的这么清楚也算不容易了,感谢 |
| spring_y 回复于:2003-03-13 15:47:24 |
| 感动的是痛哭流涕 |
| bsdfan 回复于:2003-03-13 17:20:02 |
| rc |
| hpux 回复于:2003-03-14 08:59:13 |
| HP MC/ServiceGuard的安装和配置
1. 安装前系统的准备: MC/ServiceGuard使用ARPA服务来保证在集群系统内每个节点之间的通讯安全。在安装之前,你必须指明集群系统中的每一台机器都可以被另外一台机器以root的身份访问。 除了使用操作系统本身的配置文件/.rhosts来定义可访问主机外,MC/ServiceGuard也指定另外一个文件/etc/cmcluster/cmclnodelist来定义,MC/ServiceGuard将首先检查这个文件是否存在,存在就使用这个文件中定义的主机列表,否则就使用配置文件/.rhosts cmclnodelist文件的输入格式是:[主机名] [用户] [注释],下面是一个例子: node1 root node2.sys.dom.com root 将这个配置文件(或者.rhosts)拷贝到每一个主机。MC/ServiceGuard支持主机名为完整的域名。 然后,检查你的集群系统中的每个主机的操作核心是否一致。因为必须保证在一个节点出问题的时候程序被转移到另外一个节点是能够有相同的运行环境。 当然,强烈推荐你使用NTP服务来保证每个节点的时间保证同步。NTP服务的监听进程为xntpd,配置文件是/etc/ntp.conf。 2. 安装MC/ServiceGuard 假设你已经安装了HP-UX 11.0。在每个节点按下面的步骤安装MC/ServiceGuard: 1) 加载MC/ServiceGuard分发的载体设备,磁带机或者光驱等; 2) 进入安装目录,使用命令swinstall来,运行软件的安装; 3) 选择正确的输入设备(你使用光驱安装的话就选择CD-ROM了); 4) 在所显示的列表中选择包:B3935BA MC/ServiceGuard 5) 选择了包后,选择OK; 6) 在每个节点上使用ioscan命令核实一下磁盘和驱动器是否被正确配置了。 通常情况下,如果你对HP-UX并不是很陌生的话,这个应该是没有问题了。 3. 为跟逻辑卷建立镜相 假设主盘为/dev/dsk/c4t5d0,其镜相盘是/dev/dsk/c4t6d0,(你的系统中通常不会是这样的,下面的操作请使用你自己的主盘名字) 1) 建立将被用作镜相的可启动LVM盘: # pvcreate –B /dev/rdsk/c4t6d0 2) 将这个盘添加到当前跟卷组中: # vgextend /dev/vg00 /dev/dsk/c4t6d0 3) 把它设置为启动盘: # mkboot /dev/rdsk/c4t6d0 4) 将正确的AUTO文件拷贝到新的LIF区域: # mkboot –a “hpux –l q (;0) /vmunix” /dev/rdsk/c4t6d0 5) 将引导卷、主卷和主交换分区镜相到这个新的可引导磁盘上去,确定在vg00目录下的所有设备都被镜相(比如说/usr,/swap等等): # lvextend –m 1 /dev/vg00/lvol1 /dev/dsk/c4t6d0 # lvextend –m 1 /dev/vg00/lvol3 /dev/dsk/c4t6d0 # lvextend –m 1 /dev/vg00/lvol2 /dev/dsk/c4t6d0 等等,必须保证引导逻辑卷首先被镜相。 6) 为镜相的卷更新在BDRA中的启动信息: # /usr/sbin/lvlnboot –b /dev/vg00/lvol1 (启动) # /usr/sbin/lvlnboot –v –r /dev/vg00/lvol3 # /usr/sbin/lvlnboot –s /dev/vg00/lvol2 (交换) 7) 检查BDRA是否正确: # /usr/sbin/lvlnboot –R /dev/vg00 8) 检查镜相是否正确创建; # lvlboot –v 4. 将一个节点上的磁盘卷组“搬”到另外一个节点上去 假设节点ftsys9上已经配置好了磁盘分区、卷组等,现在我们要在节点ftsys10上建立同样的卷组。 1) 将ftsys9上的卷组映象文件考到指定文件中: # vgexport –p –s –m /tmp/vgdatabase..map /dev/vgdatabase 2) 仍然在ftsys9节点上,将这个文件考到ftsys10节点去: # rcp /tmp/vgdatabase.map ftsys10: /tmp/vgdatabase.map 3) 在ftsys10节点上,建立卷组目录: # mkdir /dev/vgdatabase 4) 在ftsys10节点上,在/etc/vgdatabase目录下建立一个叫group的控制文件: # mknod /dev/vgdatabase/group c 64 0xhh0 0 0 0 5) 在ftsys10节点上导入ftsys9节点上的卷组数据: # vgimport –s –m /tmp/vgdatabase.map /dev/vgdatabase 6) 检查/etc/lvmpvg文件中每个物理卷是否都是ftsys10节点上的物理卷名字。 7) 起用ftsys10上的卷组: # vgchange –a y /dev/vgdatabase 8) 建立一个目录来加载磁盘: # mkdir /mnt1 9) 加载并且校验ftsys10上的卷组: # mount /dev/vgdatabase/lvol1 /mnt1 5. 使用MC/ServiceGuard命令来配置集群系统 在节点ftsys9上运行命令cmquerycl # cmquerycl –v –c /etc/cmcluster/cmclconf.ascii –n ftsys9 –n ftsys10 通常这是个很重要的命令,这个命令将定义生成由ftsys9和ftsys10两个节点组成的一个集群系统的配置文件,典型的文件情况请参考其他资料(呵呵,有点长,懒的输入了)。 # cmquerycl –v –n ftsys9 –n ftsys10 上面这个命令可以得到集群系统磁盘错误的次数。 更多细节还可以使用man cmquerycl命令来看帮助文件。 6. 校验、分配集群系统配置文件 本来SAM可以自动帮助你校验集群系统的配置是否正确,但是如果你是直接编辑的配置文件的话,下面这个命令对你是很有帮助的: # cmcheckconf –v –c /etc/cmcluster/cmclconf.ascii 这个命令实际上是检查以下内容: 1) 网络地址和网络连接是否有效; 2) 集群锁是否正确设置并且可访问; 3) 名字是否唯一,节点是否可以访问; 4) 命令行的脚本是否存在和允许运行; 5) 是否每个节点都被设置到同一个heartbeat的子网中; 6) 是否只有一个CLUSTER_NAME(集群系统的名字)、HEARTBEAT_INTERVAL(heartbeat message时间间隔)、AUTO_START_ TIMEOUT被设置; 7) HEARTBEAT_INTERVAL的值最小是1秒(注意:配置文件中的单位是毫秒); 8) NODE_TIMEOUT的值至少是HEARTBEAT_INTERVAL值的两倍; 9) AUTO_START_ TIMEOUT合法值应该大于0; 等等其他,在此只介绍以上比较容易出问题的地方。在这个集群系统配置文件被校验正确后,前面已经说到,要让MC/ServiceGuard正确运行,在每个节点上都应有同样的这个配置文件。使用HP-UX命令来分配这个配置文件: 首先获得集群锁并且初始化: # vgchange –a y /dev/vglock 然后分配出去: # cmapplyconf –v –C /etc/cmcluster/cmclconf.ascii \ –P /etc/cmcluster/pkg1/pkg1conf.ascii 最后释放集群锁: # vgchang –a n /dev/vglock 7. 测试集群系统的运行状况: MC/ServiceGuard提供了几个命令来控制集群系统和检测系统运行状况: 1) cmrunnode:启动一个节点; 2) cmhaltnode:停止一个节点;(相当于shutdown ) 3) cmruncl:启动一个停止的集群系统; 4) cmhaltcl:停止一个运行的集群系统; 5) cmdeleteconf:删除集群配置文件;(非常危险的命令,除非是确实需要) 8. 建立使用MC/ServiceGuard建立一个程序包: 使用命令cmmakepkg来建立一个程序包配置文件(建议使用模板文件修改)。这里解释配置文件里面的几项内容的意义: 1) NODE_NAME:把每一个节点的名字都输入,一个节点一行; 2) RUN_SCRIPT和HALT_SCRIPT:启动、停止程序包时运行脚本的路径; 3) RESOURCE_POLLING_INTERVAL:检查资源是否健全的时间间隔; 程序包配置文件的检查和分配跟集群系统配置文件的过程相似。 9. 集群系统的重新配置: 在一些情况下你需要重新配置你的集群系统,但是有几点必须注意: 1) 在系统运行状态你不能改变集群锁的磁盘配置; 2) 不能直接把一个正在运行程序的节点从集群系统中拿走,必须先停止它的运行; 3) 不能直接把一个正在使用的磁盘卷组从配置文件中去掉,必须先停止使用该资源的程序包,然后才可以去除; 4) 不能改变集群系统的时间参数; 下表可以帮助提醒改变配置时应该满足的条件: >'>改变集群系统的配置类型 >'>需要满足的集群系统的状态 >'>增加一个节点 '>所有的节点都必须在运行;串行heartbeat没有被改变配置 '>删除一个节点 '>停止节点。即便在该节点不可访问和不可用的情况下也可以删除 '>改变最大的程序包配置 '>集群系统不能正在运行 '>集群系统的时间参数 '>集群系统不能正在运行 '>改变集群锁配置 '>集群系统不能正在运行 >'>改变串行设备文件 >'>集群系统不能正在运行 >'>改变heartbeat或者监控用的子网 >'>集群系统不能正在运行 |
| lsw 回复于:2003-03-14 10:08:31 |
| 谢谢 |
| zhouyb 回复于:2003-03-14 10:56:54 |
| 很好很好。 |
| ovo 回复于:2003-04-02 10:41:55 |
| 问楼上的大侠们一个问题:装过HP MC/SG OPS 版本吗? HP MC/SG 和 MC/SG OPS 版本是不是需要用两个不同的codeword去解开安装? |
| byh 回复于:2003-05-29 13:40:21 |
| VERY NICE
VREY NICE !!!!!! |