Oracle® Solaris Cluster 数据服务规划和管理指南

退出打印视图

更新时间: 2014 年 9 月
 
 

从资源组中删除节点

从资源组删除节点的过程完全取决于资源组是可伸缩资源组还是故障转移资源组。有关详细说明,请参见以下各节:


注 -  如果要删除的节点出现在每节点资源依赖性中,则必须先从每节点依赖性中删除该节点,然后才能将其从资源组中删除。有关更多信息,请参见如何更改资源依赖性属性

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

  • 所有群集节点的节点名称和节点 ID

    # clnode show -v | grep -i “Node ID”
  • 要从中删除节点的一个或多个资源组的名称

    # clresourcegroup show | grep “Nodelist”
  • 要托管所有节点上资源组都使用的网络资源的 IPMP 组的名称

    # clresourcegroup show -v | grep “NetIfList.*value”

此外,必须确认资源组不受要删除的节点控制。如果资源组要删除的节点控制,可运行 clresourcegroup 命令将资源组切换为从该节点脱机。以下 clresourcegroup 命令可将资源组从给定节点脱机,前提是 new-masters 不包含该节点。

# clresourcegroup switch -n new-masters resource-group
–n new-masters

指定现在要控制资源组的节点。

resource-group

指定要切换的资源组的名称。此资源组受要删除的节点控制。

有关更多信息,请参见 clresourcegroup(1CL) 手册页。


Caution

注意  -  如果要从所有资源组中删除某个节点,并且使用可伸缩服务配置,则应先从可伸缩资源组中删除该节点。然后,从故障转移组删除该节点。


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

可伸缩服务按如下方式配置为两个资源组。

  • 一个是可伸缩资源组,包含可伸缩服务资源

  • 一个是故障转移资源组,包含可伸缩服务资源使用的共享地址资源

此外,还要设置可伸缩资源组的 RG_dependencies 属性以配置可伸缩组对故障转移资源组的依赖性。有关此属性的信息,请参见 rg_properties(5) 手册页。

有关可伸缩服务配置的详细信息,请参见Oracle Solaris Cluster Concepts Guide

从可伸缩资源组删除节点会导致在此节点无法再将可伸缩服务联机。要从可伸缩资源组删除节点,请执行以下步骤。

  1. 从可以控制可伸缩资源组的节点列表(nodelist 资源组属性)中删除此节点。
    # clresourcegroup set [-n nodelist] scalable-resource-group
    –n nodelist

    指定可以控制此资源组的节点的逗号分隔排序列表。在所有其他节点上,此资源组被切换到脱机状态。

    此列表是可选的。如果省略此列表,则 Nodelist 属性将设置为群集中的所有节点。

    scalable-resource-group

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

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

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

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

另请参见

clresourcegroup(1CL) 手册页。

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

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


Caution

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


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

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

    此步骤将删除节点并覆盖以前的节点列表值。必须在此处包括可以控制资源组的所有节点。

    # clresourcegroup set [-n nodelist] failover-resource-group
    –n nodelist

    指定可以控制此资源组的节点的逗号分隔排序列表。在所有其他节点上,此资源组被切换到脱机状态。

    此列表是可选的。如果省略此列表,则 Nodelist 属性将设置为群集中的所有节点。

    failover-resource-group

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

  2. 显示为资源组中每个资源配置的 IPMP 组的当前列表。
    # clresourcegroup show -v failover-resource-group | grep -i netiflist
  3. 为受删除节点影响的网络资源更新 netiflist

    此步骤会覆盖以前的 netiflist 值。必须在此处包括所有 IPMP 组。

    # clresource set -p netiflist=netiflist network-resource

    注 -  上一个命令行的输出按节点名称标识节点。运行命令行 clnode show -v | grep -i “Node ID” 可查找节点 ID。
    –p netiflist=netiflist

    指定标识每个节点上的 IPMP 组的逗号分隔列表。netiflist 中的每个元素都必须采用 netif@node 格式。netif 可指定为 IPMP 组名,例如 sc_ipmp0。节点可由节点名称或节点 ID 标识,例如 sc_ipmp0@1sc_ipmp@phys-schost-1

    network-resource

    指定在 netiflist 条目中承载的网络资源的名称。


    注 -  Oracle Solaris Cluster 不支持将适配器名称用于 netif
  4. 检验更新后的信息。
    # clresourcegroup show -v failover-resource-group | grep -i nodelist
    # clresourcegroup show -v failover-resource-group | grep -i netiflist 

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

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

  • 故障转移资源组的节点列表

  • 共享地址资源的 auxnodelist

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

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

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


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

开始之前

请确保 /etc/netmasks 文件具有所有逻辑主机名对应的 IP 地址子网和网络掩码条目。如有必要,编辑 /etc/netmasks 文件以添加缺少的任何条目。

  1. 将可伸缩服务资源切换为脱机。
  2. 从故障转移资源组中删除共享地址资源。
  3. 创建共享地址资源。

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

    # clressharedaddress create -g failover-resource-group \
    -X new-auxnodelist shared-address 
    failover-resource-group

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

    new-auxnodelist

    添加或删除了所需节点的经过修改的新 auxnodelist

    shared-address

    共享地址的名称。

示例 2-32  从资源组中删除节点

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

# clresourcegroup show -v resource-group-1 | grep -i nodelist
Nodelist:       phys-schost-1  phys-schost-2  phys-schost-3
# clresourcegroup set -n phys-schost-1,phys-schost-2 resource-group-1
# clresourcegroup show -v resource-group-1 | grep -i netiflist
( Res property name: NetIfList
Res property class: extension
( List of IPMP
interfaces on each node
( Res property type: stringarray
Res property value: sc_ipmp0@1  sc_ipmp0@2  sc_ipmp0@3

(sc_ipmp0@3 is the IPMP group to be removed.)

# clresource set  -p  netiflist=sc_ipmp0@1,sc_ipmp0@2 schost-1
# clresourcegroup show -v resource-group-1 | grep -i nodelist
Nodelist:       phys-schost-1 phys-schost-2
# clresourcegroup show -v resource-group-1 | grep -i netiflist
Res property value: sc_ipmp0@1 sc_ipmp0@2