Linux高可用性方案之Heartbeat的日常维护命令(原创)

crm_resource 
crm_resource命令对资源执行各种资源相关的操作。它可以修改已配置资源的定义、启动和停止资源,以及在节点间删除和迁移资源。
crm_resource  [-?|-V|-S] -L|-Q|-W|-D|-C|-P|-p [options]
示例
列出所有资源:
crm_resource -L 
检查正在运行资源的位置(以及是否在运行):
crm_resource -W  -r my_first_ip 
如果 my_first_ip 资源正在运行,此命令的输出中会显示正在运行资源的节点。如果资源没有在运行,输出中会显示此情况。
启动或停止资源:
crm_resource  -r  my_first_ip -p   target_role -v   started 
crm_resource  -r  my_first_ip -p   target_role -v   stopped 
查询资源的定义:
crm_resource  -Q  -r my_first_ip 
将资源迁离当前位置:
crm_resource  -M  -r  my_first_ip 
将资源迁移到指定的位置:
crm_resource  -M  -r  my_first_ip -H   c001n02 
允许资源返回其常规位置:
crm_resource -U  -r  my_first_ip 
注: resource_stickiness 和 default_resource_stickiness 的值可能会意味着资源没有移回。在这种情况下,应先使用 -M 将资源移回,再运行此命令。
从 CRM 删除资源:
crm_resource   -D  -r   my_first_ip -t primitive 
从 CRM 删除资源组:
crm_resource -D  -r  my_first_group -t group 
为 CRM 中的资源禁用资源管理:
crm_resource -p is-managed -r my_first_ip -t primitive -v off 
为 CRM 中的资源启用资源管理:
crm_resource  -p  is-managed -r my_first_ip -t primitive -v on 
在手动清理后,重设置有故障的资源:
crm_resource -C  -H   c001n02 -r   my_first_ip 
重新检查所有节点,以找出从 CRM 之外启动的资源:
crm_resource  -P 
重新检查一个节点,以找出从 CRM 之外启动的资源:
crm_resource  -P  -H c001n02 
crm_resource的详细参数配置可参见
http://www.novell.com/zh-cn/documentation/sle_ha/book_sleha/?page=/zh-cn/documentation/sle_ha/book_sleha/data/man_crmresource.html
crm_mon 
crm_mon:crm_mon 命令允许您监视群集的状态和配置。其输出包括节点数、uname、uuid、状态、群集中配置的资源及其各自的当前状态。crm_mon 的输出可以显示在控制台上或打印到 HTML 文件。当具有不包含状态部分的群集配置文件时,crm_mon 会按文件中所指定的方式创建节点和资源概览。 
示例
显示群集的状态并每隔 15 秒获取一次更新后的列表:
crm_mon 
显示群集的状态并在 -i 中指定的间隔后获取一次更新后的列表。如果 -i 未指定,则采用 15 秒的默认刷新间隔:
crm_mon -i interval[s] 
在控制台上显示群集状态:
crm_mon -c 
在控制台上显示一次群集状态,然后退出:
crm_mon -1 
显示群集的状态并按节点对资源分组:
crm_mon -n 
显示群集的状态,按节点对资源分组,并在列表中包括不活动的资源:
crm_mon -n -r 
将群集的状态写入 HTML 文件:
crm_mon -h filename 
在后台作为守护程序运行 crm_mon,指定守护程序的 pid 文件以更轻松地控制守护程序进程,并创建 HTML 输出。此选项允许您持续创建 HTML 输出,该输出可以由其他监视应用程序轻松处理:
crm_mon -d -p filename -h filename 
在现有群集配置文件(文件名)中显示群集配置,按节点对资源分组,并包括不活动的资源:此命令用于群集在线前的群集配置测试。
crm_mon -r -n -X filename 
crm_mon的详细参数配置可参见
http://www.novell.com/zh-cn/documentation/sle_ha/book_sleha/?page=/zh-cn/documentation/sle_ha/book_sleha/data/man_crmmon.html
crm_failcount 
crm_failcount:Heartbeat 实施了一种精密的计算方法,当资源在当前节点上趋向失败时强制将该资源故障转移到其他节点。资源携带了一个 resource-stickiness 属性以确定它希望在某个节点上运行的自愿程度。它还具有 migration-threshold 属性,可用于确定资源应故障转移到其他节点的阈值。
可将 failcount 属性添加到资源,它的值将根据资源监视到的故障而递增。将 failcount 的值与 migration-threshold 的值相乘,可确定该资源的故障转移分数。如果此数字超过该资源的自选设置,则该资源将被移到其他节点并且不会在原始节点上再次运行,直到重设置故障计数。
crm_failcount 命令可查询指定节点上每个资源的故障计数。此工具还可用于重设置故障计数,并允许资源在它多次失败的节点上再次运行。  

示例
重设置节点 node1 上资源 myrsc 的故障计数:
crm_failcount -D -U node1 -r my_rsc 
查询节点 node1 上资源 myrsc 的当前故障计数:
crm_failcount -G -U node1 -r my_rsc
查看资源的积分 
# 2>&1 /usr/heartbeat/sbin/ptest -LVVVVVVVV|grep -E "dump_node_scores" 
crm_failcount的详细参数配置可参见
http://www.novell.com/zh-cn/documentation/sle_ha/book_sleha/?page=/zh-cn/documentation/sle_ha/book_sleha/data/man_crmfailcount.html

cibadmin 
cibadmin:cibadmin 是用于操作 Heartbeat CIB 的低级管理命令。它可以用来转储、更新或修改所有或部分 CIB,删除整个 CIB 或执行各种 CIB 管理操作。
cibadmin 在 CIB 的 XML 树上运行,基本上不清楚所执行的更新或查询的含义。这意味着对于理解 XML 树中的元素含义的人来说很常见的快捷方式无法用于 cibadmin。它在输入和输出时要求消除不明确性,并且只能处理有效的 XML 子树(标记和元素)。
注: 使用 cibadmin 应始终优先于手动编辑 cib.xml 文件,特别是在群集活动的情况下。群集会竭尽全力检测和阻止此做法,从而确保您的数据不会丢失或损坏。 

示例
要获取递送到 stdout 的整个活动 CIB(包含状态部分等)的副本,请发出以下命令:
cibadmin -Q 
要向资源部分添加 IPaddr2 资源,首先要使用以下内容创建一个文件 foo:
   <primitive id="R_10.10.10.101" class="ocf" type="IPaddr2"
    provider="heartbeat">
    <instance_attributes id="RA_R_10.10.10.101">
     <attributes>
      <nvpair id="R_ip_P_ip" name="ip" value="10.10.10.101"/>
      <nvpair id="R_ip_P_nic" name="nic" value="eth0"/>
     </attributes>
    </instance_attributes>
   </primitive> 
然后发出以下命令:
cibadmin --obj_type resources -U -x foo 
要更改先前添加的 IPaddr2 资源的 IP 地址,请发出以下命令:
cibadmin -M -X '<nvpair id="R_ip_P_ip" name="ip" value="10.10.10.102"/>' 
注: 此命令不会更改资源名称以匹配新的 IP 地址。要执行该操作,请先删除资源再重新添加带有新ID标记的资源。 
要停止(禁用)先前添加的 IP 地址资源而不将它删除,请创建包含以下内容的名为 bar 的文件:
<primitive id="R_10.10.10.101">
 <instance_attributes id="RA_R_10.10.10.101">
  <attributes>
   <nvpair id="stop_R_10.10.10.101" name="target-role" value="Stopped"/>
  </attributes>
 </instance_attributes>
</primitive> 
然后发出以下命令:
cibadmin --obj_type resources -U -x bar 
要重启动上一步中停止的 IP 地址资源,请发出以下命令:
cibadmin -D -X '<nvpair id="stop_R_10.10.10.101">' 
要将此 IP 地址资源从 CIB 中彻底删除,请发出以下命令:
cibadmin -D -X '<primitive id="R_10.10.10.101"/>' 
要将 CIB 替换为新的手动编辑版本,请使用以下命令:
cibadmin -R -x $HOME/cib.xml

cibadmin的详细参数配置可参见
http://www.novell.com/zh-cn/documentation/sle_ha/book_sleha/?page=/zh-cn/documentation/sle_ha/book_sleha/data/man_cibadmin.html

crm_verify 
crm_verify:crm_verify 用于检查配置数据库 (CIB) 的一致性和其他问题。它可用来检查包含配置的文件,并可连接到正在运行的群集。它报告两类问题:错误和警告。必须修复错误,Heartbeat 才能正常工作。但是,应让管理员来决定警告是否也应修复。
crm_verify 可帮助创建新的或已修改的配置。您可以在运行的群集中获取 CIB 的本地副本,编辑它,使用 crm_verify 验证它,然后使用 cibadmin 使新配置生效。 
示例
检查运行的群集中配置的一致性,并生成详细输出:
crm_verify -VL 
检查指定文件中的配置的一致性,并生成详细输出:
crm_verify -Vx file1 
将配置传送到 crm_verify,并生成详细输出:
cat file1.xml | crm_verify -Vp 
crm_verify的详细参数配置可参见
http://www.novell.com/zh-cn/documentation/sle_ha/book_sleha/?page=/zh-cn/documentation/sle_ha/book_sleha/data/man_crmverify.html
crm_diff

crm_diff:命令协助创建和应用 XML 增补程序。这对可视化两个版本的群集配置之间的更改或保存更改可能非常有用,以便以后使用 cibadmin 应用更改。

示例
使用 crm_diff 确定各种 CIB 配置文件的区别并创建增补程序。通过增补程序的方式,轻松重用各个配置部分,而不必对每个部分使用 cibadmin 命令。
通过对要比较的两个群集设置运行 cibadmin 命令,获取两个不同的配置文件:
cibadmin -Q > cib1.xml
cibadmin -Q > cib2.xml 
确定是区分所有文件还是只比较配置子集。
要将文件间的区别打印到 stdout,请使用以下命令:
crm_diff -o cib1.xml -n cib2.xml 
要将文件间的区别打印到某个文件并创建增补程序,请使用以下命令:
crm_diff -o cib1.xml -n cib2.xml > patch.xml 
将增补程序应用于原始文件:
crm_diff -o cib1.xml -p patch.xml 
crm_diff的详细参数配置可参见
http://www.novell.com/zh-cn/documentation/sle_ha/book_sleha/?page=/zh-cn/documentation/sle_ha/book_sleha/data/man_crmdiff.html

参考至:http://www.novell.com/zh-cn/documentation/sle_ha/book_sleha/?page=/zh-cn/documentation/sle_ha/book_sleha/data/man_crmresource.html

          http://www.novell.com/zh-cn/documentation/sle_ha/book_sleha/?page=/zh-cn/documentation/sle_ha/book_sleha/data/man_crmfailcount.html

          http://www.novell.com/zh-cn/documentation/sle_ha/book_sleha/?page=/zh-cn/documentation/sle_ha/book_sleha/data/man_cibadmin.html

          http://www.novell.com/zh-cn/documentation/sle_ha/book_sleha/?page=/zh-cn/documentation/sle_ha/book_sleha/data/man_crmverify.html

          http://www.novell.com/zh-cn/documentation/sle_ha/book_sleha/?page=/zh-cn/documentation/sle_ha/book_sleha/data/man_crmdiff.html

          http://www.novell.com/zh-cn/documentation/sle_ha/book_sleha/?page=/zh-cn/documentation/sle_ha/book_sleha/data/man_crmmon.html

本文原创,转载请注明出处、作者

如有错误,欢迎指正

邮箱:czmcj@163.com

作者:czmmiao 原文地址:http://czmmiao.iteye.com/blog/1181720

时间: 2024-08-04 10:58:43

Linux高可用性方案之Heartbeat的日常维护命令(原创)的相关文章

Linux高可用性方案之Heartbeat的CRM配置(原创)

heartbeat默认模式是没法监控资源的,也就是说其中某个资源要是crash掉了,也不会发生任何动作,它只有当它认为对方机器dead后才会发生动作,也就是机器crashed,网络断掉了之类.这显然没法达到我们的目标.为了达到我们的目标就要采用crm(cluster resource management)模式了. 本文需要实现的目标,让ha自动监控资源的运行状态. 启动服务ip为192.168.0.222,自动运行脚本echo.sh echo.sh脚本内容如下#!/bin/bash echo

Linux高可用性方案之Heartbeat的watchdog配置(原创) 编辑

Watchdog概述  在日常使用heartbeat接管资源的应用中,由于heartbeat无法对操作系统自身出现的问题进行监控.如果主节点操作系统挂起,一方面可能导致服务中断,另一方面由于主节点资源无法释放,而备份节点却接管了主节点的资源,此时就发生了两个节点同时争用一个资源的状况. 针对这个问题,就需要在Linux内核中启用一个叫watchdog的模块.watchdog是一个Linux内核模块,它通过定时向/dev/watchdog设备文件执行写操作,从而确定系统是否正常运行.如果watch

Linux高可用性方案之Heartbeat日志查看(原创)

日志是我们跟踪系统和应用程序最好的方式,在Heartbeat中日志可以自定义输出位置,只需在ha.cf文件配置即可,具体可参见笔者的 http://czmmiao.iteye.com/blog/1174010 下面跟着笔者我们来看详细看下Heartbeat的日志启动主机Heartbeat服务  #/etc/init.d/heartbeat start  Heartbeat启动时,通过"tail -f /var/log/ messages"查看主节点系统日志信息,输出如下:# tail

Linux高可用性方案之Heartbeat安装(原创)

安装Heartbeat前的准备  Heartbeat集群必须的硬件 从下图看出,构建一个Heartbeat集群系统必须的硬件设备有: 节点服务器: 网络和网卡: 共享磁盘. 节点服务器 安装Heartbeat至少需要两台主机,并且对主机的要求不高,普通的PC服务器即可满足要求.当然,也可以在虚拟机上安装Heartbeat,现在Heartbeat可以很好地运行在Linux系统下,很多Linux发行版本都自带了Heartbeat套件,同时,还可以运行在FreeBSD和Solaris操作系统上. 网卡

Linux高可用性方案之Heartbeat的Stonith配置(原创)

前言  前一阵,在为广发银行搭建HA集群时,客户总希望在出现脑裂问题后能很好的解决.当时由于没有深刻的理解heartbeat的各个模块,crm.ccm.ipfail各个插件试试得我是晕头转向的,最后的解决方式是加了两根心跳线.说白了,还是没解决,只是在心跳监测方面更加强壮而已,这里笔者介绍Stonith这个模块,以解决脑裂问题. 脑裂  当群集发生裂脑的状况时候,因为无法进行任何沟通而误会对方无法运作,所以主与备份服务器都会启动浮动IP和相关服务,此时若两部服务器对外连线亦未短线,那么势必导致有

Linux高可用性方案之Heartbeat架构(原创)

Heartbeat 概述  Heartbeat 是 Linux-HA 工程的一个组件, 1999 年开始到现在,发布了众多版本,是目前开源 Linux-HA 项目最成功的一个例子,在行业内得到了广泛的应用.随着 Linux在关键行业应用的逐渐增多,它必将提供一些原来由 IBM 和 SUN 这样的大型商业公司所提供的服务,这些商业公司所提供的服务都有一个关键特性,就是高可用集群. 高可用集群是指一组通过硬件和软件连接起来的独立计算机,它们在用户面前表现为一个单一系统,在这样的一组计算机系统内部的一

Linux高可用性方案之Heartbeat的CRM节点得分计算(原创)

crm资源得分概述  在V2的Heartbeat中,为了将资源的监控和切换结合起来,同时支持多节点集群,Heartbeat提供了一种积分策略来控制各个资源在集群中各节点之间的切换策略.通过该积分机制,计算出各节点的的总分数, 得分最高者将成为active状态来管理某个(或某组)资源. 如果在CIB的配置文件中不做出任何配置的话,那么每一个资源的初始分数(resource-stickiness)都会是默认的0,而且每一个资源在每次失败之后所减掉的分数(resource-failure-sticki

linux中oracle的日常维护命令

1.  检查Oracle的进程 $  ps -ef|grep "ora_"|grep -v grep oracle  5998     1  0 11:15:59          0:01 ora_j000_PPRD10 oracle  2968     1  0 21:16:57          0:00 ora_q000_PPRD10 oracle  2927     1  0 21:16:33          0:00 ora_pmon_PPRD10 oracle  293

如何做网站优化方案八:日常维护必备

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 当您把网站优化方案的第一步(自身设计)做好以后,那么就要开始进行网络优化方案的第二步了,网站的日常维护定制方案,网站日常维护的定制是网站优化方案必不可少的部分,如果您想把网站很好的营销出去,最终达到营销效果,那么就要根据具体的分析来定制网站日常维护,这里南京seo小艾分享一下自己写网站优化方案的时候的日常维护必备知识. 一.检查自己网站的细节