Oracle® Solaris Cluster 参考手册

退出打印视图

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

clresourcetype (1CL)

名称

clresourcetype, clrt - 管理 Oracle Solaris Cluster 数据服务的资源类型

用法概要

/usr/cluster/bin/clresourcetype [subcommand -?]
/usr/cluster/bin/clresourcetype subcommand -v [options] 
     [resourcetype]...
/usr/cluster/bin/clresourcetype add-node  -n node[,…] 
     [-Z {zoneclustername | global}] {+ | resourcetype}
/usr/cluster/bin/clresourcetype export [-o {- | configfile}] 
     [+ | resourcetype]
/usr/cluster/bin/clresourcetype list [ -n node[,…]] 
     [-Z {zoneclustername[,...] | global | all}] [+ | resourcetype...]
/usr/cluster/bin/clresourcetype list-props [-p [name,...]] [-Z 
     {zoneclustername[,...] | global | all}] [+ | resourcetype...]
/usr/cluster/bin/clresourcetype register [-i 
     {- | clconfiguration}] [ {[-n node
     [,…]] | -N}] [-f rtrfile] [-p [name [+ | -]=value,]...] 
     [-Z {zoneclustername | global}] {+ | resourcetype...}
/usr/cluster/bin/clresourcetype remove-node -n node
     [,…] [-Z {zoneclustername | global}] 
     {+ | resourcetype...}
/usr/cluster/bin/clresourcetype set [-n node
     [,…] | -N] [-p [name [+| -]=value,...]  [-Z 
     {zoneclustername | global}]{+ | resourcetype...}
/usr/cluster/bin/clresourcetype show [-n node[,…]] 
     [-Z {zoneclustername[,...] | global | all}] [+ | resourcetype...]
/usr/cluster/bin/clresourcetype unregister [-Z {zoneclustername | 
     global}] {+ | resourcetype...}

描述

clresourcetype 命令用于管理 Oracle Solaris Cluster 数据服务的资源类型。clrt 命令是 clresourcetype 命令的简短格式。 clresourcetype 命令和 clrt 命令是相同的。您可以使用此命令的任一种格式。

为便于管理,请从全局群集节点运行此命令。

在区域群集中,可以将 clresourcetype 命令与所有子命令(export 除外)一起使用。

也可以将 –Z 选项与所有子命令(export 除外)一起使用来指定要将操作限制到的特定区域群集的名称。另外,还可以将区域群集名称附加到资源类型名称 (zoneclustername : resourcetype),以便将操作限制到特定的区域群集。

您可以从全局群集节点访问所有区域群集信息,但无法从特定区域群集访问其他区域群集信息。如果不将操作限制到特定区域群集,则所用的子命令仅会在当前群集中运行。

此命令的一般格式如下所示:

clresourcetype [subcommand] [options] [operands]

仅当 options 指定 –? 选项或 –V 选项时,才可以省略 subcommand

此命令的每个选项都有长格式和简短格式两种格式。在本手册页的 选项 部分给出了每个选项的两种格式,以及对该选项的描述。

子命令

支持以下子命令:

add-node

将指定的节点添加到节点列表(针对指定为命令操作数的资源类型)。

您可以在全局群集中或区域群集中使用该子命令。

从全局群集节点使用 add-node 命令时,可以使用 –Z 选项指定区域群集的名称。

此子命令接受使用加号 (+) 作为操作数来指定所有资源类型。

超级用户以外的用户需要具有 solaris.cluster.modify 基于角色的访问控制 (role-based access control, RBAC) 授权才能使用此子命令。

另请参见 remove-node 子命令的描述。

export

clconfiguration(5CL) 手册页所述的格式导出群集资源类型配置。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权才能使用该子命令。

只能在全局群集中使用该子命令。

list

显示作为命令操作数指定的资源类型的列表。默认情况下,将显示已在群集中注册的所有资源类型。此子命令接受使用加号 (+) 作为操作数来指定已在群集中注册的所有资源类型。

您可以在全局群集中或区域群集中使用该子命令。

在全局群集节点中,此子命令仅显示已在全局群集节点中注册的资源类型。要从全局群集查看已在区域群集中注册的资源类型,可以使用 –Z 选项指定区域群集。

如果指定 –nnodelist 选项,将仅显示已注册用于 nodelist 中的节点上的资源类型。

如果指定 –v 选项,还将显示列表中每种资源类型的节点列表。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权才能使用该子命令。

list-props

显示指定资源类型的属性。此子命令接受使用加号 (+) 作为操作数来指定已在群集中注册的所有资源类型。

您可以在全局群集中或区域群集中使用该子命令。

要从全局群集查看已在区域群集中注册的资源类型属性,可以使用 –Z 选项指定区域群集。

–p 选项可以限制要显示的属性集。

如果指定 –v 选项,还将显示每个属性的描述。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权才能使用该子命令。

register

注册作为命令操作数指定的资源类型。必须先注册资源类型,然后才能创建该类型的资源。

您可以在全局群集中或区域群集中使用该子命令。

要从全局群集向区域群集注册资源类型,请使用 –Z 选项指定区域群集名称。

必须将用于定义每种资源类型的数据服务安装在要使用该资源类型的每个节点上。如果数据服务仅安装在群集节点子集上,请使用 –n nodelist 选项指定节点子集。如果资源类型将在群集中所有节点上可用,请指定 –N 选项。在使用 –N 选项时,资源类型还可用于以后可能添加到群集中的任何节点。省略 –N 选项和 –nnodelist 选项相当于指定 –N 选项。要明确指定属性名称,请使用 –p Installed_nodes= nodelist 选项。

有关已向群集注册的资源类型的信息,可从用于定义资源类型的资源类型注册 (Resource Type Registration, RTR) 文件获取。RTR 文件的位置和名称通常遵循以下约定:

  • RTR 文件通常位于 /opt/cluster/lib/rgm/rtreg 目录中。

  • RTR 文件的名称通常与资源类型的名称相匹配。

Oracle 提供的所有 RTR 文件的位置和文件名称都遵循这些约定。例如,用于定义 SUNW.nfs 资源类型的 RTR 文件包含在文件 /opt/cluster/lib/rgm/rtreg/SUNW.nfs 中。

如果 RTR 文件不符合这些约定,必须指定 – frtrfile 选项。

这些约定同样适用于从区域群集注册的资源类型。当用户为区域群集注册资源类型时,RTR 文件必须驻留在区域群集 zonepath 中。无法在区域群集 zonepath 界限之外注册 RTR 文件。在为区域群集注册 Global_zone 属性设置为 TRUE 的资源类型时,RTR 文件必须驻留在 /opt/cluster/lib/rgm/rtreg /usr/cluster/lib/rgm/rtreg 目录中的全局群集节点内。如果指定这些位置之外的任何位置,资源类型将无法注册。


Caution

注意  -  不要注册 Global_zone 属性设置为 TRUE 的资源类型,除非该资源类型来自于已知的可信源。此属性设置为 TRUE 的资源类型会规避区域隔离并引起风险。


此子命令接受使用加号 (+) 作为操作数来指定尚未注册的所有资源类型。可用资源类型的完整列表按如下所示进行确定:

  • 如果指定 –iclconfiguration 选项,clconfiguration 将定义可用资源类型的完整列表。

  • 如果没有指定 –i 选项,则可用资源类型的完整列表中仅包含由 Oracle 提供的资源类型。这些资源类型还必须已在节点列表中的所有节点上安装。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权才能使用该子命令。

另请参见 unregister 子命令的描述。

remove-node

从节点列表(操作对象列表中的资源类型均已向这些节点注册)中删除一个节点。此子命令接受使用加号 (+) 作为操作数来指定已在群集中注册的所有资源类型。

您可以在全局群集中或区域群集中使用该子命令。

要从全局群集删除区域群集的资源类型,请使用 –Z 选项指定区域群集名称。

仅可对已为群集中的部分节点而不是所有节点注册的资源类型使用该子命令。因此,如果您在以下情况中使用此子命令,将会发生错误:

  • 操作数列表中的资源类型已针对群集中的所有节点进行注册。有关为群集中所有节点注册资源类型的信息,请参见 –N 选项的描述。

  • 操作数列表中资源类型的 Installed_nodes 属性尚未指定群集中节点的子集。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权才能使用该子命令。

另请参见 add-node 子命令的描述。

set

设置作为命令操作数指定的资源类型的属性。此子命令接受使用加号 (+) 作为操作数来指定已在群集中注册的所有资源类型。

您可以在全局群集中或区域群集中使用该子命令。

要从全局群集设置区域群集中资源类型的属性,请使用 –Z 选项指定区域群集名称。

仅可以设置 rt_properties(5) 手册页中定义为 Tunable Any Time 的资源类型属性。

  • 可以通过指定 –nnodelist 选项而不指定 –p 选项来修改 Installed_Nodes 属性。或者,可以通过使用 –pInstalled_Nodes= nodelist 选项明确指定属性名称。

  • 对于定义为 Tunable Any Time 的所有其他属性,必须通过使用 –pproperty = value 选项明确指定属性名称。

要限制资源类型在其上可用的节点的列表,请指定 –nnodelist 选项。相反,要指定资源类型在群集中所有节点上可用,请指定 –N 选项。在使用 –N 选项时,资源类型还可用于以后可能添加到群集中的任何节点。必须指定 –n 选项或 –N 选项。如果省略这两个选项,该子命令不会更改任何配置信息。

show

显示已在群集中注册的资源类型的相关信息。默认情况下,将显示已注册的所有资源类型的以下信息:

  • 与每个资源类型关联的属性的列表

  • 用于定义这些属性的参数

如果指定 –nnodelist 选项,将仅显示已注册用于 nodelist 中的节点上的资源类型。

如果指定 –v 选项,还将显示每种资源类型的以下信息:

  • 为资源类型定义的方法

  • 每种方法的超时参数

您可以在全局群集中或区域群集中使用该子命令。

要从全局群集查看已在区域群集中注册的资源类型,可以使用 –Z 选项指定区域群集名称。

此子命令接受使用加号 (+) 作为操作数来指定已在群集中注册的所有资源类型。如果未提供操作数,将显示已在群集中注册的所有资源类型的相关信息。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权才能使用该子命令。

unregister

取消注册作为命令操作数指定的资源类型。此子命令接受使用加号 (+) 作为操作数来指定不存在任何实例的所有已注册资源类型。

您可以在全局群集中或区域群集中使用该子命令。

要从全局群集向区域群集取消注册资源类型,请使用 –Z 选项指定区域群集名称。

在卸载用于定义资源类型的数据服务之前取消注册资源类型。

如果某特定资源类型的资源存在,则无法取消注册该资源类型。

超级用户以外的用户需要具有 solaris.cluster.admin RBAC 授权才能使用该子命令。

另请参见 register 子命令的描述。

选项

支持以下选项:

–?
–-help

显示帮助信息。使用该选项时,不会执行任何其他处理。

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

如果仅指定此选项而不使用子命令,将会显示此命令的子命令列表。

如果使用子命令且指定此选项,将会显示该子命令的用法选项。

–f rtrfile|rtrfiledir
–-rtrfile=rtrfile|rtrfiledir
–-rtrfile rtrfile|rtrfiledir

指定 RTR 文件或包含 RTR 文件的目录的完整路径以用于注册资源类型。此选项仅可以与 register 子命令一同指定。

如果指定某个文件,则仅可以注册一种资源类型。

仅当所用的 RTR 文件不符合以下约定时,才需要指定此选项:

  • RTR 文件通常位于 /opt/cluster/lib/rgm/rtreg 目录中。

  • RTR 文件的名称通常与资源类型的名称相匹配。

Oracle 提供的所有 RTR 文件的位置和文件名称都遵循这些约定。例如,用于定义 SUNW.nfs 资源类型的 RTR 文件包含在文件 /opt/cluster/lib/rgm/rtreg/SUNW.nfs 中。

如果使用 –i 选项,则可以为配置信息中指定的任何资源类型指定 resourcetypeRTRFile 元素。resourcetypeRTRFile 元素可指定要用来注册资源类型的 RTR 文件。但是,export 子命令不会在生成的配置信息中包括 resourcetypeRTRFile 元素。有关 resourcetypeRTRFile 元素的更多信息,请参见 clconfiguration(5CL) 手册页。

–i {- | clconfiguration}
–-input={- | clconfiguration}
–-input {- | clconfiguration}

指定用于注册资源类型或用来修改已注册资源类型的节点列表的配置信息。此信息必须符合 clconfiguration(5CL) 手册页中定义的格式。此信息可包含在文件中或者通过标准输入 (stdin) 提供。要指定标准输入,请指定 - 而不是文件名。

仅作为命令操作数提供的资源类型会受此选项影响。命令中指定的选项将覆盖 clconfiguration 文件中设置的任何选项。如果 clconfiguration 文件中缺少配置参数,则必须在命令行上指定这些参数。

–N
–-allnodes

指定操作数列表中的资源类型将在群集中的所有节点上可用。–N 选项还可以使这些资源类型对以后可能添加到群集中的任何节点可用。该选项可通过清除 Installed_nodes 属性实现此结果。

如果指定 –N 选项,则无法在同一命令中指定 – n 选项。

仅可随 register 子命令或 set 子命令指定 –N 选项。

–n node[,…]
–-node=node[,…]
–-node node[,…]

指定目标全局群集或区域群集中的一个节点或一系列节点。可以使用节点名称或节点 ID 指定每个节点。

如果指定 –Z 选项,则仅可以使用 –n 选项指定区域群集主机名,而不能指定全局群集主机名。如果未指定 –Z 选项,则仅可以使用 –n 选项指定全局群集主机名。

如果指定 –n 选项,则无法在同一命令中指定 – N 选项。

可以与此选项一起指定的子命令如下所述:

add-node

将指定的节点添加到已注册资源类型的节点的列表中。

list

仅显示已注册用于指定节点上的资源类型。

register

仅注册用于指定节点上的资源类型。如果省略 –n 选项,register 子命令将注册用于所有节点上的资源类型。该子命令还会为以后将添加到群集中的任何节点注册资源类型。

remove-node

从已注册资源类型的节点的列表中删除指定的节点。

set

使资源类型仅在指定节点上可用。

show

仅显示已注册用于指定节点上的资源类型的相关信息。

–o {- | clconfiguration}
–-output={- | clconfiguration}
–-output {- | clconfiguration}

指定资源类型的相关配置信息将写入到的位置。此位置可以是某个文件或标准输出 (stdout)。要指定标准输出,请指定 - 而不是文件名。如果指定标准输出,将会抑制该命令的其他所有标准输出。此选项仅可以与 export 子命令一同指定。

仅会写入作为命令操作数提供的资源类型的配置信息。信息是采用 clconfiguration(5CL) 手册页中定义的格式写入的。

–p name=value
–p name+=array-values
–p name-=array-values
–-property=name=value
–-property=name+=array-values
–-property=name-=array-values
–-property name=value
–-property name+=array-values
–-property name-=array-values

设置作为命令操作数提供的资源类型的属性值。

与此选项一起使用的运算符如下所述:

=

将属性设置为指定值。

+=

将一个或多个值添加到某个字符串数组值。仅可以为接受字符串值列表的属性指定此运算符,例如 Installed_nodes

-=

从某个字符串数组值中删除一个或多个值。仅可以为接受字符串值列表的属性指定此运算符,例如 Installed_nodes

set 子命令中使用选项 –p Installed_nodes+=nodeC,nodeD 相当于在 add-node 子命令中使用选项 –n nodeC,nodeD

–p name[,…]
–-property=name[,…]
–-property name[,…]

指定 list-props 子命令的属性列表。

–V
–-version

显示该命令的版本。

指定此选项时,不要将其与子命令、操作数或其他选项结合使用。子命令、操作数或其他选项将被忽略。–V 选项只显示命令的版本。不会执行任何其他操作。

–v
–-verbose

将详细消息显示到标准输出 (stdout )。

可以在任何格式的此命令中指定该选项。

请不要同时指定 –v 选项和 –o - 选项。–v 选项将被忽略。–o - 选项会抑制其他所有标准输出。

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

指定已注册资源类型且要对其执行操作的一个或多个群集。

export 子命令以外的所有子命令均支持此选项。

如果指定此选项,还必须指定以下列表中的参数之一:

zoneclustername

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

global

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

all

如果在全局群集中使用此参数,则会指定使用此参数的命令对所有群集(包括全局群集和所有区域群集)中的所有指定资源类型起作用。

如果在某区域群集中使用此参数,则会指定使用此参数的命令仅对该区域群集中的所有指定资源类型起作用。

操作数

仅支持以下操作数:

resourcetype

指定要管理的一种或多种资源类型。如果子命令接受多种资源类型,则可以使用加号 (+) 指定所有资源类型。

有关资源类型名称格式的描述,请参见Oracle Solaris Cluster 数据服务规划和管理指南 中的合法的 RGM 名称

退出状态

如果命令对于所有指定的操作数均成功执行,则返回零 (CL_NOERR)。如果某个操作数出错,命令会继续处理操作数列表中的下一个操作数。返回的退出代码始终反映最先发生的错误。

可返回下列退出代码:

0 CL_NOERR

没有错误

您发出的命令已成功完成。

1 CL_ENOMEM

交换空间不足

某个群集节点耗尽了交换内存或其他操作系统资源。

3 CL_EINVAL

参数无效

您键入的命令不正确,或者使用 –i 选项提供的群集配置信息语法不正确。

6 CL_EACCESS

权限被拒绝

指定的对象不可访问。要发出命令,可能需要拥有超级用户或 RBAC 访问权限。有关更多信息,请参见 su(1M)rbac(5) 手册页。

18 CL_EINTERNAL

遇到内部错误

内部错误表示软件缺陷或其他缺陷。

35 CL_EIO

I/O 错误

发生了物理输入/输出错误。

36 CL_ENOENT

没有这样的对象

由于以下某个原因,找不到您所指定的对象:

  • 该对象不存在。

  • 您尝试使用 –o 选项创建的配置文件路径中的某个目录不存在。

  • 您尝试使用 –i 选项访问的配置文件包含错误。

37 CL_EOP

不允许操作

您尝试对不受支持的配置执行操作,或者您所执行的操作不受支持。

41 CL_ETYPE

类型无效

您使用 –t–p 选项指定的类型不存在。

这些退出值与 scha_calls(3HA) 手册页中描述的返回码兼容。

示例

示例 1 注册资源类型

本示例注册其数据服务已安装在所有节点上但尚未注册的所有资源类型。该命令以简洁模式运行。

# clresourcetype register +
示例 2 在选定的节点上注册资源类型

本示例注册其数据服务已安装在节点 phys-schost-1 和节点 phys-schost-2 上但尚未注册的所有资源类型。资源将仅在这些节点上可用。在本示例中,该命令没有返回任何错误。该命令以详细模式运行。

# clresourcetype register -v -n phys-schost-1,phys-schost-2 +

以下命令将注册其数据服务已安装在区域群集 ZC 的区域群集节点 zc-host-1zc-host-2 上但尚未注册的所有资源类型。资源仅在这些区域群集节点上可用。

#.clresourcetype register -n zc-host-1,zc-host-2 -Z ZC +
示例 3 注册单个资源类型

本示例注册 SUNW.nfs:3.2 资源类型。此资源类型的数据服务将安装在所有群集节点上。

# clresourcetype register nfs:3.2
示例 4 列出资源类型

本示例仅列出所有已注册的资源类型的名称。

# clresourcetype list
SUNW.LogicalHostname
SUNW.SharedAddress
SUNW.nfs
SUNW.apache
示例 5 列出资源类型及其节点列表

本示例列出所有已注册的资源类型及其节点列表。

# clresourcetype list -v

Resource Type         Node List
-------------         ---------
SUNW.LogicalHostname  <all>
SUNW.SharedAddress    <all>
SUNW.nfs	             phys-schost-1,phys-schost-2,phys-schost-3
SUNW.apache           phys-schost-1,phys-schost-2,phys-schost-3

在从全局群集节点执行以下命令时,该命令会列出区域群集 ZC 中所有已注册的资源类型。

#.clresourcetype list -Z ZC
SUNW.nfs
SUNW.apache
示例 6 列出指定节点上的资源类型

本示例列出已在 phys-schost-4 上注册的所有资源类型。

# clrt list -n phys-schost-4
SUNW.LogicalHostname
SUNW.SharedAddress

属性

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

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

另请参见

Intro(1CL), clreslogicalhostname(1CL ), clresource(1CL), clresourcegroup(1CL), clressharedaddress(1CL), cluster(1CL), scha_calls(3HA), clconfiguration(5CL), r_properties(5), attributes(5), rbac(5)

Oracle Solaris Cluster 数据服务规划和管理指南 中的资源组属性

附注

超级用户可以运行此命令的所有格式。

任何用户都可以运行带有以下选项的此命令:

  • –? 选项

  • –V 选项

要运行带有子命令的此命令,超级用户以外的用户需要具有 RBAC 授权。请参见下表。

子命令
RBAC 授权
add-node
solaris.cluster.modify
export
solaris.cluster.read
list
solaris.cluster.read
list-props
solaris.cluster.read
set
solaris.cluster.modify
register
solaris.cluster.modify
remove-node
solaris.cluster.modify
show
solaris.cluster.read
unregister
solaris.cluster.admin