chrsrc 命令
用途
更改资源或资源类的持久属性值。
语法
- 在命令行上输入的数据:
chrsrc -s "selection_string" [ -a | -N { node_file | "-" }] [-v] [-h] [-TV] resource_class attr=value...
chrsrc -r [-v] [-h] [-TV] resource_handle attr=value...
- 在输入文件中预定义:
chrsrc -f resource_data_input_file -s "selection_string" [-a | -N { node_file | "-" }] [-v] [-h] [-TV] resource_class
chrsrc-f 资源数据输入文件 -r [-v][-h][-TV] 资源句柄
- 在命令行上输入的数据:
chrsrc { -c | -C domain_name...} [-v [-a] [-h] [-TV] resource_class attr=value...
- 在输入文件中预定义:
chrsrc -f resource_data_input_file { -c | -C domain_name...} [-v][-a][-h][-TV] 资源类别
描述
chrsrc 命令更改资源或资源类的持久属性值。 缺省情况下,该命令更改资源的持久属性值。 使用 -r 标志仅更改与 resource_handle链接的资源的持久属性值。 使用 -s 标志来更改与 selection_string匹配的所有资源的持久属性值。 要更改 资源类的持久属性, 请使用 -c 标志。
您可以使用 -N node_file 标志来指示节点名在文件中,而不是在 selection_string中指定多个节点名。 使用 -N "-" 从标准输入中读取节点名。
chrsrc 命令无法更改动态属性,也无法更改指定为 read_only的持久属性。 要验证在命令行上或 resource_data_input_file 中指定的所有属性名称是否都定义为持久属性,并且 未 指定为 read_only,请使用 -v 标志。 当 chrsrc 命令与 -v 标志一起运行时,不会更改指定的属性,而只是将其验证为持久属性,而不会将其指定为 read_only。 运行 chrsrc -v 以验证在命令行上或 resource_data_input_file 中指定的属性是否有效后,可以发出不带 -v 标志的 chrsrc 命令来实际更改属性值。 但是请注意,仅因为在运行 chrsrc -v 时属性 "通过" 并不能确保可以更改该属性。 控制指定资源的底层资源管理器确定 chrsrc 命令可以更改哪些属性。 在没有 -v 标志的情况下运行 chrsrc 之后,将显示一条错误消息,指示是否无法更改任何指定的属性。
如果系统上安装了 Cluster Systems Management (CSM),可以将 CSM 定义的节点组用作节点名值来引用多个节点。 有关使用 CSM 节点组和使用 CSM nodegrp 命令的信息,请参阅 CSM: Administration Guide 和 CSM: Command and Technical Reference 。
标志
- -a
- 指定此命令适用于集群内的所有节点。 CT_MANAGEMENT_SCOPE 环境变量决定集群的作用域。 如果未设置 CT_MANAGEMENT_SCOPE,那么首先会选择管理域作用域(如果存在),其次选择对等域作用域(如果存在),最后选择本地作用域,直到作用域对于命令有效。 该命令对找到的第一个有效域运行一次。 例如,如果同时存在管理域和对等域,并且未设置 CT_MANAGEMENT_SCOPE,那么该命令适用于管理域。 如果要将此命令应用于对等域,请将 CT_MANAGEMENT_SCOPE 设置为 2。
- -c
- 更改 resource_class 的持久属性值。
- --C 域名...
- 更改管理服务器上所定义的一个或多个 RSCT 对等域上的某个全局化资源类的类属性。 全局化类在对等域和管理域中用作包含有关域信息的资源类。
要在管理服务器上定义的所有对等域上更改全球化资源类的类属性,请使用带有 -a 标志的 -c 标志而不是 -C。
- --f 资源数据输入文件
- 指定包含资源属性信息的文件名。
- --N { 节点文件 │"-"}
- 指定从文件或标准输入读取节点名。 使用 -N node_file 来指示节点名在文件中。
- node_file 中的每行包含一个节点名
- 列 1 中的数字符号 (#) 指示该行是注释
- 忽略节点名左侧的所有空白字符
- 忽略节点名右侧的所有字符
CT_MANAGEMENT_SCOPE 环境变量决定集群的作用域。 如果未设置 CT_MANAGEMENT_SCOPE,那么首先会选择管理域作用域(如果存在),其次选择对等域作用域(如果存在),最后选择本地作用域,直到作用域对于命令有效。 该命令对找到的第一个有效域运行一次。 例如,如果同时存在管理域和对等域,并且未设置 CT_MANAGEMENT_SCOPE,那么该命令适用于管理域。 如果要将此命令应用于对等域,请将 CT_MANAGEMENT_SCOPE 设置为 2。
- -r
- 更改与 resource_handle 匹配的特定资源的持久属性值。
- --s"selection_string"
- 更改与 selection_string 匹配的所有资源的持久属性值。 selection_string 必须括在双引号或单引号中。 如果 selection_string 包含双引号,那么把它括在单引号中,例如:
-s 'Name == "testing"'-s 'Name ?= "test"'只有持久属性才可在选择字符串中列出。 关于如何指定选择字符串的信息,请参阅 RSCT: Administration Guide。
- -v
- 验证在命令行或输入文件中指定的所有属性名称是否都定义为持久属性,并且 未 指定为 read_only。 使用此标志时, chrsrc 命令 不会 更改任何持久属性值。
- -h
- 将命令的用法语句写到标准输出。
- -T
- 将命令的跟踪消息写到标准错误。 仅供您的软件服务组织使用。
- -V
- 将命令的详细消息写到标准输出。
参数
- attr=value...
- 指定一对或多对属性及其关联的值。 attr 是任何已定义的持久属性名。 使用 lsrsrcdef 命令可显示指定资源的已定义持久属性及其数据类型的列表。 指定的值必须是关联的属性的相应数据类型。 例如,如果 NodeNumber 定义为 Uint32 数据类型,请输入正数值。
如果运行带有 -f 标志的 chrsrc ,请勿指定此参数。
- 资源类
- 指定资源类名。 使用 lsrsrcdef 命令可显示已定义的资源类名的列表。
- 资源句柄
- 指定与想要更改的资源链接的资源句柄。 使用 lsrsrc 命令可显示有效资源句柄的列表。 必须使用双引号将资源句柄引起来,例如:
"0x4017 0x0001 0x00000000 0x0069684c 0x0d4715b0 0xe9635f69"
安全性
用户需要 chrsrc 中指定的 resource_class 的写许可权才能运行 chrsrc。 许可权在联系系统的访问控制表 (ACL) 文件中指定。 有关 ACL 文件以及如何修改该文件的信息,请参阅 RSCT: Administration Guide。
退出状态
- 0
- 命令已成功运行。
- 1
- RMC 发生错误。
- 2
- 命令行接口 (CLI) 脚本发生错误。
- 3
- 在命令行上指定了不正确的标志。
- 4
- 在命令行上指定了不正确的参数。
- 5
- 发生了一个由于不正确的命令行输入而导致的 RMC 错误。
- 6
- 没找到匹配选择字符串的资源。
环境变量
- CT_CONTACT
- 当 CT_CONTACT 环境变量设置为主机名或 IP 地址时,该命令将联系指定的主机上的资源监视和控制 (RMC) 守护程序。 如果没有设置该环境变量,那么该命令会联系其运行所在的本地系统上的 RMC 守护程序。 该命令显示或修改的资源类或资源位于建立连接的系统上。
- CT_IP_AUTHENT
- 如果存在 CT_IP_AUTHENT 环境变量,那么 RMC 守护程序将使用基于 IP 的网络认证,与 CT_CONTACT 环境变量中的 IP 地址所指定系统上的 RMC 守护程序联系。 仅当 CT_CONTACT 设为 IP 地址时,CT_IP_AUTHENT 才有意义;它不依赖于域名系统(DNS)服务。
- CT_MANAGEMENT_SCOPE
- 确定用来与 RMC 守护程序进行会话的管理作用域,以监视和控制资源和资源类。 管理作用域确定了能够监视和控制资源和资源类的可能的目标节点集。 有效值为:
- 0
- 指定本地作用域。
- 1
- 指定本地作用域。
- 2
- 指定对等域作用域。
- 3
- 指定管理域作用域。
如果此环境变量未设置,那么使用本地作用域。
实现细节
该命令是AIX Reliable Scalable Cluster Technology(RSCT)文件集的一部分。
标准输出
当指定 -h 标志时,此命令的用法语句将写入标准输出。 所有详细消息都写到标准输出。
标准错误
所有跟踪消息都写到标准错误。
示例
- 要更改 Name 等于 c175n05的资源的资源类 IBM.Foo 中的 Int32, Uint32 和 SD 持久资源属性,请输入:
chrsrc -s 'Name == "c175n05"' IBM.Foo \ Int32=-9999 Uint32=9999\ SD='["testing 1 2 3",1,{2,4,6}]' - 要更改资源类 IBM.Foo 中的 Int32, Uint32 和 SD 资源属性,对于具有以 c175n开头的 Name 的资源,请使用具有以下内容的 resource_data_input_file :
请输入:PersistentResourceAttributes:: resource 1: Int32 = -9999 Uint32 = 9999 SD = ["testing 1 2 3",1,{2,4,6}]chrsrc -f /tmp/IBM.Foo.chrsrc \ -s 'Name ?= "c175n"' IBM.Foo - 要更改资源句柄等于 "0x0001 0x4005 0x35ae868c 0x00000000 0xfeef2948 0x0d80b827" 的资源的 Name 持久资源属性,请输入:
chrsrc -r "0x0001 0x4005 0x35ae868c 0x00000000 0xfeef2948 0x0d80b827" Name="c175n05" - 要使用 /u/joe/common_nodes 文件来更改集群中节点 node1.linwood.com 和 node2.linwood.com 上的 Name 等于 Test_Name 的资源的资源类 IBM.Foo 中的 Int32, Uint32 和 SD 持久资源属性:
请输入:# common node file # node1.linwood.com main node node2.linwood.com backup node #chrsrc -s 'Name == "Test_Name"' -N /u/joe/common_nodes IBM.Foo \ Int32=-9999 Uint32=9999 \ SD='["testing 1 2 3",1,{2,4,6}]'
位置
- /opt/rsct/bin/chrsrc