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

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

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

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

故障转移资源组包含故障转移服务和可伸缩服务使用的网络资源。 每个连接到群集的 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