cibadmin (8)

Name

cibadmin - 提供对群集配置的直接访问

大纲

允许查询、修改、替换和删除配置或配置的某些部分。

cibadmin (--query|-Q) -[Vrwlsmfbp] [-i xml-object-id|-o
  xml-object-type] [-t t-flag-whatever] [-h hostname]
cibadmin (--create|-C) -[Vrwlsmfbp] [-X xml-string]
  [-x xml- filename] [-t t-flag-whatever] [-h hostname]
cibadmin (--replace-R)  -[Vrwlsmfbp]  [-i xml-object-id|
  -o xml-object-type]  [-X  xml-string] [-x xml-filename] [-t
  t-flag- whatever] [-h hostname]
cibadmin (--update|-U) -[Vrwlsmfbp]  [-i xml-object-id|
  -o xml-object-type]  [-X  xml-string] [-x xml-filename] [-t
  t-flag- whatever] [-h hostname]
cibadmin (--modify|-M) -[Vrwlsmfbp]  [-i xml-object-id|
           -o xml-object-type]  [-X  xml-string] [-x xml-filename] [-t
           t-flag- whatever] [-h hostname]
cibadmin (--delete|-D) -[Vrwlsmfbp]  [-i xml-object-id|
           -o xml-object-type] [-t t-flag-whatever] [-h hostname]
cibadmin (--delete_alt|-d) -[Vrwlsmfbp] -o
           xml-object-type [-X xml-string|-x xml-filename]
           [-t t-flag-whatever]  [-h hostname]
cibadmin --erase (-E)
cibadmin --bump (-B)
cibadmin --ismaster (-m)
cibadmin --master (-w)
cibadmin --slave (-r)
cibadmin --sync (-S)
cibadmin --help (-?)

描述

cibadmin 是用于操作 Heartbeat CIB 的低级管理命令。它可以用来转储、更新或修改所有或部分 CIB,删除整个 CIB 或执行各种 CIB 管理操作。

cibadmin 在 CIB 的 XML 树上运行,基本上不清楚所执行的更新或查询的含义。这意味着对于理解 XML 树中的元素含义的人来说很常见的快捷方式无法用于 cibadmin。它在输入和输出时要求消除不明确性,并且只能处理有效的 XML 子树(标记和元素)。

注: 使用 cibadmin 应始终优先于手动编辑 cib.xml 文件,特别是在群集活动的情况下。群集会竭尽全力检测和阻止此做法,从而确保您的数据不会丢失或损坏。

选项

--obj_type 对象类型-o 对象类型

指定要操作的对象类型。有效值为 nodesresourcesconstraintscrm_statusstatus

--verbose-V

打开调试模式。附加的 -V 选项可增加输出的详细程度。

--help-?

cibadmin 获取安全消息。

--xpath 指定路径-A 指定路径

提供用于替换 obj_type 的有效 XPath。

命令

--bump-B

递增 CIB 中的 epoch 版本计数器。通常在选举新的领导节点时群集会自动增加该值。当您想废弃旧的配置(如不活动的群集节点上储存的配置)时,手动增加该值可能会有用。

--create-C

从自变量的 XML 内容创建新的 CIB。

--delete-D

删除与提供的准则匹配的第一个对象,例如,<op id="rsc1_op1" name="monitor"/>。 标记名称和所有属性必须匹配才能删除元素。

--erase-E

删除整个 CIB 的内容。

--ismaster-m

打印指示 CIB 软件的本地实例是否为主实例的消息。如果它是主实例,将退出并返回代码 0;如果不是,则返回代码 35。

--modify-M

在 CIB 的 XML 树中的某处找到对象并更新它。

--query-Q

查询 CIB 的一部分。

--replace-R

递归替换 CIB 中的 XML 对象。

--sync-S

强制所有节点与指定主机上的 CIB(如果使用 -h)或 DC(如果未使用 -h 选项)重新同步。

XML 数据

--xml-text 字符串-X 字符串

指定 crmadmin 应操作的 XML 标记或片段。它必须是完整的标记或 XML 片段。

--xml-file 文件名-x 文件名

从文件指定 cibadmin 应操作的 XML。它必须是完整的标记或 XML 片段。

--xml_pipe-p

指定 cibadmin 应操作的 XML 来自标准输入。它必须是完整的标记或 XML 片段。

高级选项

--host 主机名-h 主机名

将命令发送至指定的主机。仅适用于 querysync 命令。

--local-l

使命令在本地生效(较少使用的高级选项)。

--no-bcast-b

即使命令改变了 CIB,也不会对它进行广播。

重要说明: 使用此选项时请小心,以避免导致群集分散。

--sync-call-s

返回前等待调用完成。

示例

要获取递送到 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

文件数

/var/lib/heartbeat/crm/cib.xml— 磁盘上的 CIB(去除状态部分)。

另请参见

crm_resource (8)crmadmin (8),lrmadmin(8),heartbeat(8)

作者

cibadmin 由 Andrew Beekhof 编写。

此手册页最初由 Alan Robertson 编写。

警告

避免在本地磁盘上的 CIB 的自动维护副本中工作。当群集中的任何内容发生更改时,会更新 CIB。因此使用 CIB 的过期备份副本来传播配置更改可能会导致群集不一致。