用于 Solaris OS 的 Sun Cluster 数据服务规划和管理指南

第 2 章 管理数据服务资源

本章说明如何使用 scrgadm(1M) 命令管理群集中的资源、资源组和资源类型。 请参见数据服务资源管理的工具以确定您是否可以使用其他工具来完成过程。

本章包含以下过程。

有关资源类型、资源组和资源的概述信息,请参见第 1 章,规划 Sun Cluster 数据服务 Sun Cluster 概念指南(适用于 Solaris OS) 文档。

管理数据服务资源

表 2–1 列出了说明数据服务资源的管理任务的各节。

表 2–1 任务图: 数据服务管理

任务 

有关说明,请转到…  

注册资源类型 

如何注册资源类型

升级资源类型  

如何将现有资源迁移到新版本的资源类型

如何安装和注册资源类型的升级版

创建故障转移或可伸缩资源组 

如何创建故障转移资源组

如何创建可伸缩资源组

将逻辑主机名或共享地址和数据服务资源添加到资源组中 

如何将逻辑主机名资源添加到资源组

如何将共享地址资源添加到资源组

如何将故障转移应用程序资源添加到资源组

如何将可伸缩应用程序资源添加到资源组

启用资源和资源监视器、管理资源组、使资源组及其相关的资源联机 

如何使资源组联机

禁用和启用独立于资源的资源监视器 

如何禁用资源故障监视器

如何启用资源故障监视器

从群集中删除资源类型 

如何删除资源类型

从群集中删除资源组 

如何删除资源组

从资源组中删除资源 

如何删除资源

切换资源组的主节点 

如何切换资源组的当前主节点

禁用资源,并将其资源组转为 UNMANAGED 状态

如何禁用资源并将其资源组转为 UNMANAGED 状态

显示资源类型、资源组和资源配置信息  

显示资源类型、资源组和资源配置信息

更改资源类型、资源组和资源特性 

如何更改资源类型特性

如何更改资源组特性

如何更改资源特性

清除失败的 Resource Group Manager (RGM) 进程的错误标志 

如何清除资源上的 STOP_FAILED 错误标志

重新注册内置资源类型 LogicalHostnameSharedAddress

如何重新注册预注册的资源类型

更新网络资源的网络接口 ID 列表,并更新资源组的节点列表 

将节点添加至资源组

从资源组中删除节点 

从资源组删除节点

为资源组设置 HAStorageHAStoragePlus,以便在这些资源组和磁盘设备组之间同步启动

如何为新资源设置 HAStorage 资源类型

设置 HAStoragePlus,为具有高 I/O 磁盘强度的故障转移数据服务启用高可用性的本地文件系统

如何设置 HAStoragePlus 资源类型

配置资源类型以自动释放节点供关键数据服务使用。  

如何设置 RGOffload 资源


注意:

本章中的过程说明如何使用scrgadm(1M) 命令来完成这些任务。 您也可以使用其他工具管理资源。 有关这些选项的详细信息,请参见数据服务资源管理的工具


配置和管理 Sun Cluster 数据服务

配置 Sun Cluster 数据服务是由若干个过程组成的单个任务。 您可以使用这些过程执行以下任务。

在初始配置之后,请使用本章中的过程更新您的数据服务配置。 例如,要更改资源类型、资源组和资源特性,请转到更改资源类型、资源组和资源特性

注册资源类型

资源类型提供了适用于所有给定类型资源的常用特性和回叫方法的规范。 在创建该类型资源之前,必须注册资源类型。 有关资源类型的详细信息,请参见第 1 章,规划 Sun Cluster 数据服务

如何注册资源类型

要完成此过程,必须提供要注册的资源类型的名称。 资源类型名称是数据服务名称的缩写。 有关随 Sun Cluster 提供的数据服务的资源类型名称的信息,请参见关于您的 Sun Cluster 发行版本的发行说明。

有关附加信息,请参见scrgadm(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


  1. 成为某个群集成员的超级用户。

  2. 注册资源类型。


    # scrgadm -a -t resource-type
    
    -a

    添加指定的资源类型。

    -t resource-type

    指定要添加的资源类型的名称。 请参见您的 Sun Cluster 发行版本的发行说明,以确定要提供的预定义名称。

  3. 检验是否已经注册该资源类型。


    # scrgadm -pv -t resource-type
    

示例 – 注册资源类型

下例注册 Sun Cluster HA for Sun Java System Web Server(内部名称 iws)。


# scrgadm -a -t SUNW.iws
# scrgadm -pv -t SUNW.iws
Res Type name:                                   SUNW.iws
  (SUNW.iws) Res Type description:               None registered
  (SUNW.iws) Res Type base directory:            /opt/SUNWschtt/bin
  (SUNW.iws) Res Type single instance:           False
  (SUNW.iws) Res Type init nodes:                All potential masters
  (SUNW.iws) Res Type failover:                  False
  (SUNW.iws) Res Type version:                   1.0
  (SUNW.iws) Res Type API version:               2
  (SUNW.iws) Res Type installed on nodes:        All
  (SUNW.iws) Res Type packages:                  SUNWschtt

从此处可转到何处

注册资源类型之后,您可以创建资源组并将资源添加到该资源组中。 有关详细信息,请参见创建资源组

升级资源类型

发行更新版本的资源类型时,您需要安装和注册升级的资源类型。 您可能还需要将现有资源升级到更新的资源类型版本。 本节提供了以下过程,可用于安装和注册升级的资源类型以及将现有资源升级到新的资源类型版本。

如何安装和注册资源类型的升级版

此过程也可以使用 scsetup 的“资源组”选项来执行。 有关 scsetup 的信息,请参见 scsetup(1M) 手册页。

  1. 在所有群集节点上安装资源类型升级软件包。


    注意:

    如果未在所有节点上安装资源类型软件包,则需要执行附加步骤(步骤 3)。


    升级文档会指示是否需要以非群集模式引导节点以安装资源类型升级软件包。 为避免停机时间,请以滚动升级方式添加新软件包(一次一个节点)。当该节点以非群集模式引导时,其他节点处于群集模式中。

  2. 注册新的资源类型版本。


    scrgadm -a -t resource_type -f path_to_new_RTR_file
    

    新的资源类型将具有以下格式的名称。


    vendor_id.rtname:version

    使用 scrgadm —pscrgadm —pv(冗余)可显示新注册的资源类型。

  3. 如果未在所有节点上安装新资源类型,请将 Installed_nodes 特性设置为实际已安装新资源类型的节点。


    scrgadm -c -t resource_type -h installed_node_list
    

新版本的资源类型可能在以下方面与以前的版本不同。

如何将现有资源迁移到新版本的资源类型

此过程也可以使用 scsetup 的“资源组”选项来执行。 有关 scsetup 的信息,请参见 scsetup (1M) 手册页。

现有资源类型版本和新版本中的更改确定了如何迁移到新版本类型。 资源类型升级文档会告知您是否可以进行迁移。 如果不支持迁移,请考虑删除该资源并用升级版本的新资源替换它,或以旧版本的资源类型保留该资源。

迁移现有资源时,以下值可能会更改。

缺省特性值

如果升级版本的资源类型声明了缺省特性的新缺省值,则新的缺省值将由现有资源继承。

新资源类型版本的 VALIDATE 方法将进行检查以确保现有特性的设置是否适当。 如果设置不适当,请将现有资源的特性编辑为适当的值。 要编辑特性,请参见步骤 3

资源类型名称

RTR 文件包含用于构成资源类型的全限定名称的以下特性。

  • Vendor_id

  • Resource_type

  • RT_Version

注册升级版本的资源类型时,其名称将存储为 vendor_id.rtname:version。 已经迁移到新版本的资源将具有新的 Type 特性,该特性由以上列出的特性组成。

资源 type_version 特性

标准资源特性 Type_version 存储资源类型的 RT_Version 特性。 Type_Version 特性不显示在 RTR 文件中。 使用以下命令可编辑 Type_Version 特性。


scrgadm -c -j resource -y Type_version=new_version
  1. 将现有资源迁移到新版本的资源类型之前,请阅读附带新资源类型的升级文档以确定是否可以进行迁移。

    该文档将指定何时必须进行迁移。

    • 任何时候

    • 在资源未被监视时

    • 在资源脱机时

    • 当资源被禁止时

    • 在资源组未受管理时

    如果不支持迁移,则必须删除该资源并用升级版本的新资源替换它,或以旧版本的资源类型保留该资源。

  2. 对于属于要迁移资源类型的每个资源,请将资源或其资源组的状态更改为升级文档所指示的适当状态。

    例如,如果资源需要不被监视


    scswitch -M -n -j resource
    

    如果资源需要脱机


    scswitch -n -j resource
    

    如果资源需要被禁用


    scswitch -n -j resource
    

    如果资源组需要不受管理


    scsswitch -n -j resource-group
    scswitch -F -g resource_group
    scswitch -u -g resource_group
    
  3. 对于属于要迁移资源类型的每个资源,请编辑资源,将其 Type_version 特性更改为新版本。


    scrgadm -c -j resource -y Type_version=new_version \
    -x extension_property=new_value -y extension_property=new_value
    

    如果需要,可以通过在命令行中添加附加的 -x 和/或 -y 选项,使用同一命令将同一资源的其他特性编辑为适当的值。

  4. 通过执行与在步骤 2 中键入的命令相反的命令,恢复资源或资源组的先前状态。

    例如,使资源重新被监视


    scswitch -M -e -j resource
    

    重新启用资源


    scswitch -e -j resource
    

    使资源组受管理并联机


    scswitch -o -g resource_group
    scswitch -Z -g resource_group
    

示例 1 – 将现有资源迁移到新资源类型版本

此例说明了现有资源向新资源类型版本的迁移。 请注意,新资源类型软件包包含的方法位于新路径中。 因为在安装期间方法不会被覆写,所以在安装升级的资源类型之前,资源无需被禁用。

此例假定以下条件。


 (按照供应商的说明在所有节点上安装新软件包。)
# scrgadm -a -t myrt -f /opt/XYZmyrt/etc/XYZ.myrt
# scswitch -n -j myresource
# scrgadm -c -j myresource -y Type_version=2.0
# scswitch -e -j myresource

示例 2 – 将现有资源迁移到新资源类型版本

此例说明了现有资源向新资源类型版本的迁移。 请注意,新资源类型软件包仅包含监视器和 RTR 文件。 因为在安装期间监视器会被覆写,所以在安装升级的资源类型之前,资源必须被禁用。

此例假定以下条件。


# scswitch -M -n -j myresource
(按照供应商的说明安装新软件包。)
# scrgadm -a -t myrt -f /opt/XYZmyrt/etc/XYZ.myrt
# scrgadm -c -j myresource -y Type_version=2.0
# scswitch -M -e -j myresource

降级资源类型

您可以将资源降级为其资源类型的早期版本。 将资源降级为资源类型的早期版本比升级到资源类型的更新版本所需的条件更受限制。 首先必须使资源组不受管理。 此外,只能将资源降级到资源类型的可升级版本。 可以通过使用 scrgadm -p 命令标识支持升级的版本。 在输出中,支持升级的版本包含后缀 :version

如何将资源降级到其资源类型的早期版本

您可以将资源降级为其资源类型的早期版本。 将资源降级为资源类型的早期版本比升级到资源类型的更新版本所需的条件更受限制。 首先必须使资源组不受管理。 此外,只能将资源降级到资源类型的可升级版本。 可以通过使用 scrgadm -p 命令标识可升级的版本。 在输出中,支持升级的版本包含后缀 :version

  1. 将包含要降级资源的资源组切换为脱机状态。


    scswitch -F -g resource_group
    
  2. 禁用要降级的资源以及资源组中的所有资源。


    scswitch -n -j resource_to_downgrade
    scswitch -n -j resource1
    scswitch -n -j resource2
    scswitch -n -j resource3
    ...


    注意:

    按相关性的顺序禁用资源,从相关性最强的资源(应用程序资源)开始,到相关性最弱的资源(网络地址资源)结束。


  3. 使资源组不受管理。


    scswitch -u -g resource_group
    
  4. 您要降级到的旧版本的资源类型是否仍注册在群集中?

    • 如果是,请转到下一步。

    • 如果否,请重新注册所需的旧版本。


      scrgadm -a -t resource_type_name
      

  5. 通过为 Type_version 指定所需的旧版本来降级资源。


    scrgadm -c -j resource_to_downgrade -y Type_version=old_version
    

    如果需要,请使用同一命令将同一资源的其他特性编辑为适当的值。

  6. 使包含已降级资源的资源组转为受管理状态,启用所有资源并将组切换为联机状态。


    scswitch -Z -g resource_group
    

创建资源组

一个资源组包含一组资源,所有这些资源在给定节点或节点集上一起联机或脱机。 必须先创建一个空资源组,然后再将资源放入该资源组。

两种资源组类型是故障转移可伸缩。 故障转移资源组在任何时候只能在一个节点上联机,而可伸缩资源组可以同时在多个节点上联机。

以下过程说明如何使用 scrgadm(1M) 命令注册和配置数据服务。

请参见第 1 章,规划 Sun Cluster 数据服务 Sun Cluster 概念指南(适用于 Solaris OS)文档以获得有关资源组的概念信息。

如何创建故障转移资源组

故障转移资源组包含网络地址(例如内置资源类型 LogicalHostnameSharedAddress)和故障转移资源(例如故障转移数据服务的数据服务应用程序资源)。 当数据服务进行故障转移或切换时,网络资源及其相关数据服务资源在群集节点之间移动。

有关附加信息,请参见scrgadm(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


  1. 成为某个群集成员的超级用户。

  2. 创建故障转移资源组。


    # scrgadm -a -g resource-group [-h nodelist]
    -a

    添加指定的资源组。

    -gresource-group

    指定要添加的故障转移资源组的名称。 此名称必须以 ASCII 字符开头。

    -h nodelist

    指定可控制此资源组的节点的可选的、有序的列表。 如果未指定此列表,缺省值将为群集中所有的节点。

  3. 检验是否已经创建该资源组。


    # scrgadm -pv -g resource-group
    

示例 – 创建故障转移资源组

此例说明了故障转移资源组 (resource-group-1) 的添加,两个节点(phys-schost-1phys-schost-2)可控制该资源组。


# scrgadm -a -g resource-group-1 -h phys-schost1,phys-schost-2
# scrgadm -pv -g resource-group-1
Res Group name:                                          resource-group-1
  (resource-group-1) Res Group RG_description:           <NULL>
  (resource-group-1) Res Group management state:         Unmanaged
  (resource-group-1) Res Group Failback:                 False
  (resource-group-1) Res Group Nodelist:                 phys-schost-1  
                                                         phys-schost-2
  (resource-group-1) Res Group Maximum_primaries:        1
  (resource-group-1) Res Group Desired_primaries:        1
  (resource-group-1) Res Group RG_dependencies:          <NULL>
  (resource-group-1) Res Group mode:                     Failover
  (resource-group-1) Res Group network dependencies:     True
  (resource-group-1) Res Group Global_resources_used:    All
  (resource-group-1) Res Group Pathprefix:

从此处可转到何处

创建故障转移资源组之后,您可以将应用程序资源添加到此资源组。 有关过程,请参见将资源添加到资源组

如何创建可伸缩资源组

可伸缩资源组与可伸缩服务一起使用。 共享地址功能是 Sun Cluster 的联网工具,可以使可伸缩服务的多个实例显示为单个服务。 必须先创建包含可伸缩资源所依赖的共享地址的故障转移资源组。 然后再创建可伸缩资源组,并将可伸缩资源添加到该组。

有关附加信息,请参见scrgadm(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


  1. 成为某个群集成员的超级用户。

  2. 创建用于保存可伸缩资源要使用的共享地址的故障转移资源组。

  3. 创建可伸缩资源组。


    # scrgadm -a -g resource-group \
    -y Maximum_primaries=m \
    -y Desired_primaries=n \
    -y RG_dependencies=depend-resource-group \
    -h nodelist]
    -a

    添加可伸缩资源组。

    -g resource-group

    指定要添加的可伸缩资源组的名称。

    -y Maximum_primaries =m

    指定此资源组的活动主节点的最大数目。

    -y Desired_primaries =n

    指定尝试启动资源组的活动主节点的数目。

    -y RG_dependencies =depend-resource-group

    标识包含共享地址资源(正在创建的资源组所依赖)的资源组。

    -h nodelist

    指定其中此资源组即将可用的节点的可选列表。 如果未指定此列表,缺省值将为所有节点。

  4. 检验是否已经创建该可伸缩资源组。


    # scrgadm -pv -g resource-group
    

示例 – 创建可伸缩资源组

此例说明了可伸缩资源组 (resource-group-1) 的添加,该资源组将在两个节点(phys-schost-1phys-schost-2)上托管。 可伸缩资源组依赖于包含共享地址的故障转移资源组 (resource-group-2)。


# scrgadm -a -g resource-group-1 \
-y Maximum_primaries=2 \
-y Desired_primaries=2 \
-y RG_dependencies=resource-group-2 \
-h phys-schost-1,phys-schost-2
# scrgadm -pv -g resource-group-1
Res Group name:                                          resource-group-1
  (resource-group-1) Res Group RG_description:           <NULL>
  (resource-group-1) Res Group management state:         Unmanaged
  (resource-group-1) Res Group Failback:                 False
  (resource-group-1) Res Group Nodelist:                 phys-schost-1
                                                         phys-schost-2
  (resource-group-1) Res Group Maximum_primaries:        2
  (resource-group-1) Res Group Desired_primaries:        2
  (resource-group-1) Res Group RG_dependencies:          resource-group-2
  (resource-group-1) Res Group mode:                     Scalable
  (resource-group-1) Res Group network dependencies:     True
  (resource-group-1) Res Group Global_resources_used:    All
  (resource-group-1) Res Group Pathprefix:

从此处可转到何处

创建可伸缩资源组之后,您可以将可伸缩应用程序资源添加到该资源组。 有关详细信息,请参见如何将可伸缩应用程序资源添加到资源组

将资源添加到资源组

资源是资源类型的实例。 必须先将资源添加到资源组,RGM 才能管理资源。 本节说明了以下三种资源类型。

请始终将逻辑主机名资源和共享地址资源添加到故障转移资源组。 将用于故障转移数据服务的数据服务资源添加到故障转移资源组。 故障转移资源组包含用于数据服务的逻辑主机名资源和应用程序资源。 可伸缩资源组仅包含用于可伸缩服务的应用程序资源。 可伸缩服务所依赖的共享地址资源必须位于单独的故障转移资源组中。 必须指定可伸缩应用程序资源与共享地址资源之间的相关性,以便数据服务在各群集节点间伸缩。

有关资源的详细信息,请参见Sun Cluster 概念指南(适用于 Solaris OS)文档和第 1 章,规划 Sun Cluster 数据服务

如何将逻辑主机名资源添加到资源组

要完成此过程,必须提供以下信息。

有关附加信息,请参见scrgadm(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


  1. 成为某个群集成员的超级用户。

  2. 将逻辑主机名资源添加到资源组。


    # scrgadm -a -L [-j resource] -g resource-group -l hostnamelist, … [-n netiflist]
    -a

    添加逻辑主机名资源。

    -L

    指定命令的逻辑主机名资源格式。

    -j resource

    指定您选择的可选的资源名称。 如果未指定此选项,则缺省名称为使用 -l 选项指定的第一个主机名。

    -g resource-group

    指定此资源所在的资源组的名称。

    -l hostnamelist, …

    指定一个用逗号分隔的 UNIX 主机名(逻辑主机名)的列表,客户机使用该主机名与资源组中的服务进行通信。

    -n netiflist

    指定一个可选的、用逗号分隔的列表,该列表标识各节点上的 IP 网络多路径处理 组。 netiflist 中的每个元素的格式必须为 netif@nodenetif 可被指定为 IP 网络多路径处理 组的名称,例如 sc_ipmp0。 节点可由节点名称或节点 ID 标识,例如 sc_ipmp0@1sc_ipmp@phys-schost-1


    注意:

    Sun Cluster 目前不支持将适配器名称用作 netif


  3. 检验是否已经添加该逻辑主机名资源。


    # scrgadm -pv -j resource
    

    添加资源会使 Sun Cluster 软件验证该资源。 如果验证成功,则您可以启用该资源,并可以将资源组转为 RGM 可对其进行管理的状态。 如果验证失败,则 scrgadm 命令将生成错误消息并退出。 如果验证失败,请针对错误消息查看每个节点上的 syslog。 错误消息显示在执行验证的节点上,不一定显示在运行 scrgadm 命令的节点上。

示例 – 将逻辑主机名资源添加到资源组

此例说明了将逻辑主机名资源 (resource-1) 添加到资源组 (resource-group-1)。


# scrgadm -a -L -j resource-1 -g resource-group-1 -l schost-1
# scrgadm -pv -j resource-1
Res Group name: resource-group-1
(resource-group-1) Res name:                              resource-1
  (resource-group-1:resource-1) Res R_description:
  (resource-group-1:resource-1) Res resource type:        SUNW.LogicalHostname
  (resource-group-1:resource-1) Res resource group name:  resource-group-1
  (resource-group-1:resource-1) Res enabled:              False
  (resource-group-1:resource-1) Res monitor enabled:      True

从此处可转到何处

添加逻辑主机名资源之后,请使用过程如何使资源组联机 使其联机。

如何将共享地址资源添加到资源组

要完成此过程,必须提供以下信息。

有关附加信息,请参见scrgadm(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


  1. 成为某个群集成员的超级用户。

  2. 将共享地址资源添加到资源组。


    # scrgadm -a -S [-j resource] -g resource-group -l hostnamelist, … \
    [-X auxnodelist] [-n netiflist]
    -a

    添加共享地址资源。

    -S

    指定命令的共享地址资源格式。

    -j resource

    指定您选择的可选的资源名称。 如果未指定此选项,则缺省名称为使用 -l 选项指定的第一个主机名。

    -g resource-group

    指定资源组名称。

    -l hostnamelist, …

    指定一个用逗号分隔的共享地址主机名的列表。

    -X auxnodelist

    指定一个用逗号分隔的物理节点名称或 ID 的列表,这些节点名称或 ID 标识可托管共享地址但在发生故障转移时从不作为主节点的群集节点。 这些节点与资源组的节点列表中标识为潜在主节点的节点相互排斥。

    -n netiflist

    指定一个可选的、用逗号分隔的列表,该列表标识各节点上的 IP 网络多路径处理 组。 netiflist 中的每个元素的格式必须为 netif@nodenetif 可被指定为 IP 网络多路径处理 组的名称,例如 sc_ipmp0。 节点可由节点名称或节点 ID 标识,例如 sc_ipmp0@1sc_ipmp@phys-schost-1


    注意:

    Sun Cluster 目前不支持将适配器名称用作 netif


  3. 检验是否已经添加并验证了共享地址资源。


    # scrgadm -pv -j resource
    

    添加资源会使 Sun Cluster 软件验证该资源。 如果验证成功,则您可以启用该资源,并可以将资源组转为 RGM 可对其进行管理的状态。 如果验证失败,则 scrgadm 命令将生成错误消息并退出。 如果验证失败,请针对错误消息查看每个节点上的 syslog。 错误消息显示在执行验证的节点上,不一定显示在运行 scrgadm 命令的节点上。

示例 – 将共享地址资源添加到资源组

此例说明了将共享地址资源 (resource-1) 添加到资源组 (resource-group-1)。


# scrgadm -a -S -j resource-1 -g resource-group-1 -l schost-1
# scrgadm -pv -j resource-1
(resource-group-1) Res name:                                resource-1
    (resource-group-1:resource-1) Res R_description:
    (resource-group-1:resource-1) Res resource type:        SUNW.SharedAddress
    (resource-group-1:resource-1) Res resource group name:  resource-group-1
    (resource-group-1:resource-1) Res enabled:              False
    (resource-group-1:resource-1) Res monitor enabled:      True

从此处可转到何处

添加共享资源之后,请使用过程如何使资源组联机 启用该资源。

如何将故障转移应用程序资源添加到资源组

故障转移应用程序资源是使用先前在故障转移资源组中创建的逻辑主机名的应用程序资源。

要完成此过程,必须提供以下信息。

有关附加信息,请参见scrgadm(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


  1. 成为某个群集成员的超级用户。

  2. 将故障转移应用程序资源添加到资源组。


    # scrgadm -a -j resource -g resource-group -t resource-type \
    [-x Extension_property=value, …] [-y Standard_property=value, …]
    -a

    添加资源。

    -j resource

    指定要添加的资源的名称。

    -g resource-group

    指定先前创建的故障转移资源组的名称。

    -t resource-type

    指定资源的资源类型名称。

    -x Extension_property =value, …

    指定一个用逗号分隔的依赖于特定数据服务的扩展特性的列表。 请参见有关各数据服务的章节以确定该数据服务是否需要此特性。

    -y Standard_property =value, …

    指定一个用逗号分隔的依赖于特定数据服务的标准特性的列表。 请参见有关各数据服务的章节和附录 A,标准特性 以确定该数据服务是否需要此特性。


    注意:

    您可以设置其他特性。 有关详细信息,请参见附录 A,标准特性 和本书中有关如何安装和配置故障转移数据服务的章节。


  3. 检验是否已经添加并验证了故障转移应用程序资源。


    # scrgadm -pv -j resource
    

    添加资源会使 Sun Cluster 软件验证该资源。 如果验证成功,则您可以启用该资源,并可以将资源组转为 RGM 可对其进行管理的状态。 如果验证失败,则 scrgadm 命令将生成错误消息并退出。 如果验证失败,请针对错误消息查看每个节点上的 syslog。 错误消息显示在执行验证的节点上,不一定显示在运行 scrgadm 命令的节点上。

示例 – 将故障转移应用程序资源添加到资源组

此例说明了将资源 (resource-1) 添加到资源组 (resource-group-1)。 该资源依赖于逻辑主机名资源(schost-1schost-2),逻辑主机名资源必须位于先前定义的同一故障转移资源组中。


# scrgadm -a -j resource-1 -g resource-group-1 -t resource-type-1 \
-y Network_resources_used=schost-1,schost2 \
# scrgadm -pv -j resource-1
(resource-group-1) Res name:                                resource-1
    (resource-group-1:resource-1) Res R_description:
    (resource-group-1:resource-1) Res resource type:        resource-type-1
    (resource-group-1:resource-1) Res resource group name:  resource-group-1
    (resource-group-1:resource-1) Res enabled:              False
    (resource-group-1:resource-1) Res monitor enabled:      True

从此处可转到何处

添加故障转移应用程序资源之后,请使用过程如何使资源组联机 启用该资源。

如何将可伸缩应用程序资源添加到资源组

可伸缩应用程序资源是使用故障转移资源组中的共享地址的应用程序资源。

要完成此过程,必须提供以下信息:

有关附加信息,请参见scrgadm(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


  1. 成为某个群集成员的超级用户。

  2. 将可伸缩应用程序资源添加到资源组。


    # scrgadm -a -j resource -g resource-group -t resource-type \
    -y Network_resources_used=network-resource[,network-resource...] \
    -y Scalable=True
    [-x Extension_property=value, …] [-y Standard_property=value, …]
    -a

    添加资源。

    -j resource

    指定要添加的资源的名称。

    -g resource-group

    指定先前创建的可伸缩服务资源组的名称。

    -t resource-type

    指定此资源的资源类型名称。

    -y Network_resources_used = network-resource[,network-resource ...
    ]

    指定此资源所依赖的网络资源(共享地址)的列表。

    -y Scalable =True

    指定此资源是可伸缩的。

    -x Extension_property =value, …

    指定一个用逗号分隔的依赖于特定数据服务的扩展特性的列表。 请参见有关各数据服务的章节以确定该数据服务是否需要此特性。

    -y Standard_property =value, …

    指定一个用逗号分隔的依赖于特定数据服务的标准特性的列表。 请参见有关各数据服务的章节和附录 A,标准特性 以确定该数据服务是否需要此特性。

    -y Standard_property =value, …

    指定一个用逗号分隔的依赖于特定数据服务的标准特性的列表。 请参见有关各数据服务的章节和附录 A,标准特性 以确定该数据服务是否需要此特性。


    注意:

    您可以设置其他特性。 有关其他可配置特性的信息,请参见附录 A,标准特性 和本书中有关如何安装和配置可伸缩数据服务的章节。 尤其对于可伸缩服务,通常设置 Port_listLoad_balancing_weightsLoad_balancing_policy 特性,这在附录 A,标准特性 中进行了说明。


  3. 检验是否已经添加并验证了可伸缩应用程序资源。


    # scrgadm -pv -j resource
    

    添加资源会使 Sun Cluster 软件验证该资源。 如果验证成功,则您可以启用该资源,并可以将资源组转为 RGM 可对其进行管理的状态。 如果验证失败,则 scrgadm 命令将生成错误消息并退出。 如果验证失败,请针对错误消息查看每个节点上的 syslog。 错误消息显示在执行验证的节点上,不一定显示在运行 scrgadm 命令的节点上。

示例 – 将可伸缩应用程序资源添加到资源组

此例说明了将资源 (resource-1) 添加到资源组 (resource-group-1)。 请注意,resource-group-1 依赖于包含使用中的网络地址(下例中的 schost-1schost-2)的故障转移资源组。 该资源依赖于共享地址资源(schost-1schost-2),共享地址资源必须位于先前定义的一个或多个故障转移资源组中。


# scrgadm -a -j resource-1 -g resource-group-1 -t resource-type-1 \
-y Network_resources_used=schost-1,schost-2 \
-y Scalable=True
# scrgadm -pv -j resource-1
(resource-group-1) Res name:                                resource-1
    (resource-group-1:resource-1) Res R_description:
    (resource-group-1:resource-1) Res resource type:        resource-type-1
    (resource-group-1:resource-1) Res resource group name:  resource-group-1
    (resource-group-1:resource-1) Res enabled:              False
    (resource-group-1:resource-1) Res monitor enabled:      True

从此处可转到何处

添加可伸缩应用程序资源之后,请按照过程如何使资源组联机 启用该资源。

使资源组联机

要启用资源以开始提供 HA 服务,必须启用资源组中的资源、启用资源监视器、使资源组受管理并使资源组联机。 您可以分别执行这些任务,也可以使用以下一步过程执行这些任务。 有关详细信息,请参见scswitch(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


如何使资源组联机

  1. 成为某个群集成员的超级用户。

  2. 启用资源,并使资源组联机。

    如果资源监视器已被禁用,也将启用资源监视器。


    # scswitch -Z -g resource-group
    
    -Z

    通过先启用资源组的资源和故障监视器来使资源组联机。

    -g resource-group

    指定要联机的资源组的名称。 该组必须是现有资源组。

  3. 检验资源是否已联机。

    在任一群集节点上运行以下命令,并查看资源组状态字段以检验资源组是否已在节点列表中指定的节点上联机。


    # scstat -g
    

示例 – 使资源组联机

此例说明了如何使资源组 (resource-group-1) 联机并检验其状态。


# scswitch -Z -g resource-group-1
# scstat -g

从此处可转到何处

使资源组联机之后,将配置该资源组,然后便可以使用。 如果资源或节点失败,RGM 将在其他节点上使资源组联机以维护资源组的可用性。

禁用和启用资源监视器

以下过程禁用或启用资源故障监视器,而不是资源本身。 当资源的故障监视器被禁用时,该资源可以继续正常运行。 但是,如果故障监视器被禁用并且数据服务发生故障,则不会启动自动故障恢复。

有关附加信息,请参见scswitch(1M) 手册页。


注意:

请通过任一群集节点运行此过程。


如何禁用资源故障监视器

  1. 成为某个群集成员的超级用户。

  2. 禁用资源故障监视器。


    # scswitch -n -M -j resource
    
    -n

    禁用资源或资源监视器。

    -M

    禁用指定资源的故障监视器。

    -j resource

    资源的名称。

  3. 检验是否已经禁用资源故障监视器。

    在每个群集节点上运行以下命令,并查看监视字段 (RS Monitored)。


    # scrgadm -pv
    

示例 – 禁用资源故障监视器

此例说明了如何禁用资源故障监视器。


# scswitch -n -M -j resource-1
# scrgadm -pv
...
RS Monitored: no...

如何启用资源故障监视器

  1. 成为某个群集成员的超级用户。

  2. 启用资源故障监视器。


    # scswitch -e -M -j resource
    
    -e

    启用资源或资源监视器。

    -M

    启用指定资源的故障监视器。

    -j resource

    指定资源的名称。

  3. 检验是否已经启用资源故障监视器。

    在每个群集节点上运行以下命令,并查看监视字段 (RS Monitored)。


    # scrgadm -pv
    

示例 – 启用资源故障监视器

此例说明了如何启用资源故障监视器。


# scswitch -e -M -j resource-1
# scrgadm -pv
...
RS Monitored: yes...

删除资源类型

您无需删除未使用的资源类型。 但是,如果要删除资源类型,可以使用此过程来执行操作。

有关附加信息,请参见scrgadm(1M)scswitch(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


如何删除资源类型

在删除资源类型之前,必须在群集的所有资源组中禁用和删除属于该类型的所有资源。 使用 scrgadm -pv 命令可标识群集中的资源和资源组。

  1. 成为某个群集成员的超级用户。

  2. 禁用属于要删除的资源类型的每个资源。


    # scswitch -n -j resource
    
    -n

    禁用资源。

    -j resource

    指定要禁用的资源的名称。

  3. 删除属于要删除的资源类型的每个资源。


    # scrgadm -r -j resource
    
    -r

    删除指定的资源。

    -j

    指定要删除的资源的名称。

  4. 删除资源类型。


    # scrgadm -r -t resource-type
    
    -r

    删除指定的资源类型。

    -t resource-type

    指定要删除的资源类型的名称。

  5. 检验是否已经删除该资源类型。


    # scrgadm -p
    

示例 – 删除资源类型

此例说明了如何禁用和删除属于某一资源类型 (resource-type-1) 的所有资源,然后再删除资源类型本身。 在此例中,resource-1 是资源类型为 resource-type-1 的资源。


# scswitch -n -j resource-1
# scrgadm -r -j resource-1
# scrgadm -r -t resource-type-1

删除资源组

要删除资源组,必须先删除资源组中的所有资源。

关于附加信息,请参见scrgadm(1M)scswitch(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


如何删除资源组

  1. 成为某个群集成员的超级用户。

  2. 运行以下命令以将资源组切换为脱机状态。


    # scswitch -F -g resource-group
    
    -F

    将资源组切换为脱机状态。

    -g resource-group

    指定要脱机的资源组的名称。

  3. 禁用属于资源组的所有资源。

    您可以使用 scrgadm -pv 命令查看资源组中的资源。 禁用要删除的资源组中的所有资源。


    # scswitch -n -j resource
    
    -n

    禁用资源。

    -j resource

    指定要禁用的资源的名称。

    如果资源组中存在任何相关数据服务资源,则在禁用依赖于该资源的所有资源之前,您不能禁用该资源。

  4. 从资源组中删除所有资源。

    使用 scrgadm 命令可执行以下任务。

    • 删除资源。

    • 删除资源组。


    # scrgadm -r -j resource
    # scrgadm -r -g resource-group
    
    -r

    删除指定的资源或资源组。

    -j resource

    指定要删除的资源的名称。

    -g resource-group

    指定要删除的资源组的名称。

  5. 检验是否已经删除该资源组。


    # scrgadm -p
    

示例 – 删除资源组

此例说明了如何在删除资源组 (resource-group-1) 的资源 (resource-1) 之后删除该资源组。


# scswitch -F -g resource-group-1
# scrgadm -r -j resource-1
# scrgadm -r -g resource-group-1

删除资源

在从资源组删除资源之前,请先禁用该资源。

有关附加信息,请参见scrgadm(1M)scswitch(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


如何删除资源

  1. 成为某个群集成员的超级用户。

  2. 禁用要删除的资源。


    # scswitch -n -j resource
    
    -n

    禁用资源。

    -j resource

    指定要禁用的资源的名称。

  3. 删除资源。


    # scrgadm -r -j resource
    
    -r

    删除指定的资源。

    -j resource

    指定要删除的资源的名称。

  4. 检验是否已经删除该资源。


    # scrgadm -p
    

示例 – 删除资源

此例说明了如何禁用和删除资源 (resource-1)。


# scswitch -n -j resource-1
# scrgadm -r -j resource-1

切换资源组的当前主节点

请使用以下过程将资源组从其当前主节点切换到将成为新主节点的另一个节点。

有关附加信息,请参见scrgadm(1M)scswitch(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


如何切换资源组的当前主节点

要完成此过程,必须提供以下信息。

  1. 成为某个群集成员的超级用户。

  2. 将主节点切换为潜在主节点。


    # scswitch -z -g resource-group -h nodelist
    
    -z

    将指定的资源组切换为联机状态。

    -g resource-group

    指定要切换的资源组的名称。

    -h nodelist

    指定要使资源组在其上联机或保持联机的一个或多个节点。 随后此资源组在所有其他节点上被切换为脱机状态。

  3. 检验资源组是否已切换到新的主节点。

    运行以下命令,并查看已切换资源组的状态输出。


    # scstat -g
    

示例 – 将资源组切换到新的主节点

此例说明了如何将资源组 (resource-group-1) 从其当前主节点 (phys-schost-1) 切换到潜在主节点 (phys-schost-2)。 首先,检验资源组在 phys-schost-1 上是否处于联机状态。 其次,执行切换。 最后,检验该组是否在 phys-schost-2 上被切换为联机状态。


phys-schost-1# scstat -g
...
Resource Group Name:          resource-group-1
  Status                                           
    Node Name:                phys-schost-1
    Status:                   Online

    Node Name:                phys-schost-2
    Status:                   Offline
...
phys-schost-1# scswitch -z -g resource-group-1 -h phys-schost-2
phys-schost-1# scstat -g
...
Resource Group Name:          resource-group-1
  Status                                           
    Node Name:                phys-schost-2
    Status:                   Online

    Node Name:                phys-schost-1
    Status:                   Offline
...

禁用资源并将其资源组转为 UNMANAGED 状态

有时,必须使资源组转为 UNMANAGED 状态,才能在其上执行管理过程。 在将资源组转为 UNMANAGED 状态之前,必须禁用属于资源组的所有资源并使资源组脱机。

有关附加信息,请参见scrgadm(1M)scswitch(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


如何禁用资源并将其资源组转为 UNMANAGED 状态

要完成此过程,必须提供以下信息。

要确定此过程所需的资源和资源组的名称,请使用 scrgadm -pv 命令。

  1. 成为某个群集成员的超级用户。

  2. 禁用资源。

    对资源组中的所有资源重复此步骤。


    # scswitch -n -j resource
    
    -n

    禁用资源。

    -j resource

    指定要禁用的资源的名称。

  3. 运行以下命令以将资源组切换为脱机状态。


    # scswitch -F -g resource-group
    
    -F

    将资源组切换为脱机状态。

    -g resource-group

    指定要脱机的资源组的名称。

  4. 将资源组转为 UNMANAGED 状态。


    # scswitch -u -g resource-group
    
    -u

    将指定的资源组转为 UNMANAGED 状态。

    -g resource-group

    指定要转为 UNMANAGED 状态的资源组的名称。

  5. 检验是否已禁用资源并且资源组是否处于 UNMANAGED 状态。


    # scrgadm -pv -g resource-group
    

示例 – 禁用资源并将资源组转为 UNMANAGED 状态

此例说明了如何禁用资源 (resource-1),然后将资源组 (resource-group-1) 转为 UNMANAGED 状态。


# scswitch -n -j resource-1
# scswitch -F -g resource-group-1
# scswitch -u -g resource-group-1
# scrgadm -pv -g resource-group-1
Res Group name:                                               resource-group-1
  (resource-group-1) Res Group RG_description:                <NULL>
  (resource-group-1) Res Group management state:              Unmanaged
  (resource-group-1) Res Group Failback:                      False
  (resource-group-1) Res Group Nodelist:                      phys-schost-1
                                                              phys-schost-2
  (resource-group-1) Res Group Maximum_primaries:             2
  (resource-group-1) Res Group Desired_primaries:             2
  (resource-group-1) Res Group RG_dependencies:               <NULL>
  (resource-group-1) Res Group mode:                          Failover
  (resource-group-1) Res Group network dependencies:          True
  (resource-group-1) Res Group Global_resources_used:         All
  (resource-group-1) Res Group Pathprefix:
 
  (resource-group-1) Res name:                                resource-1
    (resource-group-1:resource-1) Res R_description:
    (resource-group-1:resource-1) Res resource type:          SUNW.apache
    (resource-group-1:resource-1) Res resource group name:    resource-group-1
    (resource-group-1:resource-1) Res enabled:                True
    (resource-group-1:resource-1) Res monitor enabled:        False
    (resource-group-1:resource-1) Res detached:               False

显示资源类型、资源组和资源配置信息

在对资源、资源组或资源类型执行管理过程之前,请使用以下过程查看这些对象的当前配置设置。

有关附加信息,请参见scrgadm(1M)scswitch(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


显示资源类型、资源组和资源配置信息

scrgadm 命令提供了以下三个级别的配置状态信息。

您也可以使用 -t-g -j (分别用于资源类型、资源组和资源)选项,后跟要查看的对象的名称,以查看有关特定资源类型、资源组和资源的状态信息。 例如,以下命令仅指定要查看有关资源 apache-1 的特定信息。


# scrgadm -p[v[v]] -j apache-1

有关详细信息,请参见scrgadm(1M) 手册页。

更改资源类型、资源组和资源特性

资源组和资源具有您可以更改的标准配置特性。 以下过程说明如何更改这些特性。

资源还具有您不能更改的扩展特性,其中一些扩展特性由数据服务开发者预定义。 有关各数据服务的扩展特性的列表,请参见本文档中各个数据服务的章节。

有关资源组和资源的标准配置特性的信息,请参见scrgadm(1M) 手册页。

如何更改资源类型特性

要完成此过程,必须提供以下信息。


注意:

请通过任一群集节点执行此过程。


  1. 成为某个群集成员的超级用户。

  2. 运行 scrgadm 命令以确定此过程所需的资源类型的名称。


    # scrgadm -pv
    
  3. 更改资源类型特性。

    资源类型的可更改的唯一特性是 Installed_node_list 特性。


    # scrgadm -c -t resource-type -h installed-node-list
    
    -c

    更改指定的资源类型特性。

    -t resource-type

    指定资源类型的名称。

    -h installed-node-list

    指定安装了此资源类型的节点的名称。

  4. 检验是否已经更改资源类型特性。


    # scrgadm -pv -t resource-type
    

示例 – 更改资源类型特性

此例说明了如何更改 SUNW.apache 特性以定义在两个节点(phys-schost-1phys-schost-2)上安装此资源类型。


# scrgadm -c -t SUNW.apache -h phys-schost-1,phys-schost-2 
# scrgadm -pv -t SUNW.apache
Res Type name:                               SUNW.apache
  (SUNW.apache) Res Type description:        Apache Resource Type
  (SUNW.apache) Res Type base directory:     /opt/SUNWscapc/bin
  (SUNW.apache) Res Type single instance:    False
  (SUNW.apache) Res Type init nodes:         All potential masters
  (SUNW.apache) Res Type failover:           False
  (SUNW.apache) Res Type version:            1.0
  (SUNW.apache) Res Type API version:        2
  (SUNW.apache) Res Type installed on nodes: phys-schost1 phys-schost-2
  (SUNW.apache) Res Type packages:           SUNWscapc

如何更改资源组特性

要完成此过程,必须提供以下信息。

此过程说明了更改资源组特性的步骤。 有关资源组特性的完整列表,请参见附录 A,标准特性


注意:

请通过任一群集节点执行此过程。


  1. 成为某个群集成员的超级用户。

  2. 更改资源组特性。


    # scrgadm -c -g resource-group -y property=new_value
    
    -c

    更改指定的特性。

    -g resource-group

    指定资源组的名称。

    -y property

    指定要更改的特性的名称。

  3. 检验是否已经更改资源组特性。


    # scrgadm -pv -g resource-group
    

示例 – 更改资源组特性

此例说明了如何更改资源组 (resource-group-1) 的 Failback 特性。


# scrgadm -c -g resource-group-1 -y Failback=True
# scrgadm -pv -g resource-group-1

如何更改资源特性

要完成此过程,必须提供以下信息。

此过程说明了更改资源特性的步骤。 有关资源组特性的完整列表,请参见附录 A,标准特性


注意:

请通过任一群集节点执行此过程。


  1. 成为某个群集成员的超级用户。

  2. 运行 scrgadm -pvv 命令以查看当前资源特性设置。


    # scrgadm -pvv -j resource
    
  3. 更改资源特性。


    # scrgadm -c -j resource -y property=new_value | -x extension_property=new_value
    
    -c

    更改指定的特性。

    -j resource

    指定资源的名称。

    -y property =new_value

    指定要更改的标准特性的名称。

    -x extension_property =new_value

    指定要更改的扩展特性的名称。 对于 Sun 提供的数据服务,请参见有关如何安装和配置各个数据服务的章节中说明的扩展特性。

  4. 检验是否已经更改资源特性。


    # scrgadm pvv -j resource
    

示例 – 更改标准资源特性

此例说明了如何更改资源 (resource-1) 的系统定义的 Start_timeout 特性。


# scrgadm -c -j resource-1 -y start_timeout=30
# scrgadm -pvv -j resource-1

示例 – 更改扩展资源特性

此例说明了如何更改资源 (resource-1) 的扩展特性 (Log_level)。


# scrgadm -c -j resource-1 -x Log_level=3
# scrgadm -pvv -j resource-1

清除资源上的 STOP_FAILED 错误标志

如果将 Failover_mode 资源特性设置为 NONESOFT 并且资源的 STOP 失败,则单个资源将进入 STOP_FAILED 状态,资源组将进入 ERROR_STOP_FAILED 状态。 您不能使处于此状态的资源组在任一节点上联机,也不能编辑该资源组(创建或删除资源,或者更改资源组或资源特性)。

如何清除资源上的 STOP_FAILED 错误标志

要完成此过程,必须提供以下信息。

有关附加信息,请参见scswitch(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


  1. 成为某个群集成员的超级用户。

  2. 标识哪些资源已经进入 STOP_FAILED 状态并位于哪些节点上。


    # scstat -g
    
  3. 在资源处于 STOP_FAILED 状态的节点上手动停止资源及其监视器。

    此步骤可能需要您终止进程,或者运行针对资源类型的命令或其他命令。

  4. 在手动停止了资源的所有节点上将这些资源的状态手动设置为 OFFLINE


    # scswitch -c -h nodelist -j resource -f STOP_FAILED
    
    -c

    清除标志。

    -h nodelist

    指定曾运行资源的节点名称。

    -j resource

    指定要切换为脱机状态的资源的名称。

    -f STOP_FAILED

    指定标志名称。

  5. 查看在步骤 4 中清除了STOP_FAILED 标志的节点上的资源组状态。

    资源组状态此时应为 OFFLINEONLINE


    # scstat -g
    

    命令 scstat -g 表示资源组是否保持 ERROR_STOP_FAILED 状态。 如果资源组仍处于 ERROR_STOP_FAILED 状态,则运行以下 scswitch 命令以在适合的节点上将资源组切换为脱机状态。


    # scswitch -F -g resource-group
    

    -F

    在可以控制组的所有节点上将资源组切换为脱机状态。

    -g resource-group

    指定要切换为脱机状态的资源组的名称。

    如果 STOP 方法失败,并且无法停止的资源与资源组中的其他资源具有相关性,则在将资源组切换为脱机状态时会发生此种情况。 否则,在对所有 STOP_FAILED 资源运行步骤 4 中的命令后,资源组将自动恢复为 ONLINEOFFLINE 状态。

    此时您可以将资源组切换为 ONLINE 状态。

重新注册预注册的资源类型

两种预注册的资源类型是 SUNW.LogicalHostnameSUNW.SharedAddress。 所有逻辑主机名和共享地址资源都使用这两种资源类型。 您从不需要注册这两种资源类型,但是可能会意外地删除它们。 如果您无意中删除了这两种资源类型,请使用以下过程重新注册它们。

有关附加信息,请参见scrgadm(1M) 手册页。


注意:

请通过任一群集节点执行此过程。


如何重新注册预注册的资源类型

    重新注册资源类型。


    # scrgadm -a -t SUNW.resource-type
    
    -a

    添加资源类型。

    -t SUNW.resource-type

    指定要添加(重新注册)的资源类型。 资源类型可以是 SUNW.LogicalHostnameSUNW.SharedAddress

示例 – 重新注册预注册的资源类型

此例说明了如何重新注册 SUNW.LogicalHostname 资源类型。


# scrgadm -a -t SUNW.LogicalHostname

将节点添加到资源组或从资源组删除节点

本节中的过程使您可以执行以下任务。

根据您是在故障转移资源组中添加或删除节点还是在可伸缩资源组中添加或删除节点,过程会稍有不同。

故障转移资源组包含故障转移服务和可伸缩服务使用的网络资源。 每个连接到群集的 IP 子网均具有自己的网络资源,该资源在故障转移资源组中指定并包含在其中。 网络资源是逻辑主机名资源或共享地址资源。 每个网络资源包括其使用的 IP 网络多路径处理组的列表。 对于故障转移资源组,必须更新资源组包括的每个网络资源的 IP 网络多路径处理组的完整列表(netiflist 资源特性)。

对于可伸缩资源组,除了将可伸缩组更改为在新的主机集上受控制以外,还必须重复用于故障转移组(包含可伸缩资源所用的网络资源)的过程。

有关附加信息,请参见scrgadm(1M) 手册页。


注意:

请通过任一群集节点运行以上过程之一。


将节点添加至资源组

将节点添加到资源组要遵循的步骤取决于资源组是可伸缩资源组还是故障转移资源组。 有关详细说明,请参见以下章节:

要完成此过程,必须提供以下信息。

此外,请确保检验新节点已经是群集成员。

如何将节点添加到可伸缩资源组

  1. 对于资源组中的可伸缩资源所用的每个网络资源,使网络资源所在的资源组在新节点上运行。

    有关详细信息,请参见以下过程的步骤 1步骤 4

  2. 将新节点添加到可控制可伸缩资源组的节点的列表(nodelist 资源组特性)。

    此步骤将覆写 nodelist 的先前的值,因此必须在此处包括可控制资源组的所有节点。


    # scrgadm -c -g resource-group -h nodelist
    
    -c

    更改资源组。

    -g resource-group

    指定要向其中添加节点的资源组的名称。

    -h nodelist

    指定一个用逗号分隔的可控制资源组的节点的列表。

  3. (可选的) 更新可伸缩资源的 Load_balancing_weights 特性,以便为要添加到资源组的节点指定权数。

    否则,权数缺省值将为 1。 有关详细信息,请参见scrgadm(1M) 手册页。

如何将节点添加到故障转移资源组

  1. 显示当前节点列表以及为资源组中的每个资源配置的 IP 网络多路径处理组的当前列表。


    # scrgadm -pvv -g resource-group | grep -i nodelist
    # scrgadm -pvv -g resource-group | grep -i netiflist
    

    注意:

    nodelistnetiflist 的命令行输出用节点名称标识节点。 要标识节点 ID,请运行命令 scconf -pv | grep -i node_id


  2. 更新节点添加操作所影响的网络资源的 netiflist

    此步骤将覆写 netiflist 的先前的值,因此必须在此处包括所有 IP 网络多路径处理组。


    # scrgadm -c -j network-resource -x netiflist=netiflist
    
    -c

    更改网络资源。

    -j network-resource

    指定 netiflist 项托管的网络资源(逻辑主机名或共享地址)的名称。

    -x netiflist =netiflist

    指定一个用逗号分隔的列表,该列表标识各节点上的 IP 网络多路径处理组。 netiflist 中每个元素的格式必须为 netif@nodenetif 可被指定为 IP 网络多路径处理 组的名称,例如 sc_ipmp0。 节点可由节点名称或节点 ID 标识,例如 sc_ipmp0@1sc_ipmp@phys-schost-1

  3. 更新节点列表以包括当前可控制此资源组的所有节点。

    此步骤将覆写 nodelist 的先前的值,因此必须在此处包括可控制资源组的所有节点。


    # scrgadm -c -g resource-group -h nodelist
    
    -c

    更改资源组。

    -g resource-group

    指定要向其中添加节点的资源组的名称。

    -h nodelist

    指定一个用逗号分隔的可控制资源组的节点的列表。

  4. 检验更新的信息。


    # scrgadm -pvv -g resource-group | grep -i nodelist
    # scrgadm -pvv -g resource-group | grep -i netiflist
    

示例 – 将节点添加到资源组

此例说明了如何将节点 (phys-schost-2) 添加到包含逻辑主机名资源 (schost-2) 的资源组 (resource-group-1)。


# scrgadm -pvv -g resource-group-1 | grep -i nodelist
(resource-group-1) Res Group Nodelist:    phys-schost-1 phys-schost-3
# scrgadm -pvv -g resource-group-1 | grep -i netiflist
(resource-group-1:schost-2) Res property name: NetIfList
(resource-group-1:schost-2:NetIfList) Res property class: extension
(resource-group-1:schost-2:NetIfList) List of IP 网络多路径处理  
interfaces on each node
(resource-group-1:schost-2:NetIfList) Res property type: stringarray
(resource-group-1:schost-2:NetIfList) Res property value: sc_ipmp0@1 sc_ipmp0@3
 
(Only nodes 1 and 3 have been assigned IP 网络多路径处理 groups. 
You must add a IP 网络多路径处理 group 
for node 2.)

# scrgadm -c -j schost-2 -x netiflist=sc_ipmp0@1,sc_ipmp0@2,sc_ipmp0@3
# scrgadm -c -g resource-group-1 -h phys-schost-1,phys-schost-2,phys-schost-3
# scrgadm -pvv -g resource-group-1 | grep -i nodelist
(resource-group-1) Res Group Nodelist:     phys-schost-1 phys-schost-2 
                                           phys-schost-3
# scrgadm -pvv -g resource-group-1 | grep -i netiflist
(resource-group-1:schost-2:NetIfList) Res property value: sc_ipmp0@1 sc_ipmp0@2
                                                          sc_ipmp0@3

从资源组删除节点

从资源组删除节点要遵循的步骤取决于该资源组是可伸缩资源组还是故障转移资源组。 有关详细说明,请参见以下章节:

有关示例,请参见示例 – 从资源组删除节点

要完成此过程,必须提供以下信息。

此外,请确保检验资源组不受要删除的节点控制。 如果资源组要删除的节点控制,请运行 scswitch 命令以从该节点上将资源组切换为脱机状态。 以下 scswitch 命令将使资源组从给定节点上脱机(如果 new-masters 不包含该节点)。


# scswitch -z -g resource-group -h new-masters
-g resource-group

指定要将其切换为脱机状态的资源组(受要删除的节点控制)的名称。

-h new-masters

指定当前控制资源组的节点。

有关附加信息,请参见scswitch(1M) 手册页。


小心:小心:

如果要从所有资源组删除某个节点,并且您使用的是可伸缩服务配置,请先从可伸缩资源组删除该节点。 然后,再从故障转移组删除该节点。


如何从可伸缩资源组删除节点

可伸缩服务被配置为两个资源组,如下所示。

此外,将设置可伸缩资源组的 RG_dependencies 特性,以配置与故障转移资源组具有相关性的可伸缩组。 有关此特性的详细信息,请参见附录 A,标准特性

有关可伸缩服务配置的详细信息,请参见Sun Cluster 概念指南(适用于 Solaris OS)文档。

从可伸缩资源组删除节点会使可伸缩服务在该节点上不再联机。 要从可伸缩资源组删除节点,请执行以下步骤。

  1. 从可控制可伸缩资源组的节点的列表(nodelist 资源组特性)中删除节点。


    # scrgadm -c -g scalable-resource-group -h nodelist
    
    -c

    更改资源组。

    -g scalable-resource-group

    指定要从中删除节点的资源组的名称。

    -h nodelist

    指定一个用逗号分隔的可控制此资源组的节点的列表。

  2. (可选)从包含共享地址资源的故障转移资源组中删除节点。

    有关详细信息,请参见如何从包含共享地址资源的故障转移资源组删除节点

  3. (可选)更新可伸缩资源的 Load_balancing_weights 特性,以删除要从资源组中删除的节点的权数。

    有关附加信息,请参见scrgadm(1M) 手册页。

如何从故障转移资源组删除节点

请执行以下步骤以从故障转移资源组中删除节点。


小心:小心:

如果要从所有资源组删除某个节点,并且您使用的是可伸缩服务配置,请先从可伸缩资源组删除该节点。 然后,使用此过程从故障转移组中删除该节点。



注意:

如果故障转移资源组包含可伸缩服务所使用的共享地址资源,请参见如何从包含共享地址资源的故障转移资源组删除节点


  1. 更新节点列表以包括当前可控制此资源组的所有节点。

    此步骤将删除节点并覆写节点列表的先前的值。 请确保在此处包括可控制资源组的所有节点。


    # scrgadm -c -g failover-resource-group -h nodelist
    

    -c

    更改资源组。

    -g failover-resource-group

    指定要从中删除节点的资源组的名称。

    -h nodelist

    指定一个用逗号分隔的可控制此资源组的节点的列表。

  2. 显示为资源组中的每个资源配置的 IP 网络多路径处理组的当前列表。


    # scrgadm -pvv -g failover-resource-group | grep -i netiflist
    

  3. 更新节点删除操作所影响的网络资源的 netiflist

    此步骤将覆写 netiflist 的先前的值。 请确保在此处包括所有 IP 网络多路径处理组。


    # scrgadm -c -j network-resource -x netiflist=netiflist
    


    注意:

    上一命令行的输出用节点名称标识节点。 运行命令行 scconf -pv | grep “Node ID” 可查找节点 ID。


    -c

    更改网络资源。

    -j network-resource

    指定 netiflist 项托管的网络资源的名称。

    -x netiflist =netiflist

    指定一个用逗号分隔的列表,该列表标识各节点上的 IP 网络多路径处理组。 netiflist 中每个元素的格式必须为 netif@nodenetif 可被指定为 IP 网络多路径处理组的名称,例如 sc_ipmp0。 节点可由节点名称或节点 ID 标识,例如 sc_ipmp0@1sc_ipmp@phys-schost-1


    注意:

    Sun Cluster 目前不支持将适配器名称用作 netif


  4. 检验更新的信息。


    # scrgadm -pvv -g failover-resource-group | grep -i nodelist
    # scrgadm -pvv -g failover-resource-group | grep -i netiflist
    

如何从包含共享地址资源的故障转移资源组删除节点

在包含可伸缩服务使用的共享地址资源的故障转移资源组中,节点可以显示在以下位置。

要从故障转移资源组的节点列表中删除节点,请按照过程如何从故障转移资源组删除节点 进行操作。

要修改共享地址资源的 auxnodelist,必须删除并重新创建共享地址资源。

如果从故障转移组的节点列表中删除节点,您可以继续使用该节点上的共享地址资源以提供可伸缩服务。 要执行此操作,您必须将节点添加到共享地址资源的 auxnodelist。 要将节点添加到 auxnodelist,请执行以下步骤。


注意:

您也可以使用以下过程从共享地址资源的 auxnodelist删除节点。 要从 auxnodelist 中删除节点,必须删除并重新创建共享地址资源。


  1. 使可伸缩服务资源切换为脱机状态。

  2. 从故障转移资源组删除共享地址资源。

  3. 创建共享地址资源。

    将从故障转移资源组删除的节点的节点 ID 或节点名称添加到 auxnodelist


    # scrgadm -a -S -g failover-resource-group\
     -l shared-address -X new-auxnodelist
    
    failover-resource-group

    用于包含共享地址资源的故障转移资源组的名称。

    shared-address

    共享地址的名称。

    new-auxnodelist

    添加或删除了所需节点的、已修改的新 auxnodelist

示例 – 从资源组删除节点

此例说明了如何从包含逻辑主机名资源 (schost-1) 的资源组 (resource-group-1) 删除节点 (phys-schost-3)。


# scrgadm -pvv -g resource-group-1 | grep -i nodelist
(resource-group-1) Res Group Nodelist:       phys-schost-1 phys-schost-2 
                                             phys-schost-3
# scrgadm -c -g resource-group-1 -h phys-schost-1,phys-schost-2
# scrgadm -pvv -g resource-group-1 | grep -i netiflist
(resource-group-1:schost-1) Res property name: NetIfList
(resource-group-1:schost-1:NetIfList) Res property class: extension
(resource-group-1:schost-1:NetIfList) List of IP 网络多路径处理 
interfaces on each node
(resource-group-1:schost-1:NetIfList) Res property type: stringarray
(resource-group-1:schost-1:NetIfList) Res property value: sc_ipmp0@1 sc_ipmp0@2
                                                          sc_ipmp0@3

(sc_ipmp0@3 is the IP 网络多路径处理 group to be removed.)

# scrgadm -c -j schost-1 -x netiflist=sc_ipmp0@1,sc_ipmp0@2
# scrgadm -pvv -g resource-group-1 | grep -i nodelist
(resource-group-1) Res Group Nodelist:       phys-schost-1 phys-schost-2
# scrgadm -pvv -g resource-group-1 | grep -i netiflist
(resource-group-1:schost-1:NetIfList) Res property value: sc_ipmp0@1 sc_ipmp0@2

使资源组和磁盘设备组之间的启动同步

在群集引导或服务故障转移到其他节点后,可能需要等一会儿才可以使用全局设备和群集文件系统。 但是,在数据服务所依赖的全局设备和群集文件系统实现联机之前,该数据服务可以运行其 START 方法。 在此实例中,START 方法超时,您必须重置数据服务使用的资源组的状态并手动重新启动该数据服务。 资源类型 HAStorageHAStoragePlus 将监视全局设备和群集文件系统,并导致同一资源组中其他资源的 START 方法等待直到其可用。 (要确定要创建哪个资源类型,请参见HAStorageHAStoragePlus 之间进行选择 。) 为避免附加的管理任务,请为所有资源组设置 HAStorageHAStoragePlus,这些资源组的数据服务资源取决于全局设备或群集文件系统。

要创建 HAStorage 资源类型,请参见如何为新资源设置 HAStorage 资源类型

要创建 HAStoragePlus 资源类型,请参见如何设置 HAStoragePlus 资源类型

如何为新资源设置 HAStorage 资源类型

Sun Cluster 的未来发行版可能不支持 HAStorage。 HAStoragePlus 支持相同的功能。 要从 HAStorage 升级到 HAStoragePlus,请参见从 HAStorage 升级到 HAStoragePlus

在下例中,资源组 resource-group-1 包含三种数据服务。

要为 resource-group-1 中的新资源创建类型为 HAStorage 的资源 hastorage-1,请阅读使资源组和磁盘设备组之间的启动同步 ,然后再执行以下步骤。

要创建 HAStoragePlus 资源类型,请参见启用具有高可用性的本地文件系统

  1. 成为某个群集成员的超级用户。

  2. 创建资源组 resource-group-1


    # scrgadm -a -g resource-group-1
    

  3. 确定是否已注册资源类型。

    使用以下命令可显示已注册资源类型的列表。


    # scrgadm -p | egrep Type
    
  4. 如果需要,请注册资源类型。


    # scrgadm -a -t SUNW.HAStorage
    

  5. 创建类型为 HAStorage 的资源 hastorage-1,并定义服务路径。


    # scrgadm -a -j hastorage-1 -g resource-group-1 -t SUNW.HAStorage \
    -x ServicePaths=/global/resource-group-1,/dev/global/dsk/d5s2,dsk/d6
    

    ServicePaths 可以包含以下值。

    • 全局设备组名称,例如 nfs-dg

    • 全局设备的路径,例如 /dev/global/dsk/d5s2dsk/d6

    • 群集文件系统装载点,例如 /global/nfs


    注意:

    如果 ServicePaths 包含群集文件系统路径,则全局设备组可能与对应的资源组不在同一位置。


  6. 启用 hastorage-1 资源。


    # scswitch -e -j hastorage-1
    

  7. 将资源(Sun Java System Web Server、Oracle 和 NFS)添加到 resource-group-1,并将其相关性设置为 hastorage-1

    例如,对于 Sun Java System Web Server,请运行以下命令。


    # scrgadm -a -j resource -g resource-group-1 -t SUNW.iws \
    -x Confdir_list=/global/iws/schost-1 -y Scalable=False \
    -y Network_resources_used=schost-1 -y Port_list=80/tcp \
    -y Resource_dependencies=hastorage-1
    

  8. 检验是否已经正确地配置了资源相关性。


    # scrgadm -pvv -j resource | egrep strong
    
  9. resource-group-1 设置为 MANAGED 状态,并使 resource-group-1 联机。


    # scswitch -Z -g resource-group-1
    

HAStorage 资源类型包含另一个扩展特性 AffinityOn,该特性是一个布尔值,用于指定 HAStorage 是否必须对 ServicePaths 中定义的全局设备和群集文件系统执行关系切换。 有关详细信息,请参见 SUNW.HAStorage(5) 手册页。


注意:

如果资源组可伸缩,则 HAStorage 和 HAStoragePlus 不允许将 AffinityOn 设置为 TRUEHAStorageHAStoragePlus 将检查 AffinityOn 的值,并针对可伸缩资源组将该值内部重置为 FALSE


如何为现有资源设置 HAStorage 资源类型

Sun Cluster 的未来发行版可能不支持 HAStorage。 HAStoragePlus 支持相同的功能。 要从 HAStorage 升级到 HAStoragePlus,请参见从 HAStorage 升级到 HAStoragePlus

要为现有资源创建类型为 HAStorage 的资源,请阅读使资源组和磁盘设备组之间的启动同步 ,然后执行以下步骤。

  1. 确定是否已注册资源类型。

    使用以下命令可显示已注册资源类型的列表。


    # scrgadm -p | egrep Type
    
  2. 如果需要,请注册资源类型。


    # scrgadm -a -t SUNW.HAStorage
    

  3. 创建类型为 HAStorage 的资源 hastorage-1


    # scrgadm -a -g resource-group -j hastorage-1 -t SUNW.HAStorage \
    -x ServicePaths= … -x AffinityOn=True
    

  4. 启用 hastorage-1 资源。


    # scswitch -e -j hastorage-1
    

  5. 根据需要为每个现有资源设置相关性。


    # scrgadm -c -j resource -y Resource_Dependencies=hastorage-1
    

  6. 检验是否已经正确地配置了资源相关性。


    # scrgadm -pvv -j resource | egrep strong
    

从 HAStorage 升级到 HAStoragePlus

Sun Cluster 的未来发行版可能不支持 HAStorage。 HAStoragePlus 支持相同的功能。 要从 HAStorage 升级到 HAStoragePlus,请参见以下各节。

使用设备组或 CFS 时如何从 HAStorage 升级到 HAStoragePlus

Sun Cluster 的未来发行版可能不支持 HAStorage。 HAStoragePlus 支持相同的功能。 要在使用设备组或 CFS 时从 HAStorage 升级到 HAStoragePlus,请完成以下步骤。

下例使用通过 HAStorage 激活的简单 HA-NFS 资源。 ServicePaths 是磁盘组 nfsdg,AffinityOn 特性为 TRUE。 并且,HA-NFS 资源已将 Resource_Dependencies 设置为 HAStorage 资源。

  1. 删除应用程序资源与 HAStorage 的相关性。


    # scrgadm -c -j nfsserver-rs -y Resource_Dependencies=""
    
  2. 禁用 HAStorage 资源。


    # scswitch -n -j nfs1storage-rs
    
  3. 从应用程序资源组删除 HAStorage 资源。


    # scrgadm -r -j nfs1storage-rs
    
  4. 取消注册 HAStorage 资源类型。


    # scrgadm -r -t SUNW.HAStorage
    
  5. 注册 HAStoragePlus 资源类型。


    # scrgadm -a -t SUNW.HAStoragePlus
    
  6. 创建 HAStoragePlus 资源。

    要指定文件系统装载点,请输入以下文本。


    # scrgadm -a -j nfs1-hastp-rs -g nfs1-rg -t \
    SUNW.HAStoragePlus -x FilesystemMountPoints=/global/nfsdata -x \
    AffinityOn=True
    

    要指定全局设备路径,请输入以下文本。


    # scrgadm -a -j nfs1-hastp-rs -g nfs1-rg -t \
    SUNW.HAStoragePlus -x GlobalDevicePaths=nfsdg -x AffinityOn=True
    

    注意:

    您必须使用 HAStoragePlus 的 GlobalDevicePaths 或 FilesystemMountPoints 特性,而不要使用 HAStorage 的 ServicePaths 特性。 FilesystemMountPoint 扩展特性必须与 /etc/vfstab 中指定的序列相匹配。


  7. 启用 HAStoragePlus 资源。


    # scswitch -e -j nfs1-hastp-rs
    
  8. 在应用服务器和 HAStoragePlus 之间设置相关性。


    # scrgadm -c -j nfsserver-rs -y \
    Resource_Depencencies=nfs1=hastp-rs
    

如何从带有 CFS 的 HAStorage 升级到带有故障转移文件系统的 HAStoragePlus

Sun Cluster 的未来发行版可能不支持 HAStorage。 HAStoragePlus 支持相同的功能。 要从带有 CFS 的 HAStorage 升级到带有故障转移文件系统 (FFS) 的 HAStoragePlus,请完成以下步骤。

下例使用通过 HAStorage 激活的简单 HA-NFS 资源。 ServicePaths 是磁盘组 nfsdg,AffinityOn 特性为 TRUE。 并且,HA-NFS 资源已将 Resource_Dependencies 设置为 HAStorage 资源。

  1. 删除应用程序资源与 HAStorage 资源的相关性。


    # scrgadm -c -j nfsserver-rs -y Resource_Dependencies=""'
  2. 禁用 HAStorage 资源。


    # scswitch -n -j nfs1storage-rs
    
  3. 从应用程序资源组删除 HAStorage 资源。


    # scrgadm -r -j nfs1storage-rs
    
  4. 取消注册 HAStorage 资源类型。


    # scrgadm -r -t SUNW.HAStorage
    
  5. 修改 /etc/vfstab 以删除全局标志,并将“引导时装载”更改为“否”。

  6. 创建 HAStoragePlus 资源。

    要指定文件系统装载点,请输入以下文本。


    # scrgadm -a -j nfs1-hastp-rs -g nfs1-rg -t \
    SUNW.HAStoragePlus -x FilesystemMountPoints=/global/nfsdata -x \
    AffinityOn=True
    

    要指定全局设备路径,请输入以下文本。


    # scrgadm -a -j nfs1-hastp-rs -g nfs1-rg -t \
    SUNW.HAStoragePlus -x GlobalDevicePaths=nfsdg -x AffinityOn=True
    

    注意:

    您必须使用 HAStoragePlus 的 GlobalDevicePaths 或 FilesystemMountPoints 特性,而不要使用 HAStorage 的 ServicePaths 特性。 FilesystemMountPoint 扩展特性必须与 /etc/vfstab 中指定的序列相匹配。


  7. 启用 HAStoragePlus 资源。


    # scswitch -e -j nfs1-hastp-rs
    
  8. 在应用服务器和 HAStoragePlus 之间设置相关性。


    # scrgadm -c -j nfsserver-rs -y \
    Resource_Depencencies=nfs1=hastp-rs
    

启用具有高可用性的本地文件系统

HAStoragePlus 资源类型可用于使本地文件系统在 Sun Cluster 环境中具有高可用性。 本地文件系统的各个分区必须位于启用了关系切换的全局磁盘组中,并且必须对 Sun Cluster 环境进行配置以进行故障转移。 这将使用户能够实现以下目的:即让多主机磁盘上的任何文件系统都可通过与多主机磁盘直接相连的任何主机进行访问。 (无法通过 HAStoragePlus 使根文件系统高度可用。) 资源组和设备组的故障恢复设置必须相同。

强烈建议您对某些 I/O 密集型数据服务使用高可用性的本地文件系统,有关如何配置 HAStoragePlus 资源类型的过程已经添加到这些数据服务的注册和配置过程。 有关如何为这些数据服务设置 HAStoragePlus 资源类型的过程,请参见以下各节。

有关为其他数据服务设置 HAStoragePlus 资源类型的过程,请参见如何设置 HAStoragePlus 资源类型

如何设置 HAStoragePlus 资源类型

在 Sun Cluster 3.0 5/02 中新增了 HAStoragePlus 资源类型。这种新的资源类型与 HAStorage 执行相同的功能,并且同步资源组和磁盘设备组之间的启动。 HAStoragePlus 还具有使本地文件系统具有高可用性的附加功能。 (有关使本地文件系统高度可用的背景信息,请参见启用具有高可用性的本地文件系统 。) 要使用这两个特性,请设置 HAStoragePlus 资源类型。

要设置 HAStoragePlus,本地文件系统的各个分区必须位于启用了关系切换的全局磁盘组中,并且必须对 Sun Cluster 环境进行配置以进行故障转移。

下例使用了简单 NFS 服务,该服务从本地装载的 /global/local-fs/nfs/export/home 目录分配起始目录数据。 此例假定以下条件:

  1. 成为某个群集成员的超级用户。

  2. 确定是否已注册资源类型。

    使用以下命令可显示已注册资源类型的列表。


    # scrgadm -p | egrep Type
    
  3. 如果需要,请注册资源类型。


    # scrgadm -a -t SUNW.nfs
    

  4. 创建故障转移资源组 nfs-r


    # scrgadm -a -g nfs-rg -y PathPrefix=/global/local-fs/nfs
    

  5. 创建类型为 SUNW.LogicalHostname 的逻辑主机资源。


    # scrgadm -a -j nfs-lh-rs -g nfs-rg -L -l log-nfs
    

  6. 向群集注册 HAStoragePlus 资源类型。


    # scrgadm -a -t SUNW.HAStoragePlus
    

  7. 创建类型为 HAStoragePlus 的资源 nfs-hastp-rs


    # scrgadm -a -j nfs-hastp-rs -g nfs-rg -t SUNW.HAStoragePlus\
    -x FilesystemMountPoints=/global/local-fs/nfs \
    -x AffinityOn=TRUE
    


    注意:

    FilesystemMountPoints 扩展特性可用于指定一个或多个文件系统装载点的列表。 此列表可以由本地和全局文件系统装载点组成。 对于全局文件系统,HAStoragePlus 将忽略引导时装载的标志。


  8. 在某个群集节点上使资源组 nfs-rg 联机。

    此节点将成为 /global/local-fs/nfs 文件系统的基础全局设备分区的主节点。 文件系统 /global/local-fs/nfs 随后将在此节点上进行本地装载。


    # scswitch -Z -g nfs-rg
    
  9. 向群集注册 SUNW.nfs 资源类型。 创建类型为 SUNW.nfs 的资源 nfs-rs,并指定其与资源 nfs-hastp-rs 的资源相关性。

    dfstab.nfs-rs 将显示在 /global/local-fs/nfs/SUNW.nfs 中。


    # scrgadm -a -t SUNW.nfs
    # scrgadm -a -g nfs-rg -j nfs-rs -t SUNW.nfs \
    -y Resource_dependencies=nfs-hastp-rs
    


    注意:

    必须先使 nfs-hastp-rs 资源联机,然后才能在 nfs 资源中设置相关性。


  10. 使资源 nfs-rs 联机。


    # scswitch -Z -g nfs-rg
    

小心:小心:

请确保仅以资源组级别进行切换。 以设备组级别进行切换会使资源组处于混乱状态,从而导致资源组进行故障转移。


这样,只要将服务迁移到新的节点上,/global/local-fs/nfs 的主 I/O 路径就将始终处于联机状态,并与 NFS 服务器处于相同的位置。 在启动 NFS 服务器之前,文件系统 /global/local-fs/nfs 将进行本地装载。

通过卸载非关键资源组来释放节点资源

Prioritized Service Management (RGOffload) 允许群集为关键的数据服务自动释放某个节点的资源。 如果启动关键的故障转移数据服务时需要先使非关键的可伸缩数据服务或故障转移数据服务脱机,则请使用 RGOffload。 RGOffload 可用于卸载包含非关键数据服务的资源组。


注意:

关键的数据服务必须是故障转移数据服务。所要卸载的数据服务可以是故障转移数据服务,也可以是可伸缩数据服务。


如何设置 RGOffload 资源

  1. 成为某个群集成员的超级用户。

  2. 确定是否已注册 RGOffload 资源类型。

    使用以下命令可显示一个资源类型列表。


    # scrgadm -p|egrep SUNW.RGOffload
    
  3. 如果需要,请注册资源类型


    # scrgadm -a -t SUNW.RGOffload
    

  4. 在要由 RGOffload 资源卸载的每个资源组中,将 Desired_primaries 设置为零。


    # scrgadm -c -g offload-rg -y Desired_primaries=0
    
  5. 将 RGOffload 资源添加到关键的故障转移资源组中,并设置扩展特性。

    请勿将一个资源组放在多个资源的 rg_to_offload 列表中。 如果将一个资源组放在多个 rg_to_offload 列表中,可能会使该资源组脱机然后再返回联机状态,并反复重复此过程。

    有关扩展特性的说明,请参见配置 RGOffload 扩展特性


    # scrgadm -aj rgoffload-resource\
    -t SUNW.RGOffload -g critical-rg \
    -x rg_to_offload=offload-rg-1, offload-rg-2, ...\
    -x continue_to_offload=TRUE \
    -x max_offload_retry=15
    

    注意:

    此处列出的是除 rg_to_offload 以外的扩展特性及其缺省值。 rg_to_offload 是一个用逗号分隔的资源组的列表,其中各个资源组之间相互保持独立。 此列表中不能包含正要向其中添加 RGOffload 资源的资源组。


  6. 启用 RGOffload 资源。


    # scswitch -ej rgoffload-resource
    
  7. 设置关键的故障转移资源与 RGOffload 资源的相关性。


    # scrgadm -c -j critical-resource \
    -y Resource_dependencies=rgoffload-resource
    

    也可以使用 Resource_dependencies_weak。 如果对 RGOffload 资源类型使用 Resource_dependencies_weak,即使在卸载 offload-rg 过程中出现错误,也会启动关键的故障转移资源。

  8. 使要卸载的资源组联机。


    # scswitch -z -g offload-rg, offload-rg-2, ... -h [nodelist]

    在关键资源组已经脱机的所有节点上,该资源组将保持联机状态。 故障监视器可防止该资源组在具有以下特点的节点上运行:其中的关键资源组仍处于联机状态。

    因为要卸载的资源组的 Desired_primaries 已设置为 0(请参见步骤 4),所以“-Z”选项不能使这些资源组联机。

  9. 如果关键的故障转移资源组没有联机,请使其联机。


    # scswitch -Z -g critical-rg
    

SPARC: 示例 – 配置 RGOffload 资源

此例说明了如何配置 RGOffload 资源 (rgofl)、包含 RGOffload 资源 (oracle_rg) 的关键资源组以及在关键资源组联机时被卸载的可伸缩资源组(IWS-SCIWS-SC-2)。 此例中的关键资源为 oracle-server-rs

在此例中,可以在群集“triped”的任何一个节点(phys-triped-1、phys-triped-2、phys-triped-3)上控制 oracle_rgIWS-SCIWS-SC-2


[确定是否已注册 SUNW.RGOffload 资源类型。]
# scrgadm -p|egrep SUNW.RGOffload
 
[如果需要,请注册资源类型。]
# scrgadm -a -t SUNW.RGOffload

[在要由 RGOffload 资源卸载的每个资源组中,将 Desired_primaries 设置为零。]
# scrgadm -c -g IWS-SC-2 -y Desired_primaries=0
# scrgadm -c -g IWS-SC -y Desired_primaries=0

[将 RGOffload 资源添加到关键资源组并设置扩展特性。]
# scrgadm -aj rgofl -t SUNW.RGOffload -g oracle_rg \
-x rg_to_offload=IWS-SC,IWS-SC-2 -x continue_to_offload=TRUE \
-x max_offload_retry=15
 
[启用 RGOffload 资源。]
# scswitch -ej rgofl
 
[设置关键故障转移资源与 RGOffload 资源的相关性。]
# scrgadm -c -j oracle-server-rs -y Resource_dependencies=rgofl
 
[使要卸载的资源组在所有节点上联机。]
# scswitch -z -g IWS-SC,IWS-SC-2 -h phys-triped-1,phys-triped-2,phys-triped-3
 
[如果关键故障转移资源组未联机,请使其联机。]
# scswitch -Z -g oracle_rg

配置 RGOffload 扩展特性

通常,在创建 RGOffload 资源时使用命令行 scrgadm -x parameter=value 来配置扩展特性。 有关所有 Sun Cluster 标准特性的详细信息,请参见附录 A,标准特性

表 2–2 说明了可为 RGOffload 配置的各种扩展特性。 “可调”条目说明何时可以更新该特性。

表 2–2 RGOffload 扩展特性

名称/数据类型 

缺省值  

rg_to_offload(字符串)

一个用逗号分隔的资源组的列表。当关键的故障转移资源组在某个节点上启动时,需要在该节点上卸载列表中的资源组。 此列表不应包含相互依赖的资源组。 此特性没有缺省值,因此必须进行设置。 

 

RGOffload 不检查 rg_to_offload 扩展特性中所设置的资源组列表中的相关性循环。 例如,如果资源组 RG-B 在某个方面依赖于 RG-A,则 RG-A 和 RG-B 都不应包含在 rg_to_offload 中。

 

缺省值:

可调:任何时候

continue_to_offload(布尔值)

布尔值,它表示是否在卸载资源组时出错后继续卸载 rg_to_offload 列表中的剩余资源组。

 

此特性仅用于 START 方法。 

 

缺省值: True

可调:任何时候

max_offload_retry(整数)

如果因重新配置群集或资源组而出现失败,在启动期间尝试卸载资源组的次数。 在连续两次重试之间有 10 秒钟的间隔。  

 

请设置 max_offload_retry,以便

 

(要卸载的资源组的数目 * max_offload_retry * 10 秒)

 

小于 RGOffload 资源的 Start_timeout。 如果此数值接近或大于 Start_timeout 的数值,则 RGOffload 资源的 START 方法可能会在完成最大卸载尝试次数之前便超时。

 

此特性仅用于 START 方法。  

 

缺省值: 15

可调:任何时候

故障监视器

RGOffload 资源的故障监视器探测可用于使 rg_to_offload 扩展特性中指定的资源组在控制关键资源的节点上保持脱机状态。 在每个探测周期内,故障监视器将检验所要卸载的资源组 (offload-rg) 在控制关键资源的节点上是否为脱机状态。 如果 offload-rg 在控制关键资源的节点上处于联机状态,则故障监视器将在除控制关键资源的那个节点之外的某个节点上尝试启动 offload-rg,从而使得 offload-rg 在控制关键资源的那个节点上脱机。

因为 offload-rgdesired_primaries 被设置为 0,所以在后来变得可用的节点上不会再启动已卸载的资源组。 因此,在使 offload-rg 在控制关键资源的节点上保持脱机的同时,RGOffload 故障监视器会在尽可能多的主节点上尝试启动 offload-rg,直到达到 maximum_primaries 限制。

RGOffload 会尝试启动所有已卸载的资源组,除非它们处于 MAINTENANCEUNMANAGED 状态。 要将资源组置于 UNMANAGED 状态,请使用 scswitch 命令。


# scswitch -u -g resourcegroup

在每个 Thorough_probe_interval 之后,都将调用故障监视器探测循环。