mkrsrc 命令
用途
定义一个新的资源。
语法
- 在命令行上输入的数据:
mkrsrc [ -a | -N { node_file | "-" }] [-v] [-h] [-TV] resource_class attr=value ...
- 在输入文件中预定义:
mkrsrc -f resource_data_input_file [-v] [ -a | -N { node_file | "-" }] [-h] [-TV] resource_class
要显示命令参数的名称和数据类型:
mkrsrc-l[-h]resource_class
要查看资源类的 mkrsrc 命令示例,请执行以下操作:
mkrsrc-e [-h][-TV] 资源类别
描述
mkrsrc 命令请求 RMC 子系统为 resource_class 参数指定的类定义新的资源实例。 必须至少将一个持久属性名称及其值指定为参数,或者由使用 -f 标志的资源定义文件指定。
在运行 mkrsrc之前,应运行 lsrsrcdef 命令以确定将哪些属性指定为 reqd_for_define (必需) 或 option_for_define (可选)。 只能使用 mkrsrc 命令定义指定为 reqd_for_define 或 option_for_define 的属性。 lsrsrcdef 命令还标识每个属性的数据类型。 为每个属性指定的值必须与该数据类型匹配。
要验证在命令行上或 resource_data_input_file 中指定的所有属性名称是否都定义为持久属性并指定为 reqd_for_define 或 option_for_define,请使用 -v 标志。 当使用 -v 标志运行 mkrsrc 命令时,未定义资源。 相反,仅会验证资源属性是否持久,并将其指定为 reqd_for_define 或 option_for_define。 运行 mkrsrc -v 以验证在命令行上或 resource_data_input_file 中指定的所有属性是否都有效后,可以发出不带 -v 标志的 mkrsrc 命令来定义新资源。
如果您正在 RSCT 对等域或 RSCT 管理域中的管理服务器上运行,并且资源类管理类型已细分,那么可以通过两种方法之一在多个节点上创建相同的资源。 第一种方法是使用 -N node_file 标志来指示要在其上创建资源的节点名位于文件中。 使用 -N "-" 可从标准输入读取节点名。 第二种方法是在 NodeNameList 资源属性中指定多个节点名。 NodeNameList 属性定义集群存在时创建资源的位置。 如果不使用 NodeNameList 属性,那么将在本地节点上创建资源。 要了解资源类管理类型是否已细分,请输入 lsrsrcdef -c resource_class | grep properties。
标志
- -e
- 显示以下对象的 mkrsrc 命令行输入示例:
- 仅必需的属性
- 必需的和可选的属性
- --f 资源数据输入文件
- 指定包含资源属性信息的文件名。
- -l
- 列出命令参数和数据类型。 有些资源管理器会接受传递至定义请求的其他参数。 使用该标志列出所有已定义的命令参数和命令参数值的数据类型。
- --N{节点文件| "-" }
- 指定从文件或标准输入读取节点名。 使用 -N node_file 指示节点名存在于某个文件中。
- node_file 中的每行包含一个节点名
- 在列 1 中的数字符(#)表示该行为注释
- 忽略节点名左侧的所有空白字符
- 忽略节点名右侧的所有字符
CT_MANAGEMENT_SCOPE 环境变量确定集群的作用域。 如果要定义的资源的资源类管理类型已细分,并且未设置 CT_MANAGEMENT_SCOPE,那么首先会选择管理域作用域(如果存在管理域),其次选择对等域作用域(如果存在对等域),最后选择本地作用域,直到作用域对于该命令有效为止。 该命令对找到的第一个有效域运行一次。 例如,如果既存在管理域,也存在对等域,并且未设置 CT_MANAGEMENT_SCOPE,那么此命令适用于管理域。 如果希望此命令适用于对等域,请将 CT_MANAGEMENT_SCOPE 设为 2。
- -v
- 验证在命令行或输入文件中指定的所有属性名称是否都定义为持久属性并指定为 reqd_for_define 或 option_for_define。 使用此标志时, mkrsrc 命令 不会 定义任何资源。
- -h
- 将命令的用法语句写到标准输出。
- -T
- 将命令的跟踪消息写到标准错误。 仅供您的软件服务组织使用。
- -V
- 将命令的详细消息写到标准输出。
参数
- 资源类
- 指定要定义的资源的资源类名称。
- attr=值 ...
- 指定正在定义的资源的属性。 当定义新资源实例时,对于每个必须定义的资源都存在特定的要求的属性。 可以在命令行上将这些属性指定为参数,也可以使用 -f 标志在输入文件中定义这些属性。
- 属性
- 该资源的持久属性的名称。 此属性必须指定为 reqd_for_define 或 option_for_define。 使用 lsrsrcdef 命令来检查指定。
- 值
- 该持久属性的值。 该值的数据类型必须与该属性的值的已定义的数据类型匹配。 使用 lsrsrcdef 命令来验证每个属性的数据类型。
安全性
用户需要 mkrsrc 中指定的 resource_class 的写许可权才能运行 mkrsrc。 许可权在联系系统的访问控制表 (ACL) 文件中指定。 有关 ACL 文件以及如何修改该文件的信息,请参阅 管理 RSCT 指南。
退出状态
- 0
- 命令已成功运行。
- 1
- RMC 发生错误。
- 2
- 命令行接口 (CLI) 脚本发生错误。
- 3
- 在命令行上指定了不正确的标志。
- 4
- 在命令行上指定了不正确的参数。
- 5
- 发生了一个由于不正确的命令行输入而导致的 RMC 错误。
环境变量
- 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® 操作系统的 rsct.rmc 文件集中。
标准输出
- 所有命令输出都写入标准输出。
- 指定 -h 标志时,将该命令的用法语句写至标准输出。
- 指定 -V 标志时,会将此命令的详细消息(如果有的话)写入标准输出。
标准错误
所有跟踪消息都写到标准错误。
示例
- 要在 IBM.Host 类中创建新资源,假定您已知道在定义此类的资源时需要哪些持久属性,请输入:
mkrsrc IBM.Host Name=c175n05 - 要通过首先生成模板以帮助定义这些资源,在 IBM.Processor 类中创建新资源,请输入:
lsrsrcdef -i IBM.Processor > /tmp/IBM.Processor.rdef然后,编辑文件 /tmp/IBM.Processor.rdef 并输入所有属性的值,将类型替换为相应的值,或者将其留空作为缺省值。
最后,请输入:mkrsrc -f /tmp/IBM.Processor.rdef IBM.Processor - 要使用文件 /tmp/IBM.Host.rdef中定义的信息创建两个新的 IBM.Host 资源,请输入:
其中文件 /tmp/IBM.Host.rdef 如下所示:mkrsrc -f /tmp/IBM.Host.rdef IBM.HostPersistentResourceAttributes:: resource 1: Name = c175n04 resource 2: Name = c175n05 - 此示例在 IBM.Foo 类中创建新资源。 在此类中, Name 和 NodeList 是必需属性。 Binary, SD, StringArray和 SDArray 属性是可选的。 该示例显示了如何从命令行输入更复杂的数据类型。 可选属性 (Binary, SD, StringArray和 SDArray) 的数据类型不言而喻。 输入:
mkrsrc IBM.Foo Name=c175n05 \ NodeList={1} \ Binary="0xaabbccddeeff00" \ SD='[testing123,1,{2,4,6}]' \ StringArray='{"testing 1 2 3",testing123,"testing 1 2 3"}' \ SDArray='{["testing 1 2 3",1,{1,3,5}],[testing,2,{2,4,6}]}' - 为 IBM®创建资源。对等域中的多个节点上的示例类,运行以下命令:
其中 /u/joe/common_node_file 的内容与以下内容相似:mkrsrc -N /u/joe/common_node_file IBM.Example Name=Example_bar1 \ Binary="0xaabbccddeeff00"# common node file # node1.ibm.com main node node2.ibm.com main node node4.ibm.com backup node node6.ibm.com backup node # - 创建 IBM.Example 类,请在管理服务器上运行以下命令:
其中 /u/joe/common_node_file 的内容与以下内容相似:mkrsrc IBM.Example Name=Example_bar1 Binary="0xaabbccddeeff00" \ NodeNameList='{"mgnode1.ibm.com","mgnode2.ibm.com"}'# common node file # node1.ibm.com main node node2.ibm.com main node node4.ibm.com backup node node6.ibm.com backup node #
位置
- /opt/rsct/bin/mkrsrc