当集群软件newstart HA部署并上线后,后期维护变得既是重点也是难点,如何管理?出现问题如何处理?这对接触集群软件不深的维护人员来说是首要面对的难题.下面与大家一起深入了解newstart HA,解决这两难题。
管理工具:CLI
Newstart HA提供了命令行下的管理工具cli来对其进行日常管理,所以要想管理好集群软件,必须熟悉它。Cli工具使用很简单,只要了解其操作指令即可,下面来详细讲解。
首先,命令行下直接输入cli即可进入该工具:
# cli NewStartHA High Available System. Version 3.0.1.07, release 20130107. Copyright 2008-2012 Guangdong NewStart Technology Service Ltd. You are using a trial license, and 61 days remain. Please register. Product SN = 00TB24-FC0TCF-629A1H-B00D46 cli:~> |
关于查询提供的管理指令,进入cli工具后双击Tab键会列出所有管理指令,如:
cli:~> alarmIP-modify cluster-show help resource-stop service-modify check-config cluster-start lockdisk-adm service-add service-show check-script cluster-stat modify-config service-delete service-start clear-fault cluster-stop quit service-disable service-stop cluster-init exit resource-critical service-enable show-status cluster-modify heartbeat-add resource-enable service-init thirdpartyip-add cluster-restart heartbeat-delete resource-start service-migrate thirdpartyip-delete |
管理指令简述:
alarmIP-modify:配置SNMP告警监控
cluster-show:显示集群配置
help:查看管理指令的说明及用法,如help + 指令
resource-stop: 停止服务中的某些资源
service-modify:调整服务配置,如增、删和修改服务中某些资源
check-config:检查集群及服务配置文件
cluster-start:启动集群
lockdisk-adm:配置仲裁盘
service-add:增加一个服务
service-show:显示服务详细配置信息
check-script:用于检测HA脚本是否合理的工具,要求全pass.
cluster-stat:持续显示集群状态
modify-config:转换集群及服务配置文件
service-delete:删除一个服务
service-start:启动服务
clear-fault:刷新集群状态显示,重置显示界面
cluster-stop:集群停止
quit/exit:退出cli工具
service-disable:服务脱离集群管控
service-stop:停止服务
cluster-init:集群初始化,刚部署完程序才会用动,后续很少用
resource-critical:设置关键资源
service-enable:集群重新管控服务
show-status:显示一次集群状态
cluster-modify:集群配修改
heartbeat-add:增加心跳链路
resource-enable:服务的脚本资源管控/脱控
service-init:服务初始化
thirdpartyip-add:增加第三方IP,与工作链路同一网段的存在的IP
cluster-restart:集群重启
heartbeat-delete:删除心跳链路
resource-start:启动服务中的脚本资源、
service-migrate:服务手动切换
thirdpartyip-delete:删除第三方IP
从上面列出的指令来看,数量也有几十个,但只需熟悉其中的一些(粗体标识)即可轻松管理好集群软件,为了加深印象,下面结果实际场景来说明。在此之前,有个小技巧要分享一下,指令可以使用tab键补全,不用每个字符敲。
1、查询当前集群运行状态。
指令:cluster-stat/show-status
2、确认当前集群和服务的配置情况。
指令:cluster-show、service-show
3、集群中的机器名称(hostname)需要修改,则需要调整集群及服务的配置文件。
指令:cluster-modify、service-modify
PS:
这两指令是最重要,最常用的,因为配置文件里面涉及的资源都可修改/调整,如增/删浮动IP,修改服务名称,重定义脚本路径等。
4、集群环境中按需求新增/删除一个服务
指令:service-add/service-delete
5、业务需升级,涉及的操作有集群停止、集群启动和升级后的服务进行倒换。
指令:cluster-stop、cluster-start、service-migrate
6、集群软件推出新版本,对其新增功能有需求,需要升级到新版本,但又不想影响业务运行;此需求需要把业务脱离HA管控,待升级后重新管控业务。
指令:service-disable、service-enable
7、原集群中仅有一条心跳链路,存在风险,现需增加一条心跳链路。
指令:heartbeat-add
同样,删除心跳使用指令:heartbeat-delete
8、业务做维护,需要停止,待检查完成后再手动启动
指令:service-stop、service-start
故障处理
运行的系统难免会出现一些“意外”,这也是维护人员存在的原因,那针对集群环境,在遇到故障时如何排查?如何分析?如何处理?首先,当出现可能性故障时,先登陆cli管理工具查看集群运行状态,一般情况下可以从状态图看出哪方面出现问题。举个例子:假如业务tomcat 运行在1节点上,下面有人反应某个时间点出现过业务系统登陆不上的情况,登陆cli查看集群运行状态,如:
Press Ctrl-C or 'Q' to exit Date: Tue May 14 13:54:07 2013 Member status centos6-1 UP centos6-2 UP WorkLink centos6-1 centos6-2 eth0 ONLINE ONLINE HeartbeatLink centos6-1 centos6-2 status network eth1 eth1 ONLINE network eth2 eth2 ONLINE ServiceName centos6-1 centos6-2 Enable *tomcat stopped:stu(A) running YES str start fail, stp stop fail, stu status fail, op operation fail, G Gateway A Application, I IP, M Mount, S Storage, W Work link,T Time out B Split Brain |
从上面状态图可以看到,集群节点、工作链路和心跳链路都是正常的(up或online),但服务tomcat现已切换到2节点,1节点tomcat停止,报stu(A),查看最后两行的简述得知业务的状态检测发现业务(应用)异常,并已成功倒换,这时候就要查看业务的日志定位具体异常原因并做出处理。
从集群状态图中可以了解集群运行状态及故障出现原因的大体定位,但很多时候需了解当时详细情况,这就需要分析HA(ha-log)及系统(messages)的相关日志。messages日志相信大家都不陌生,这里就不多说,下面来了解一下HA的日志.
HA日志级别分为四级:错误(error/ERROR),警告(warn/WARN),信息(info),调试(debug/DEBUG),我们主要关注其中的错误及警告级信息(这些信息打印挺简单,阅读起来也挺容易的),其它两级日志较次要,可以跳跃查看/不看。同时,HA日志打印的信息量较大,在比较紧急情况下,还是建议直接发给HA专业人员分析,以便快速定位;日志分析有时需要结合其它资料来看,如配置文件,系统相关信息等,为了方便收集分析所需的全部资料,HA提供了名为hareport的资料收集工具,使用方法的话,在命令行下输入工具名称,然后直接运行即可。
先与大家分享这些,希望对你有所帮助,同时相信了解并熟悉以上两块的知识后,后期集群维护工作也会变得容易起来。