Sun Cluster 数据服务开发者指南(适用于 Solaris OS)

资源组属性

以下信息介绍了由 Sun Cluster 软件定义的资源组属性。属性值分为以下几类:

首先列出的是属性名称,后面是对该属性的说明。

Auto_start_on_new_cluster (boolean)

在形成新群集时,此属性用于控制资源组管理器 (RGM) 是否自动启动资源组。默认值为 TRUE

如果设置为 TRUE,则同时重新引导群集的所有节点时,RGM 将尝试自动启动资源组以实现 Desired_primaries

如果设置为 FALSE,则在重新引导群集时资源组将不自动启动。在使用 scswitch 命令或等价的 GUI 指令第一次将资源组手动切换为联机之前,资源组将一直保持脱机状态。联机后,资源组将恢复正常的故障转移行为。

类别:

可选

缺省值:

TRUE

可调:

ANYTIME

Desired_primaries (integer)

可同时运行组的首选节点数目。

默认值为 1。如果 RG_mode 属性为 Failover,则此属性的值必须不大于 1。如果 RG_mode 属性为 Scalable,则值大于 1 是允许的。

类别:

可选

缺省值:

1

可调:

ANYTIME

Failback (boolean)

一个布尔值,指示是否在群集成员资格更改时重新计算组处于联机状态的节点集。重新计算将造成资源组管理器使组在优先级较低的节点上脱机,并在优先级较高的节点上联机。

类别:

可选

缺省值:

FALSE

可调:

ANYTIME

Global_resources_used (string_array)

表明群集文件系统是否由此资源组中的任何资源使用。群集管理员可以指定的合法值为星号 (*)(用于表示所有全局资源)和空字符串 (“”)(用于表示无全局资源)。

类别:

可选

缺省值:

所有全局资源

可调:

ANYTIME

Implicit_network_dependencies (boolean)

一个布尔值,指示在设置为 True 时 RGM 应当强制非网络地址资源对组内的网络地址资源具有隐含强依赖性。这意味着 RGM 将在组内所有其他资源启动之前启动所有网络地址资源,在组内所有其他资源停止之后停止网络地址资源。网络地址资源包括逻辑主机名和共享地址资源类型。

在可伸缩资源组中,此属性不起作用,因为可伸缩资源组不包含任何网络地址资源。

类别:

可选

缺省值:

TRUE

可调:

ANYTIME

Maximum_primaries (integer)

组一次可以联机的最大节点数。

如果 RG_mode 属性为 Failover,则此属性的值必须不大于 1。如果 RG_mode 属性为 Scalable,则值大于 1 是允许的。

类别:

可选

缺省值:

1

可调:

ANYTIME

Nodelist (string_array)

群集节点列表,在这些节点上可以按优先顺序使组联机。这些节点被称为资源组的潜在主节点或主控节点。

类别:

可选

缺省值:

任意顺序的所有群集节点的列表

可调:

ANYTIME

Pathprefix (string)

群集文件系统中,组资源可以编写所需管理文件的目录。某些资源可能需要此属性。使 Pathprefix 对每个资源组都是唯一的。

类别:

可选

缺省值:

空字符串

可调:

ANYTIME

Pingpong_interval (integer)

非负整数值(以秒为单位),RGM 使用此属性值确定使以下实例中的资源组联机到何处:

  • 在重新配置的情况下

  • 导致执行 scha_control GIVEOVER 命令或函数

在重新配置的情况下,资源组在过去 Pingpong_interval 秒内在特定节点上多次联机失败。此失败的原因在于资源的 StartPrenet_start 方法在非零状态下或超时后退出。因此,此节点被认为不适于托管资源组,RGM 将查找其他主控节点。

如果资源在给定节点上执行 scha_control 命令或 scha_control GIVEOVER 命令,因而导致其资源组故障转移到其他节点上,则第一个节点(在其上运行过 scha_control)不能作为同一资源执行另一个 scha_control GIVEOVER 的目标节点,直至经过 Pingpong_interval 秒之后。

类别:

可选

缺省值:

3600(一小时)

可调:

ANYTIME

Resource_list (string_array)

组中包含的资源的列表。群集管理员不直接设置此属性。而是当群集管理员在资源组中添加或删除资源时,由 RGM 更新此属性。

类别:

仅限于查询

缺省值:

无缺省值

可调:

RG_affinities (string)

RGM 将尝试找到其他给定资源组的当前主控节点上的资源组(正关联),或尝试找到给定资源组的非当前主控节点上的资源组(负关联)。

您可以将 RG_affinities 设置为以下字符串:

  • ++,即较强正关联

  • +,即较弱正关联

  • -,即较弱负关联

  • --,即强负关联

  • +++,带故障转移托管的较强正关联

例如,RG_affinities=+RG2,--RG3 表示此资源组具有与 RG2 的较弱正关联和 RG3 的较强负关联。

《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的第 2  章 “Administering Data Service Resources”中介绍了如何使用 RG_affinities

类别:

可选

缺省值:

空字符串

可调:

ANYTIME

RG_dependencies (string_array)

可选资源组列表,用于指明在同一节点上使其他组联机或脱机的优先顺序。所有强 RG_dependenciesRG_affinities(正负)的图形都不允许包含循环。

例如,假定资源组 RG1 的 RG_dependencies 列表中列有资源组 RG2,即 RG1 与 RG2 具有资源组依赖性。以下列表汇总了此资源组依赖性的影响:

  • 当某个节点加入群集时,必须等该节点上的所有 Boot 方法在 RG2 中的资源上运行完之后,才能在 RG1 中的资源上运行该节点的 Boot 方法。

  • 如果 RG1 和 RG2 同时在同一个节点上处于 PENDING_ONLINE 状态,则在 RG2 中的所有资源运行完其启动方法之后,RG1 中的资源才运行启动方法(Prenet_startStart)。

  • 如果 RG1 和 RG2 同时在同一个节点上处于 PENDING_OFFLINE 状态,则在 RG1 中的所有资源运行完其停止方法之后,RG2 中的资源才运行停止方法(StopPostnet_stop)。

  • 如果切换主节点会使 RG1 在任意一个节点上保持联机而使 RG2 在所有节点上都保持脱机,则尝试切换 RG1 或 RG2 的主节点将会失败。scswitch(1M)scsetup(1M) 手册页包含更多信息。

  • 如果在 RG2 上将 Desired_primaries 设置为零,则不允许在 RG1 上将 Desired_primaries 属性设置为大于零的值。

  • 如果在 RG2 上将 Auto_start_on_new_cluster 属性设置为 FALSE,则不允许在 RG1 上将 Auto_start_on_new_cluster 属性设置为 TRUE

类别:

可选

缺省值:

空列表

可调:

ANYTIME

RG_description (string)

资源组的简单说明。

类别:

可选

缺省值:

空字符串

可调:

ANYTIME

RG_is_frozen (boolean)

一个布尔值,指示是否正在切换转移资源组所依赖的全局设备。如果将此属性设置为 TRUE,则将切换转移全局设备。如果将此属性设置为 FALSE,则表明没有切换转移全局设备。资源组依赖于其 Global_resources_used 属性中指定的全局设备。

请不要直接设置 RG_is_frozen 属性。RGM 将在全局设备的状态发生更改时更新 RG_is_frozen 属性。

类别:

可选

缺省值:

无缺省值

可调:

RG_mode (enum)

指明资源组是故障转移资源组还是可伸缩资源组。如果值为 Failover,则 RGM 将把该组的 Maximum_primaries 属性设置为 1 并将资源组限制为由单个节点控制。

如果此属性的值为 Scalable,则 RGM 允许为 Maximum_primaries 属性设置大于 1 的值,因此,该组可同时受多个节点控制。RGM 不允许将 Failover 属性为 True 的资源添加到 RG_modeScalable 的资源组中。

如果 Maximum_primaries 为 1,则默认值为 Failover。如果 Maximum_primaries 的值大于 1,则缺省值为 Scalable

类别:

可选

缺省值:

取决于 Maximum_primaries 的值。

可调:

RG_name (string)

资源组的名称。此属性是必需的,并且在群集中必须唯一。

类别:

必需的

缺省值:

无缺省值

可调:

RG_project_name (string)

与资源组相关的 Solaris 项目名称(请参见 projects(1) 手册页)。使用该属性可以将 Solaris 资源的管理功能(例如 CPU 共享和资源池)应用于群集数据服务。RGM 使资源组联机时,将为不具有 Resource_project_name 属性集的资源启动此项目名称下的相关进程(请参见 r_properties(5) 手册页)。指定的项目名称必须已在项目数据库中(请参见 projects(1) 手册页和《System Administration Guide: Solaris Containers-Resource Management and Solaris Zones》)。

仅从 Solaris 9 开始支持此属性。


注 –

对此属性的更改将在下次资源被启动时生效。


类别:

可选

缺省值:

文本字符串 "default"

可调:

ANYTIME

每个群集节点上的 RG_state (enum)

由 RGM 将其设置为 UNMANAGEDONLINEOFFLINEPENDING_ONLINEPENDING_OFFLINEERROR_STOP_FAILEDONLINE_FAULTEDPENDING_ONLINE_BLOCKED,以说明每个群集节点上的组的状态。

不能配置该属性。不过,您可以通过运行 scswitch 命令或者使用等效的 scsetup 或 SunPlex Manager 命令间接设置此属性。如果组不在 RGM 的控制下,可以处于 UNMANAGED 状态。

以下说明汇总了所有状态。


注 –

状态仅适于单个节点,UNMANAGED 状态除外,该状态适于所有节点。例如,资源组可能在节点 A 上 OFFLINE,但在节点 B 上 PENDING_ONLINE


UNMANAGED

新建资源组的初始状态,或者先前受管理的资源组的状态。不是尚未对组中的资源运行 Init 方法,就是已经对组中的资源运行了 Fini 方法。

该组不受 RGM 管理。

ONLINE

已在节点上启动资源组。换言之,适于每个资源的启动方法 Prenet_startStartMonitor_start 已在组中所有已启用的资源上成功执行。

OFFLINE

已在节点上停止资源组。换言之,适于每个资源的停止方法 Monitor_stopStopPostnet_stop 已在组中所有已启用的资源上成功执行。此状态还适于在节点上首次启动资源组之前。

PENDING_ONLINE

正在节点上启动资源组。适于每个资源的启动方法 Prenet_startStartMonitor_start 正在组中已启用的资源上执行。

PENDING_OFFLINE

正在节点上停止资源组。适于每个资源的停止方法 Monitor_stopStopPostnet_stop 正在组中已启用的资源上执行。

ERROR_STOP_FAILED

资源组内的一个或多个资源无法成功停止,并且处于 Stop_failed 状态。组中的其他资源可能保持联机状态,也可能保持脱机状态。在 ERROR_STOP_FAILED 状态被清除之前,不允许在任何节点上启动资源组。

必须使用管理命令(例如 scswitch -c)手动中止 Stop_failed 资源并将其状态重置为 OFFLINE

ONLINE_FAULTED

资源组曾处于 PENDING_ONLINE 状态,并已在此节点上启动。但是,一个或多个资源在 Start_failed 状态或 Faulted 状态下停止。

PENDING_ONLINE_BLOCKED

资源组无法完全启动,因为该资源组内的一个或多个资源与其他资源组中的资源具有未满足的强资源依赖性。此类资源将保持 OFFLINE 状态。满足资源依赖性之后,资源组将自动返回到 PENDING_ONLINE 状态。

类别:

仅限于查询

缺省值:

无缺省值

可调:

RG_system (boolean)

如果资源组的 RG_system 属性为 TRUE,将限制对该资源组和资源组包含的资源执行的特定操作。此限制旨在防止意外修改或删除重要的资源组和资源。此属性仅影响 scrgadmscswitch 命令。对 scha_control(1HA)scha_control(3HA) 的操作不受影响。

在资源组(或资源组的资源)上执行受限制的操作之前,您必须先将该资源组的 RG_system 属性设置为 FALSE。当修改或删除支持群集服务的资源组时,或者当修改或删除此类资源组中包含的资源时,请慎用此属性。

操作 

示例 

删除资源组 

scrgadm -r -g RG1

编辑资源组属性(RG_system 除外)

scrgadm -c -t RG1 -y nodelist=...

将资源添加到资源组 

scrgadm -a -j R1 -g RG1

从资源组中删除资源 

scrgadm -r -j R1 -g RG1

编辑资源组中某个资源的属性 

scrgadm -c -j R1

使资源组脱机 

scswitch -F -g RG1

管理资源组 

scswitch -o -g RG1

取消管理资源组 

scswitch -u -g RG1

启用资源 

scswitch -e -j R1

启用对资源的监视 

scswitch -e -M -j R1

禁用资源 

scswitch -n -j R1

禁用对资源的监视 

scswitch -n -M -j R1

如果资源组的 RG_system 属性为 TRUE,则能编辑的该资源组属性只有 RG_system 属性本身。换言之,编辑 RG_system 属性永不受限制。

类别:

可选

缺省值:

FALSE

可调:

ANYTIME