Oracle® Solaris Cluster 参考手册

退出打印视图

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

clrg (1CL)

名称

clresourcegroup, clrg - 管理 Oracle Solaris Cluster 数据服务的资源组

用法概要

/usr/cluster/bin/clresourcegroup -V
/usr/cluster/bin/clresourcegroup [subcommand] -?
/usr/cluster/bin/clresourcegroup subcommand [options] -v [resourcegroup …]
/usr/cluster/bin/clresourcegroup add-node -n node[,...] [-S] [-Z {zoneclustername | global}] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup create [-S] [-n node[,...]] [-p name=value] […] [-Z {zoneclustername | global}] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup create -i {- | clconfigfile} [-S] [-n node [,...]] [-p name=value] […] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup delete [-F] [-Z {zoneclustername | global}] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup evacuate -n node[,...] [-T seconds] [-Z {zoneclustername | global}] {+}
/usr/cluster/bin/clresourcegroup export [-o {- | configfile}] [+ | resourcegroup...]
/usr/cluster/bin/clresourcegroup list [-n node[,...]] [-r resource[,...]] [-s state[,...]] [-t resourcetype[,...]] [ [-Z {zoneclustername[,...] | global | all}] [+ | resourcegroup...]
/usr/cluster/bin/clresourcegroup manage [-Z {zoneclustername | global}] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup offline [-n node [,...]] ] [-Z {zoneclustername | global}] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup online [-e] [-m] [-M] [-n node [,...]] [-Z {zoneclustername | global}] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup quiesce [-k] [-Z {zoneclustername | global}] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup remaster [-Z {zoneclustername | 
     global}] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup remove-node -n node
     [,...]  [-Z {zoneclustername | global}]
     {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup restart [-n node[,...]] 
     [-Z zoneclustername |global}] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup resume [-Z {zoneclustername | 
     global}] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup set [-n node[,...]] -p name[+|-]=value […]  
     [-Z {zoneclustername | global}] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup show [-n node[,...]] 
     [-p name[,...]] [-r resource[,...]] [-t resourcetype[,...]] 
     [-Z {zoneclustername[,...] | global | all}] 
     [+ | resourcegroup...]
/usr/cluster/bin/clresourcegroup status [-n node[,...]] 
     [-r resource [,]...] [-s state [,]...] [-t resourcetype 
     [,]...] [-Z {zoneclustername[,...] | global | all}] 
     [+ | resourcegroup...]
/usr/cluster/bin/clresourcegroup suspend [-k] [-Z 
     {zoneclustername | global}] {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup switch -n node[,...] 
     [-e] [-m] [-M] [-Z {zoneclustername | global}] 
     {+ | resourcegroup...}
/usr/cluster/bin/clresourcegroup unmanage [-Z {zoneclustername | 
     global}] {+ | resourcegroup...}

描述

该命令管理 Oracle Solaris Cluster 数据服务资源组。

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

每个选项都有长和短两种格式。在 选项 中给出每个选项的两种格式以及该选项的描述。

clrg 命令是 clresourcegroup 命令的简短格式。

子命令需要至少一个操作数,但 listshowstatus 除外。但是,很多子命令都支持加号操作数 (+)。该操作数将子命令应用于所有适用的对象。

可以在区域群集中使用该命令的某些格式。有关有效使用该命令的更多信息,请参见各个子命令的描述。为便于管理,请从全局群集节点使用此命令。

资源和资源组

资源状况、资源组状况和资源状态均是基于每个节点进行维护的。例如,一个给定资源在每个群集节点上可以具有不同的状况和状态。


注 -  状况名称(例如 OfflineStart_failed 区分大小写。指定状况名称时,可以使用大小写字母的任意组合。

资源状态是由资源组管理器 (Resource Group Manager, RGM) 仅根据对资源调用的方法在每个节点上设置的。例如,在给定节点上对某个资源成功运行 STOP 方法后,该资源在此节点上的状态将为 Offline。如果 STOP 方法返回非零值或超时,则该资源的状态为 Stop_failed

可能的资源状态包括:OnlineOffline Start_failedStop_failed Monitor_failedOnline_not_monitoredStarting Stopping

可能的资源组状态包括:Unmanaged OnlineOfflinePending_online Pending_offlineError_stop_failedOnline_faulted Pending_online_blocked

除资源状况外,RGM 还可以维护资源状态,资源状态可由资源本身使用 API 设置。Status Message 字段实际上包括两个组成部分:状态关键字和状态消息。状态消息由资源有选择性地进行设置,它是在状态关键字后面输出的任意文本字符串。

资源状态可能值的描述如下:

Degraded

资源已联机,但其性能或可用性可能在某方面出现了下降。

Faulted

资源遇到错误,无法正常运行。

Offline

资源已脱机。

Online

资源已联机,正在提供服务。

Unknown

当前状态是未知或正在转换。

在区域群集中使用此命令

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

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

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

您可以指定某区域群集中的资源组与另一个区域群集中的资源组(或全局群集中的资源组)之间的关联性。可以使用以下命令指定不同区域群集中的资源组之间的关联性:

# clresourcegroup set -p RG_affinities={+|++|-|--}
target-zc:target-rg 
source-zc:source-rg

    关联性类型可以是以下类型之一:

  • +(弱正)

  • ++(强正)

  • +++(包含故障转移委托的强正)

  • -(弱负)

  • --(强负)

例如,如果需要指定区域群集 ZC1 中的资源组 RG1 与区域群集 ZC2 中的资源组 RG2 之间的强正关联性 (++ ),请使用以下命令:

# clresourcegroup set -p RG_affinities=++ZC2:RG2 ZC1:RG1

要指定区域群集 ZC1 中的资源组 RG1 和区域群集 ZC2 中的资源组 RG2 之间包含故障转移委托的强正关联性 (+++),请使用以下命令:

# clresourcegroup set -p RG_affinities=+++ZC2:RG2 ZC1:RG1

要指定区域群集 ZC1 中的资源组 RG1 和全局群集中的资源组 RG2 之间的强负关联性 (--),请使用以下命令:

# clresourcegroup set -p RG_affinities=--global:RG2 ZC1:RG1


资源组可以跨群集节点或区域自动分布。有关更多信息,请参见 rg_properties(5) 手册页中的 Load_factors、Priority 和 Preemption_mode 项。

子命令

支持以下子命令:

add-node

将节点添加到某个资源组的 Nodelist 属性的末尾。

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

列表中节点和区域的顺序指定了在这些节点或区域上使资源组联机的首选顺序。要将节点添加到 Nodelist 属性中的其他位置,请使用 set 子命令。

要从全局群集节点为特定区域群集中的资源组添加节点,您可以使用 –Z 选项指定该区域群集的名称。

超级用户以外的用户需要具有 solaris.cluster.modify 基于角色的访问控制 (Role-Based Access Control, RBAC) 授权才能使用该子命令。请参见 rbac(5) 手册页。

create

创建新的资源组。

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

要从全局群集节点在特定区域群集中创建资源组,您可以使用 –Z 选项指定该区域群集的名称。

如果您使用 –i 选项指定了一个配置文件,则可以指定加号操作数 (+)。该操作数指定您要创建该文件中提供的尚不存在的所有资源。

要设置新资源组的 Nodelist 属性,请指定以下选项之一:

  • –n node

  • –p Nodelist=-node– ][,…]

  • –i clconfigfile

列表中节点的顺序指定了在这些节点上使资源组联机的首选顺序。如果在创建时没有指定节点列表,则 Nodelist 属性会设置为在群集中配置的所有节点。顺序是任意的。

默认情况下,创建资源组时 RG_mode 属性已设置为 Failover。但是,通过使用 –S 选项或 –p RG_mode=Scalable 选项,或将 Maximum_primaries 设置为大于 1 的值,可以创建可伸缩的资源组。仅当创建资源组后才可以设置该资源组的 RG_mode 属性。

创建资源组时始终会将资源组置于不受管理状态。但在您发出 manage 子命令或使用 –M 选项发出 onlineswitch 子命令时,RGM 会将其状态更改为受管理状态。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

delete

删除资源组。

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

要从全局群集节点删除特定区域群集中的资源组,您可以使用 –Z 选项指定该区域群集的名称。

可以随该子命令指定加号操作数 (+) 以删除所有资源组。

如果资源组包含资源,除非指定了 –F 选项,否则无法删除这些资源组。如果指定了 –F 选项,则每个组及其中的所有资源都会被删除。还会同时删除所有依赖性和关联性。

该子命令将按照反映资源和资源组依赖性的顺序删除多个资源组。在命令行中指定资源组的顺序无关紧要。

clresourcegroup delete 命令的以下格式是通过几个步骤完成的:

  • 同时删除多个资源组时

  • 使用 –F 选项删除某个资源组时

如果以上任一格式的命令被中断(例如,节点出现故障),则某些资源组的配置可能会处于无效状态。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

evacuate

使通过 –n 选项指定的节点上的所有资源组脱机。

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

从全局群集节点运行 evacuate 命令时,该子命令会清除该全局群集或区域群集中的所有资源组。在区域群集中,该子命令仅清除指定区域群集中的资源组。要从全局群集节点清除特定区域群集中的资源组,您可以使用 –Z 选项指定该区域群集的名称。

资源组会按照反映资源和资源组依赖性的顺序进行脱机。

您可以将 –T 选项与该子命令一起使用,以指定用于阻止资源组切换回的秒数。如果未指定值,将使用默认值 60 秒。

在清除完成之后的 60 秒或指定的秒数内,防止资源组在清除的节点上进行故障转移或自动联机。

但是,如果您使用 switchonline 子命令使资源组联机,或清除的节点重新引导,则清除计时器将立即过期并再次允许自动故障转移。

超级用户以外的用户需要具有 solaris.cluster.admin RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

export

将资源组的配置信息写入一个文件或标准输出 (stdout)。

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

clconfiguration(5CL) 手册页中描述了该配置信息的格式。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

list

显示按您指定的限定符选项过滤的资源组的列表。

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

可以使用 -r resource 来仅包括含有资源的资源组。可以使用 -t resourcetype 来仅包括含有 resourcetype 中某个资源类型的资源组。可以使用 -n node 来仅包括在一个或多个节点上处于联机状态的资源组。

如果指定了 -s state,则仅会列出具有指定状态的组。

如果未指定操作数或指定了加号操作数 (+),则会列出按您指定的任何限定符选项过滤的所有资源组。

如果指定了详细选项 –v,则会显示状态(资源组是处于联机还是脱机状态)。即使资源组只在群集中的一个节点上处于联机状态,列出该资源组时该资源组也会显示为联机状态。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

manage

将您所指定的资源组置于被管理状态。

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

如果从全局群集节点使用该子命令,则该子命令可以对任何资源组进行操作。如果在区域群集中使用该子命令,则该子命令只能对区域群集中的资源组成功进行操作。要从全局群集节点管理特定区域群集中的资源组,可以使用 –Z 选项指定该区域群集的名称。

超级用户以外的用户需要具有 solaris.cluster.admin RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

offline

将您所指定的资源组置于脱机状态。

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

如果从全局群集节点使用该子命令,则该子命令可以对任何资源组进行操作。如果在区域群集中使用该子命令,则该子命令只能对区域群集中的资源组成功进行操作。要从全局群集节点使特定区域群集中的资源组脱机,可以使用 –Z 选项指定该区域群集的名称。

如果指定了 –n 选项,则只会使资源组在指定的节点上脱机。

如果未指定 –n 选项,则会使资源组在所有节点上脱机。

如果使用 offline 子命令使某资源组脱机,则重新引导节点后该资源组的 Offline 状态不会保留。换句话说,如果节点停止或加入群集,则资源组可以在某个节点中进入联机状态,即使您先前已将资源组切换到脱机状态。即使所有资源都被禁用,该资源组还是会进入联机状态。

同样,声明任何 RG_dependencies 或强 RG_affinities 的资源组可以在切换到其他资源组时自动进入联机状态。

要防止资源组自动进入联机状态,请使用 suspend 子命令暂停该资源组的自动恢复操作。要继续自动恢复操作,请使用 resume 子命令。

资源组会按照反映资源和资源组依赖性的顺序进行脱机。

超级用户以外的用户需要具有 solaris.cluster.admin RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

online

将您所指定的资源组置于联机状态。

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

如果从全局群集节点使用该子命令,则该子命令可以对任何资源组进行操作。如果在区域群集中使用该子命令,则该子命令只能对区域群集中的资源组成功进行操作。要从全局群集节点使特定区域群集中的资源组联机,可以使用 –Z 选项指定该区域群集的名称。

使用 –n 选项指定要使资源组在其上联机的节点的列表。如果未指定 –n 选项,则该子命令会使资源组在它们最偏爱的节点上联机,且不使这些组从其当前的任何主节点脱机。每个资源组的联机节点总数受 Desired_primaries 和 Maximum_primaries 属性限制。节点的首选排序由 NodelistRG_affinitiesLoad_factors 属性决定。有关这些属性的更多信息,请参见 rg_properties(5) 手册页。

当命令行中提供了多个资源组操作数并且未指定 –n 选项时,系统会按照由 Priority 属性确定的顺序为这些资源组操作数分配主节点,其中优先级最高的资源组会首先获得节点分配。分配完主节点后,所有资源组操作数会并行脱机,除非受到资源依赖性或资源组依赖性的约束。在命令行中指定资源组的顺序无关紧要。有关 Priority 属性的更多信息,请参见 rg_properties(5) 手册页。

优先级较低的资源组可能无法分配到其最偏爱的节点,或者当超出负载限制时可能受优先级较高的资源组影响而强制脱机。有关更多信息,请参见 clnode(1CL) 手册页中的 loadlimit 子命令。

switch 子命令不同,该子命令不会尝试将 Nodelist 属性中列出的任何节点切换到 Offline 状态。

如果随该子命令指定了 –e 选项,则会启用资源组集中已联机的所有资源。

可以指定 –m 选项来监视处于联机状态的资源组集中的所有资源。但是,除非资源已启用并与某个 MONITOR_START 方法相关联,否则系统不会真正监视它们。

您还可以指定 –M 选项以指示将处于联机状态的所有资源组置于受管理状态。如果未指定 – M 选项,则该子命令对不受管理的资源组没有任何影响。

超级用户以外的用户需要具有 solaris.cluster.admin RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

quiesce

将您所指定的资源组置于停止状态。

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

如果从全局群集节点使用该子命令,则该子命令可以对任何资源组进行操作。如果在区域群集中使用该子命令,则该子命令只能对区域群集中的资源组成功进行操作。要从全局群集节点对特定区域群集中的资源组进行操作,您可以使用 –Z 选项指定该区域群集的名称。

如果 STARTSTOP 方法失败,该命令将阻止资源组从一个节点连续切换到另一个节点。如果停止方法失败并将资源的 Failover_mode 属性设置为 HARD,它还将阻止节点重新引导(通常情况下会发生重新引导)。在这种情况下,资源将改为 STOP_FAILED 状态。

使用 –k 选项可中止代表受影响资源组中的资源运行的方法。如果未指定 –k 选项,系统会允许方法继续运行,直到这些方法退出或超过所配置的超时时间。

超级用户以外的用户需要具有 solaris.cluster.admin RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

remaster

将指定的资源组从它们当前的主节点切换到它们最偏爱的节点。每个资源组的联机节点总数受 Desired_primaries 和 Maximum_primaries 属性限制。节点的首选排序由 NodelistRG_affinitiesLoad_factors 属性决定。有关更多信息,请参见 clnode(1CL)rg_properties(5) 手册页。

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

如果从全局群集节点使用该子命令,则该子命令可以对任何资源组进行操作。如果在区域群集中使用该子命令,则该子命令只能对区域群集中的资源组成功进行操作。要从全局群集节点对特定区域群集中的资源组进行操作,可以使用 –Z 选项指定该区域群集的名称。

online 子命令不同,该子命令可以使资源组在其当前主节点上脱机,并使其在更优先的主节点上联机。

当命令行中提供了多个资源组操作数时,系统会按照由 Priority 属性确定的顺序为这些资源组操作数分配主节点,其中优先级最高的资源组会先获得节点分配。在命令行中指定资源组的顺序无关紧要。有关更多信息,请参见 rg_properties(5) 手册页。

优先级较低的资源组可能无法分配到其最偏爱的节点,或者当超出负载限制时可能受优先级较高的资源组影响而强制脱机。有关更多信息,请参见 clnode(1CL) 手册页的 loadlimit 子命令。

该子命令对不受管理的资源组不会产生任何影响。

超级用户以外的用户需要具有 solaris.cluster.admin RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

remove-node

从资源组的 Nodelist 属性中删除节点。

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

您可以从全局群集节点或区域群集使用该子命令。要从全局群集节点为某区域群集中的某资源组删除节点,您可以使用 –Z 选项指定该区域群集的名称。

在删除节点后,remove-node 可能会将 Maximum_primariesDesired_primaries 属性的值重置为 Nodelist 属性中的新节点数。仅当任意一个值超过 Nodelist 属性中的新节点数时,remove-node 才会重置 Maximum_primariesDesired_primaries 属性的值。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

restart

使某个资源组在当前承载该资源组的一组主节点上脱机后再重新联机。

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

如果从全局群集节点使用该子命令,则该子命令可以对任何资源组进行操作。如果在区域群集中使用该子命令,则该子命令只能对区域群集中的资源组成功进行操作。要从全局群集节点对特定区域群集中的资源组进行操作,可以使用 –Z 选项指定该区域群集的名称。

如果指定了 –n 选项,则资源组仅在您指定的节点列表中包含的当前主节点上重新启动。

超级用户以外的用户需要具有 solaris.cluster.admin RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

resume

在之前由 suspend 子命令暂停的指定资源组上继续执行自动恢复操作。

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

如果从全局群集节点使用该子命令,则该子命令可以对任何资源组进行操作。如果在区域群集中使用该子命令,则该子命令只能对区域群集中的资源组成功进行操作。要从全局群集节点对特定区域群集中的资源组进行操作,可以使用 –Z 选项指定该区域群集的名称。

在您没有明确发出命令继续执行自动恢复过程之前,已暂停的资源组不会自动重新启动或进行故障转移。无论是联机还是脱机,已暂停的数据服务都仍将处于其当前状态。您仍可在指定的节点上将资源组手动切换到不同的状态。此外,您依然可以启用或禁用资源组中的单个资源。

超级用户以外的用户需要具有 solaris.cluster.admin RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

set

修改与您指定的资源组相关联的属性。

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

如果从全局群集节点使用该子命令,则该子命令可以对任何资源组进行操作。如果在区域群集中使用该子命令,则该子命令只能对区域群集中的资源组成功进行操作。要从全局群集节点对特定区域群集中的资源组进行操作,可以使用 –Z 选项指定该区域群集的名称。

您可以使用 -p Nodelist=node-n node(简便方式)修改 Nodelist 属性。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

show

为您指定的资源组生成配置报告(按限定符选项过滤)。

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

可以使用 –r resource 来仅包括含有资源的资源组。可以使用 –t resourcetype 来仅包括含有 resourcetype 中某个资源类型的资源组。可以使用 -n node 来仅包括在一个或多个节点上处于联机状态的资源组。您可以从全局群集使用 –Z 选项来仅包括在指定区域群集中处于联机状态的那些资源组。

您可以使用 –p 选项显示选定的一组资源组属性(而非所有资源组属性)。

如果未指定操作数或指定了加号操作数 (+),则会列出按您指定的任何限定符选项过滤的所有资源组。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

status

为您指定的资源组生成状态报告(按限定符选项过滤)。

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

如果在区域群集中使用该命令,则该子命令仅应用于该区域群集中的资源组。

可以使用 -r resource 来仅包括含有资源的资源组。可以使用 -t resourcetype 来仅包括含有 resourcetype 中某个资源类型的资源组。可以使用 -n node 来仅包括在一个或多个节点上处于联机状态的资源组。您可以从全局群集节点使用 –Z 选项指定一个区域群集,以便仅包括在指定区域群集中处于联机状态的那些资源组。

如果指定了 -s state,则仅会列出具有指定状态的组。


注 -  您可以在 status 子命令中指定 –n 选项或 –s 选项。但是您不能随 status 子命令同时指定这两个选项。

如果未指定操作数或指定了加号操作数 (+),则会列出按您指定的任何限定符选项过滤的所有资源组。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

suspend

暂停自动恢复操作并停止指定的资源组。

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

如果在全局群集节点中使用该子命令,则该子命令可以对任何资源组进行操作。如果在区域群集中使用该子命令,则该子命令只能对区域群集中的资源组成功进行操作。要从全局群集节点对特定区域群集中的资源组进行操作,可以使用 –Z 选项指定该区域群集的名称。

在您没有明确发出命令继续执行自动恢复过程之前,已暂停的资源组不会自动重新启动或进行故障转移。无论是联机还是脱机,已暂停的数据服务都仍将处于其当前状态。资源组已暂停时,可以通过使用带有子命令(如 switchonlineofflinedisableenable)的 clresourcegroup (1CL) 或 clresource (1CL) 命令,在特定的节点上将资源组或其资源手动切换到其他状态。无需直接对资源执行操作(如中止应用程序进程或运行应用程序特定的命令),只需使用 clresourcegroup (1CL) 或 clresource (1CL) 命令即可。这样,群集框架就可以保持资源和资源组的当前状态的准确情形,以便在执行 resume 子命令时正确恢复可用性。

为了检查并修复群集中存在的问题或在资源组服务上执行维护,您可能需要暂停资源组的自动恢复过程。

还可以指定 –k 选项以立即中止代表受影响资源组中的资源运行的方法。使用 –k 选项可以加速资源组的停顿。如果未指定 –k 选项,系统会允许方法继续运行,直到这些方法退出或超过所配置的超时时间。

超级用户以外的用户需要具有 solaris.cluster.admin RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

switch

更改控制您所指定的资源组的一个节点或一组节点。

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

如果在全局群集节点中使用该子命令,则该子命令可以对任何资源组进行操作。如果在区域群集中使用该子命令,则该子命令只能对区域群集中的资源组成功进行操作。

使用 –n 选项指定要使资源组在其上联机的节点的列表。您可以从全局群集节点使用 –Z 选项指定一个区域群集,以便仅包括指定区域群集中的资源组列表。

如果某个资源组尚未联机,则该资源组将在由 –n 选项指定的一组节点上联机。但是,处于联机状态的组在新节点上联机之前,会在 –n 选项未指定的节点上脱机。

如果随该子命令指定了 –e,则会启用资源组集中已联机的所有资源。

您可以指定 –m 来监视处于联机状态的资源组集中的所有资源。但是,除非资源已启用并与某个 MONITOR_START 方法相关联,否则系统不会真正监视它们。

可以指定 –M 选项以指示将处于联机状态的所有资源组置于受管理状态。如果未指定 – M 选项,则该子命令对不受管理的资源组没有任何影响。

资源组会按照反映资源和资源组依赖性的顺序进行联机。在命令行中指定组的顺序无关紧要。

优先级较低的资源组可能无法切换到指定的节点,或者当超出负载限制时甚至可能受优先级较高的资源组影响而强制脱机。有关更多信息,请参见 clnode(1CL) 手册页中的 loadlimit 子命令。

超级用户以外的用户需要具有 solaris.cluster.admin RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

unmanage

将您所指定的资源组置于不被管理的状态。

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

如果从全局群集节点使用该子命令,则该子命令可以对任何资源组进行操作。如果在区域群集中使用该子命令,则该子命令只能对同一区域群集中的资源组成功进行操作。要从全局群集节点对特定区域群集中的资源组进行操作,可以使用 –Z 选项指定该区域群集的名称。

超级用户以外的用户需要具有 solaris.cluster.admin RBAC 授权才能使用该子命令。请参见 rbac(5) 手册页。

选项

支持以下选项:


注 -  该部分显示了每个选项的短和长两种格式。
–?
-–help

显示帮助信息。

指定此选项时,subcommand 可有可无。

如果没有随该选项指定 subcommand,将会显示所有可用子命令的列表。

如果随该选项指定了 subcommand,将会显示 subcommand 的用法。

如果在 createset 子命令中指定了该选项,将显示所有资源组属性的帮助信息。

如果是与其他选项、子命令或操作数一起指定该选项,将忽略所有这些内容。不会发生任何其他处理。

–e
-–enable

在资源组进入联机状态时,启用该资源组内的所有资源。

此选项只能与 switch online 子命令一起使用。

–F
-–force

强制删除资源组及其所有资源,即使这些资源处于启用或联机状态。此选项还从其他资源和资源组的任何依赖性属性设置或关联性属性设置中删除资源和资源组。

请谨慎使用 –F 选项和 delete 子命令。强制删除操作可能会导致引用被删除的资源组的其他资源组发生变化,例如当设置了依赖性或关联性时。在执行强制删除操作后,具有依赖性的资源可能会处于无效或错误状态。如果发生这种情况,您可能需要重新配置或重新启动受影响的具有依赖性的资源。

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

指定您要使用位于 clconfigfile 文件中的配置信息。请参见 clconfiguration(5CL) 手册页。

随该选项指定一个破折号 (-) 将通过标准输入 (stdin) 提供配置信息。

如果指定了其他选项,则这些选项优先于 clconfigfile 中的选项和信息。

只有您指定的那些资源组才会受此选项的影响。

–k
-–kill

中止代表您指定的资源组中的资源运行的 RGM 资源方法。

可以将此选项与 quiescesuspend 子命令一起使用。如果未指定 –k 选项,系统会允许方法继续运行,直到这些方法退出或超过所配置的超时时间。

–m
-–monitor

在资源组进入联机状态时,监视该资源组内的所有资源。

但是,除非资源已启用并与某个 MONITOR_START 方法相关联,否则系统不会真正监视它们。

此选项只能与 switch online 子命令一起使用。

–M
-–manage

指定通过 switchonline 子命令进行联机的所有资源组均置于受管理状态。

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

指定目标全局群集或区域群集中的一个节点或一系列节点。如果指定 –Z 选项,则仅可以使用 –n 选项指定区域群集主机名,而不能指定全局群集主机名。如果未指定 –Z 选项,则仅可以使用 –n 选项指定全局群集主机名。

可以将节点的名称或标识符指定为 node

listshowstatus 子命令结合使用时,该选项会限制输出。仅会包括当前在节点列表中的一个或多个节点上处于联机状态的那些资源组。

createadd-node remove-nodeset 子命令中指定该选项等同于设置 Nodelist 属性。Nodelist 属性中节点的顺序指定了在这些节点上使该组联机的顺序。如果没有在 create 子命令中指定节点列表,则 Nodelist 属性会设置为群集中的所有节点。顺序是任意的。

switchonline 子命令一起使用时,该选项指定要在其上使资源组联机的节点。

evacuateoffline 子命令一起使用时,该选项指定要在其上使资源组脱机的节点。

restart 子命令一起使用时,该选项指定要在其上重新启动资源组的节点。资源组在位于指定列表中的当前主节点上重新启动。

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

将资源组配置信息写入一个文件或标准输出 (stdout)。clconfiguration(5CL) 手册页中描述了该配置信息的格式。

如果您使用该选项指定文件名称,该选项将创建新的文件。然后将配置信息置于该文件中。如果您使用该选项指定 -,则会将配置信息发送到标准输出 (stdout)。命令的所有其他标准输出将受到抑制。

仅可以将此选项与 export 子命令一起使用。

–p name
–-property=name
–-property name

指定资源组属性列表。

将此选项与 show 子命令一起使用。

有关您可以使用 createset 子命令设置或修改的属性的信息,请参见 –p name= value 选项的相关描述。

如果没有指定该选项,show 子命令会列出大部分资源组属性。如果没有指定该选项但在 show 子命令中指定了 –verbose 选项,则该子命令会列出所有资源组属性。

Oracle Solaris Cluster 数据服务规划和管理指南 中的资源组属性描述了您可以指定的资源组属性。

–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

设置或修改资源组属性的值。

此选项只能与 create set 子命令一起使用。

有关可以使用 show 子命令显示其相关信息的属性的信息,请参见 –p name 选项的描述。

允许多个 –p 实例。

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

=

将属性设置为指定值。createset 子命令接受此运算符。

+=

将一个或多个值添加到属性值列表。只有 set 子命令接受此运算符。仅可以为接受字符串值列表的属性指定此运算符,例如 Nodelist

–=

从属性值列表中删除一个或多个值。只有 set 子命令接受此运算符。仅可以为接受字符串值列表的属性指定此运算符,例如 Nodelist

–r resource[,…]
-–resource=resource[,…]
-–resource resource[,…]

指定一个资源或资源列表。

此选项只能与 listshow status 子命令一起使用。该选项限制这些命令的输出。只会输出包含资源列表中的一个或多个资源的那些资源组。

–s state[,…]
-–state=state[,…]
-–state state[,…]

指定一个资源组状态或资源组状态列表。

此选项只能与 status 子命令一起使用。该选项限制输出,以便仅显示在任何指定节点上处于指定状态的那些资源组。您可以随该选项指定一个或多个以下参数(状态):

Error_stop_failed

显示在您指定的任何节点上处于 Error_stop_failed 状态的任何指定资源组。

Not_online

显示在您指定的任何节点上处于 online 之外的任何状态的任何指定资源组。

Offline

仅当某个指定资源组在您指定的所有节点上处于 Offline 状态时才显示该资源组。

Online

显示在您指定的任何节点上处于 Online 状态的任何指定资源组。

Online_faulted

显示在您指定的任何节点上处于 Online_faulted 状态的任何指定资源组。

Pending_offline

显示在您指定的任何节点上处于 Pending_offline 状态的任何指定资源组。

Pending_online

显示在您指定的任何节点上处于 Pending_online 状态的任何指定资源组。

Pending_online_blocked

显示在您指定的任何节点上处于 Pending_online_blocked 状态的任何指定资源组。

Unmanaged

显示在您指定的任何节点上处于 Unmanaged 状态的任何指定资源组。

–S
-–scalable

创建一个可伸缩资源组或更新 Maximum_primaries Desired_primaries 属性。

此选项只能与 create add-node 子命令一起使用。

create 子命令一起使用时,该选项可以创建可伸缩的资源组,而非故障转移资源组。该选项还会将 Maximum_primariesDesired_primaries 属性设置为生成的 Nodelist 属性中的节点数。

仅当资源组已经是可伸缩的时,才可以将该选项与 add-node 子命令一起使用。与 add-node 子命令一起使用时,该选项会将 Maximum_primariesDesired_primaries 属性设置为生成的 Nodelist 属性中的节点数。

也可以使用 – p 选项设置 RG_modeMaximum_primaries Desired_primaries 属性。

–t resourcetype[,…]
-–type=resourcetype[,…]
-–type resourcetype[,…]

指定一个资源类型或资源类型列表。

此选项只能与 listshow status 子命令一起使用。该选项限制这些命令的输出。只会输出包含属于资源类型列表中的类型的一个或多个资源的那些资源组。

您将资源类型指定为 [prefix。] type[:RT-version]. 例如,nfs 资源类型可以表示为 SUNW.nfs:3.2 SUNW.nfsnfs。仅当在群集中注册的一个资源类型具有多个版本时,您才需要包括 RT-version。如果没有包括 prefix,则会采用 SUNW

–T seconds
-–time=seconds
-–time seconds

指定在从节点中清除资源组之后阻止资源组切换回该节点的秒数。

仅可以将此选项与 evacuate 子命令一起使用。您必须将 seconds 指定为介于 0 和 65535 之间的整数值。如果未指定值,将使用默认值 60 秒。

在清除完成之后的 60 秒或指定的秒数内,防止资源组在清除的节点上进行故障转移或自动联机。

但是,如果您使用 switchonline 子命令使资源组联机,或清除的节点重新引导,则清除计时器将立即过期并再次允许自动故障转移。

–T 选项指定在完成清除后的 T 秒时间段内 RGM 不会在清除的节点上使资源组联机。通过将 switchonline 子命令与 –n 选项一起使用将资源组切换到清除的节点,可以覆盖 –T 计时器。完成此种切换后,–T 计时器对该节点会立即过期。但是,切换命令(例如不含 –n 标志的 onlineremaster )会继续使用 –T 计时器,并且避免将任何资源组切换到清除的节点。

–u

如果使用 + 操作数,此选项会指定命令要对其资源组已暂停的资源起作用。

如果指定 + 操作数时没有指定 –u 选项,则该命令会忽略所有暂停的资源组。在 add-nodemanage offlineonlinequiesce remasterremove-noderestart setswitchunamanage 子命令中指定了 + 操作数时,–u 选项有效。

+ 操作数与 add-node manageofflineonline quiesceremasterremove-node restartsetswitch unamanage 子命令一起使用时,该命令会忽略所有暂停的资源组,除非您还指定了 –u 选项。

–v
-–verbose

在标准输出 (stdout) 中显示详细信息。

–V
-–version

显示该命令的版本。

如果是与其他选项、子命令或操作数一起指定该选项,将忽略所有这些内容。仅显示该命令的版本。不会发生任何其他处理。

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

指定其中存在资源组并且您要对其执行操作的一个或多个群集。

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

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

zoneclustername

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

global

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

all

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

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

操作数

支持以下操作数:

resourcegroup

要管理的资源组的名称。

+

所有资源组。

退出状态

Intro(1CL) 手册页列出了该命令集中所有命令的一整套退出状态代码。返回的退出代码还与 scha_calls(3HA) 手册页中介绍的返回代码兼容。

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

此命令返回下列退出状态代码:

0 CL_NOERR

没有错误

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

1 CL_ENOMEM

交换空间不足

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

3 CL_EINVAL

参数无效

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

6 CL_EACCESS

权限被拒绝

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

35 CL_EIO

I/O 错误

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

36 CL_ENOENT

没有这样的对象

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

  • 该对象不存在。

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

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

38 CL_EBUSY

对象忙

您尝试将一根电缆从上一个群集互连路径移到一个活动群集节点。或者,您尝试将一个节点从尚未删除引用的群集配置中移除。

39 CL_EEXIST

对象已存在

您所指定的设备、设备组、群集互连组件、节点、群集、资源、资源类型、资源组或专用字符串已存在。

示例

示例 1 创建新的故障转移资源组

以下示例中的第一个命令将创建故障转移资源组 rg1rg2。第二个命令将配置文件 cluster-1.xml 中包含的资源添加到这些资源组中。

# clresourcegroup create rg1 rg2
# clresource create -g rg1,rg2 -i /net/server/export/cluster-1.xml +

以下两个示例中的任一个都从全局群集节点在区域群集 ZC 中创建故障转移资源组 rg1rg2

# clresourcegroup create -Z ZC rg1 rg2
# clresourcegroup create ZC:rg1 ZC:rg2
示例 2 使所有资源组联机

以下命令使所有资源组联机,并启用和监视所有资源。

# clresourcegroup online -eM +
示例 3 将节点添加到 Nodelist 属性中

以下命令将节点 phys-schost-4 添加到所有资源组的 Nodelist 属性中。

# clresourcegroup set -p Nodelist+=phys-schost-4 +
示例 4 从节点清除所有资源组

以下命令从节点 phys-schost-3 清除所有资源组。

# clresourcegroup evacuate -n phys-schost-3 +
示例 5 使资源组在所有节点上脱机

以下命令使资源组 rg1 在所有节点上脱机。

# clresourcegroup offline rg1
示例 6 刷新整个资源组管理器配置

以下示例中的第一个命令将删除所有资源和资源组,即使它们已启用并处于联机状态。第二个命令取消注册所有资源类型。第三个命令创建配置文件 cluster-1.xml 中包含的资源。第三个命令还会注册资源类型并创建这些资源类型所依赖的所有资源组。

# clresourcegroup delete --force +
# clresourcetype unregister +
# clresource -i /net/server/export/cluster-1.xml -d +
示例 7 列出所有资源组

以下命令可列出所有资源组。

# clresourcegroup list
rg1
rg2
示例 8 列出所有资源组及其资源

以下命令可列出所有资源组及其资源。请注意,rg3 没有资源。

# clresourcegroup list -v
Resource Group Resource
-------------- --------
rg1            rs-2
rg1            rs-3
rg1            rs-4
rg1            rs-5
rg2            rs-1
rg3            -
示例 9 列出包含特定资源的所有资源组

以下命令可列出包含 Oracle Solaris Cluster HA for NFS 资源的所有组。

# clresource list -t nfs
rg1
示例 10 通过切换资源组清除 Start_failed 资源状态

Start_failed 资源状况指示 StartPrenet_start 方法对某个资源失败或超时,但该资源的资源组仍已联机。即使该资源处于故障状况,可能不提供服务,其资源组仍然会联机。如果资源的 Failover_mode 属性设置为 None 或者设置为阻止资源组故障转移的另一个值,则可能会出现此状况。

Stop_failed 资源状况不同,Start_failed 资源状况不会阻止您或 Oracle Solaris Cluster 软件对资源组执行操作。无需发出 reset 子命令来清除 Start_failed 资源状态。只需执行一个可重新启动资源的命令。

以下命令清除 resource-grp-2 资源组中的资源发生的 Start_failed 资源状态。该命令通过将资源组切换到 schost-2 节点来清除此状态。

# clresourcegroup switch -n schost-2 resource-grp-2
示例 11 通过重新启动资源组清除 Start_failed 资源状态

以下命令清除 resource-grp-2 资源组中的资源发生的 Start_failed 资源状态。该命令通过在初始承载该资源组的 schost-1 节点上重新启动资源组来清除此状态。

# clresourcegroup restart resource-grp-2
示例 12 设置 load_factors 属性

以下命令为两个资源组设置负载因子。

# clresourcegroup set -p load_factors=factor1@50,factor2@1 rg1 rg2

从全局群集中,以下命令为某个区域群集中的两个资源组设置负载因子。

# clresourcegroup set -Z ZC load_factors=factor1@50,factor2@1 rg1 rg2
示例 13 为资源组设置 priority 属性

以下命令设置资源组的优先级。

# clresourcegroup set -p priority=600 rg1

rg1 资源组在分配节点时将优先于优先级较低的资源组。在超出硬限制的节点上,rg1 会抢先于优先级较低的其他资源组。如果 rg1 的优先级比另一资源组的优先级高出至少 100,则它在超出软限制的节点上将抢先于该资源组。priority 的默认值为 500

属性

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

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

另请参见

clresource(1CL)clresourcetype(1CL)cluster(1CL)Intro(1CL)su(1M)scha_calls(3HA)attributes(5)rbac(5)rg_properties(5)clconfiguration(5CL)

附注

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

所有用户都可以运行带有 –?(帮助)或 –V(版本)选项的此命令。

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

子命令
RBAC 授权
add-node
solaris.cluster.modify
create
solaris.cluster.modify
delete
solaris.cluster.modify
evacuate
solaris.cluster.admin
export
solaris.cluster.read
list
solaris.cluster.read
manage
solaris.cluster.admin
offline
solaris.cluster.admin
online
solaris.cluster.admin
quiesce
solaris.cluster.admin
remaster
solaris.cluster.admin
remove-node
solaris.cluster.modify
restart
solaris.cluster.admin
resume
solaris.cluster.admin
set
solaris.cluster.modify
show
solaris.cluster.read
status
solaris.cluster.read
suspend
solaris.cluster.admin
switch
solaris.cluster.admin
unmanage
solaris.cluster.admin