Oracle® Solaris Cluster 参考手册

退出打印视图

更新时间: 2014 年 7 月,E51743-01
 
 

ccradm (1M)

名称

ccradm - CCR 表文件管理命令

用法概要

/usr/cluster/lib/sc/ccradm subcommand [-?]
/usr/cluster/lib/sc/ccradm addkey [-Z zoneclustername] -v value -k key ccrtablefile
/usr/cluster/lib/sc/ccradm addtab [-Z zoneclustername] ccrtablefile
/usr/cluster/lib/sc/ccradm changekey [-Z zoneclustername] -v value -k key ccrtablefile
/usr/cluster/lib/sc/ccradm delkey [-Z zoneclustername] -k key ccrtablefile
/usr/cluster/lib/sc/ccradm recover [-Z zoneclustername] -f -o ccrtablefile
/usr/cluster/lib/sc/ccradm remtab [-Z zoneclustername] ccrtablefile
/usr/cluster/lib/sc/ccradm replace [-Z zoneclustername] -i newdatafile ccrtablefile
/usr/cluster/lib/sc/ccradm showkey [-Z zoneclustername] -k key ccrtablefile

描述

ccradm 命令支持群集配置系统信息库 (Cluster Configuration Repository, CCR) 信息的管理。

CCR 信息位于 /etc/cluster/ccr 目录下。关于全局群集的 CCR 信息位于 /etc/cluster/ccr/global 目录下。关于区域群集 zoneclustername 的 CCR 信息位于 /etc/cluster/ccr/zoneclustername 目录下。CCR 信息只应通过受支持的编程接口访问。文件权限有意设置为不允许直接访问 CCR 信息。

CCR 信息以表的形式存储,每个表存储在自己对应的文件中。CCR 表文件的每一行由两个 ASCII 字符串组成,一个代表关键字,另一个代表值。每个 CCR 文件都以生成号 ccr_gennum 和校验和 ccr_checksum 开头。

ccr_gennum 表示 CCR 表文件的当前生成号。由系统管理 ccr_gennum。最大的编号代表最新版本的文件。

ccr_checksum 表示 CCR 表内容的校验和,用于对表中数据进行一致性检查。系统不会使用校验和无效的 CCR 表文件。

ccrtablefile 文件代表本地节点上的 CCR 表(变量为文件名)。指定了 –Z 选项时,ccrtablefile 属于指定的区域群集。未指定 –Z 选项时,ccrtablefile 属于全局群集。请注意,全局群集和区域群集可以有各自的 ccrtablefile 文件,其文件名相同但包含的信息不同。

仅可以在全局区域中使用此命令。

子命令

该命令具有以下子命令:

addkey

向指定群集的 CCR 表文件添加关键字值对。与 –s 选项一起使用时,数据为字符串值。与 –f 选项一起使用时,值为文件中的第一个字符串,且该文件只包含一个字符串。如果文件不是这种格式,该命令将返回错误。

该子命令只能在群集模式下使用。

addtab

在 CCR 中为指定群集创建一个表。表最初只包含 ccr_gennumccr_checksum

该子命令只能在群集模式下使用。

changekey

根据指定的关键字和新值修改 CCR 表文件中该关键字的值。如果在 CCR 表文件中找不到该关键字,该命令将返回 ESPIPE。与 –s 选项一起使用时,数据为字符串值。与 f 选项一起使用时,值为文件中的第一个字符串,且该文件只包含一个字符串。如果文件不是这种格式,该命令将返回错误。

该子命令只能在群集模式下使用。

delkey

根据指定的关键字,从 CCR 表文件中删除关键字值对。如果在 CCR 表文件中找不到该关键字,该命令将返回 ESPIPE

该子命令只能在群集模式下使用。

recover

Caution

注意  -  该子命令只供精通 CCR 内部操作的工程师使用。该子命令支持手动恢复操作。普通用户不应使用该子命令。


recover 子命令总是设置 CCR 表文件的 ccr_gennum 值、重新计算该文件的校验和并设置 ccr_checksum 值。

使用不带 –o 选项的 recover 子命令时,recover 子命令会将生成号设置为 INIT_VERSION,即 -1。生成号 INIT_VERSION 表示该 CCR 表文件仅在本地节点重新加入群集后才生效,重新加入时群集将使用群集内另一节点的 CCR 表文件的内容替换该 CCR 表文件的内容。前提条件是,群集内必须有其他节点为该 CCR 表文件设置了覆盖版本,或至少有一个其他节点有该 CCR 表文件的有效副本。CCR 表文件的校验和有效并且其生成号大于等于零时,该 CCR 表文件才有效。

如果 CCR 表文件在所有节点上的生成号都为 INIT_VERSION,则恢复过程完成后,该 CCR 表仍无效。因此,您必须至少对群集中一个节点的 CCR 表文件使用带有 –o 选项的 recover 子命令。

使用带 –o 选项的 recover 子命令时,recover 子命令会将生成号设置为 OVRD_VERSION,即 -2。生成号 OVRD_VERSION 表示系统会将本地节点上的 CCR 表文件的内容传播到群集中的其他所有节点。将内容传播到其他节点后,系统会将生成号更改为 0。应该只有一个节点的 CCR 表文件具有 OVRD_VERSION 值。如果在多个节点上的相同 CCR 表文件中设置了 OVRD_VERSION,系统将随机使用其中一个 CCR 表文件的内容。

该子命令只能在非群集模式下使用。

remtab

从 CCR 中删除表。

该子命令只能在群集模式下使用。

replace

Caution

注意  -  该子命令只供精通 CCR 内部操作的工程师使用。该子命令支持手动恢复操作。普通用户不应使用该子命令。


ccrdatafile 的内容替换为 newdatafile 的内容。将重新计算校验和并将生成号重置为 0。

该子命令只能在群集模式下使用。

showkey

显示 CCR 表文件中指定关键字的值。如果在 CCR 表文件中找不到该关键字,该命令将返回 ESPIPEshowkey 命令仅在标准输出中写入指定关键字的行尾前的值字符串。如果发生了错误,该命令不会写入任何内容。

该子命令只能在群集模式下使用。

选项

该命令具有以下选项:

–?
–-help

显示帮助信息。

指定此选项时,子命令可有可无。

如果没有指定子命令,将显示包含所有可用子命令的列表。

如果指定了子命令,将显示该子命令的用法。

如果指定此选项和其他选项,将会忽略其他选项。

–f
–-force

指定在节点以群集成员身份引导时,强制执行 recover 子命令。

–i newdatafile
–-input=newdatafile
–-input newdatafile

指定要用于恢复操作的 CCR 表文件。

–k
–-key

指定要添加、删除或修改的关键字的名称。

–o
–-override

覆盖选项与 recover 子命令一起使用。该选项将生成号设置为 OVRD_VERSION

该选项用于将一个 CCR 表文件指定为主副本。在恢复过程中,该 CCR 表文件主版本将覆盖其余节点上该文件的其他版本。如果多个节点上的 CCR 表文件的生成号均为 OVRD_VERSION,系统将只选择其中一个文件,并在其中一个节点的控制台上输出警告消息。恢复后,表的生成号将重置为 0。

该选项只能在非群集模式下使用。

–v value
–-value=value
–-value value

指定 CCR 表的关键字值。值字符串中不能包含空格字符。这表示不能包含空格、制表符、回车或换行符。

–Z {zoneclustername | global}
–-zoneclustername= {zoneclustername | global}
–-zoneclustername {zoneclustername | global}

指定 CCR 事务必须在哪个群集中执行。所有子命令都支持该选项。如果指定此选项,还必须指定以下列表中的参数之一:

zoneclustername

指定使用此选项的命令仅对名为 zoneclustername 的区域群集中的所有指定资源组起作用。

global

指定使用此选项的命令仅对全局群集中的所有指定资源组起作用。

–Z 选项只能在群集模式下使用。

操作数

仅支持以下操作数:

ccrtablefile

指定要管理的 CCR 表文件。只能指定一个 ccrtablefile

用法

ccradm 命令可用于对 CCR 表文件执行管理操作。

示例

示例 1 修复损坏的 CCR 表并重新计算校验和

仅应在紧急修复过程中按照 Oracle 授权人员的指导执行以下步骤修复损坏的 CCR 表。

本示例修复 CCR 表 ccr-file

  1. 以非群集模式重新引导所有节点。

  2. 编辑所有节点上的该文件,使其包含正确的数据。该文件必须在所有节点上保持一致。因为该文件在所有节点上均相同,也可以将其指定为所有节点的覆盖版本。

  3. 通过对所有节点运行以下命令(其中 ccr-file 是 CCR 表的名称),重新计算校验和并将该 CCR 表文件指定为覆盖版本。

    # ccradm recover -o ccr-file
  4. 以群集模式重新引导所有节点。

示例 2 根据备份版本恢复损坏的 CCR 表

本示例使用 CCR 表 yyy 的备份版本(yyy.bak 文件)中的内容替换该表。在群集模式下,从一个节点运行以下命令。

# ccradm replace -Z global -i /etc/cluster/ccr/global/yyy.bak /etc/cluster/ccr/global/yyy
示例 3 创建 CCR 表

本示例在区域群集 zc1 中创建一个临时 CCR 表 foo。在群集模式下,从一个节点运行以下命令。

# ccradm addtab -Z zc1 foo
示例 4 删除 CCR 表

本示例显示如何从全局群集中删除 CCR 表 foo。在群集模式下,从一个节点运行以下命令。

# ccradm remtab foo
示例 5 修改 CCR 表

本示例将全局群集 CCR 表 rgm_rg_nfs-rg 中的 Pingpong_interval 属性的值更改为 5400。在群集模式下,从一个节点运行以下命令。

# ccradm changekey -s 5400 -k Pingpong_interval rgm_rg_nfs-rg
示例 6 显示 CCR 表中的关键字值

本示例显示 CCR 表 rgm_rg_nfs-rgPingpong_interval 属性的值。

# ccradm showkey -k Pingpong_interval rgm_rg_nfs-rg
5400

退出状态

返回以下退出值:

0

未发生错误。

>0

发生错误。

属性

有关下列属性的描述,请参见 attributes(5)

属性类型
属性值
可用性
ha-cluster/system/core
接口稳定性
Evolving(发展中)