Sun Cluster 系统管理指南(适用于 Solaris OS)

第 8 章 管理群集

本章讲述了一些过程,用于管理那些会对整个群集产生影响的方面。

本章包含以下几节:

管理群集概述

本节介绍了如何对整个群集执行管理任务。下表列出了所有这些管理任务及相关过程。对于 Solaris 10 OS,除非另有指示,否则请在全局区域中执行群集管理任务。

表 8–1 任务列表:管理群集

任务 

指导 

更改群集的名称 

如何更改群集的名称

列出节点的 ID 及其相应的节点名称 

如何将节点 ID 映射到节点名称

允许或拒绝新节点添加到群集中 

如何使用对新群集节点的认证

使用网络时间协议 (Network Time Protocol, NTP) 更改群集时间 

如何在群集中重置时间

关闭节点以显示 OpenBoot PROM ok 提示符(在基于 SPARC 的系统中)或 Press any key to continue 消息(在基于 x86 的系统的 GRUB 菜单中)

SPARC: 如何在节点上显示 OpenBoot PROM (OBP)

更改专用主机名 

如何更改节点专用主机名

使群集节点进入维护状态 

如何使节点进入维护状态

使群集节点脱离维护状态 

如何使节点脱离维护状态

向群集添加节点 

添加群集节点

从群集中删除节点 

删除群集节点

从节点卸载 Sun Cluster 软件 

如何从群集节点中卸载 Sun Cluster 软件

更正错误消息 

如何纠正错误消息

Procedure如何更改群集的名称

根据需要,您可以在初次安装后更改群集的名称。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 成为群集中任一节点上的超级用户。

  2. 启动 clsetup 实用程序。


    # clsetup
    

    显示“Main Menu”。

  3. 要更改群集名称,请键入与“其他群集属性”选项对应的编号。

    这时将显示“Other Cluster Properties”菜单。

  4. 从菜单进行选择并按屏幕提示操作。

  5. 如果想让 Sun Cluster 的服务标签反映新的群集名称,请删除现有的 Sun Cluster 标签并重新启动群集。要删除 Sun Cluster 服务标签实例,请针对群集中的所有节点完成以下子步骤。

    1. 列出所有的服务标签。


      # stclient -x
      
    2. 找到 Sun Cluster 服务标签实例编号,然后执行以下命令。


      # stclient -d -i service_tag_instance_number
      
    3. 重新引导群集中的所有节点。


      # reboot
      

示例 8–1 更改群集的名称

以下示例显示了由 clsetup(1CL) 实用程序生成的 cluster(1CL) 命令,用于将群集名称更改为 dromedary


# cluster -c dromedary

Procedure如何将节点 ID 映射到节点名称

在 Sun Cluster 安装过程中,会自动给每个节点指定一个唯一的节点 ID 号。该 ID 编号是按节点首次加入群集的顺序指定的。节点 ID 编号一经指定,便不能再更改。节点 ID 编号经常在错误消息中使用,标识与消息有关的群集节点。请遵照此过程来确定节点 ID 和节点名称之间的映射。

要列出配置信息,您不必成为超级用户。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 使用 clnode(1CL) 命令可列出群集配置信息。


    % clnode show | grep Node
    

示例 8–2 将节点 ID 映射到节点名称

以下示例显示了节点 ID 的分配情况。


% clnode show | grep Node
=== Cluster Nodes ===
Node Name:				phys-schost1
  Node ID:				1
Node Name: 				phys-schost2
  Node ID:				2
Node Name:				phys-schost3
  Node ID:				3

Procedure如何使用对新群集节点的认证

Sun Cluster 使您可以确定新节点是否能将自身添加至群集,以及认证的类型。您可以允许任何新的节点通过公共网络加入群集、拒绝新节点加入群集或指定可以加入群集的具体节点。新节点可以通过使用标准 UNIX 或者 Diffie-Hellman (DES) 认证来进行认证。如果选择的是 DES 认证,还必须在节点加入前配置所有需要的加密密钥。有关更多信息,请参见 keyserv(1M)publickey(4) 手册页。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 成为群集中任一节点上的超级用户。

  2. 启动 clsetup(1CL) 实用程序。


    # clsetup
    

    显示“Main Menu”。

  3. 要使用群集验证,请键入与新节点选项相对应的编号。

    这时将显示“New Nodes”菜单。

  4. 从菜单进行选择并按屏幕提示操作。


示例 8–3 防止将新计算机添加到群集中

以下示例显示了由 clsetup 实用程序生成的 claccess 命令,用于防止将新计算机添加到群集中。


# claccess deny -h hostname


示例 8–4 允许将所有新计算机添加到群集中

以下示例显示了由 clsetup 实用程序生成的 claccess 命令,用于将所有新计算机添加到群集中。


# claccess allow-all


示例 8–5 指定要添加到群集中的新计算机

以下示例显示了由 clsetup 实用程序生成的 claccess 命令,用于将单个新计算机添加到群集中。


# claccess allow -h hostname


示例 8–6 将验证设置为标准 UNIX

以下示例显示了由 clsetup 实用程序生成的 claccess 命令,用于将加入群集的新节点的验证重置为标准 UNIX 验证。


# claccess set -p protocol=sys


示例 8–7 将验证设置为 DES

以下示例显示了由 clsetup 实用程序生成的 claccess 命令,用于对加入群集的新节点采用 DES 验证。


# claccess set -p protocol=des

如果采用 DES 验证,您还必须配置所有必要的加密密钥,然后才能将节点加入群集。有关更多信息,请参见 keyserv(1M)publickey(4) 手册页。


Procedure如何在群集中重置时间

Sun Cluster 软件使用网络时间协议 (Network Time Protocol, NTP) 来保持群集节点间的时间同步。节点进行时间同步时,群集会根据需要进行自动调整。有关更多信息,请参见《Sun Cluster Concepts Guide for Solaris OS》和《Network Time Protocol User's Guide》。


注意 – 注意 –

如果使用的是 NTP,请不要在群集处于打开和运行状态时调整群集时间。请不要通过交互使用 date(1)rdate(1M)xntpd(1M)svcadm(1M) 命令来调整时间,或在 cron(1M) 脚本中调整时间。


此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 成为群集中任一节点上的超级用户。

  2. 关闭群集。


    # cluster shutdown -g0 -y -i 0
    
  3. (在基于 SPARC 的系统中)验证节点显示 ok 提示符;或(在基于 x86 的系统上)验证节点在 GRUB 菜单中显示 Press any key to continue 消息。

  4. 以非群集模式引导节点。

    • 在基于 SPARC 的系统中,执行以下命令:


      ok boot -x
      
    • 在基于 x86 的系统中,执行以下命令:


      phys-schost# shutdown -g -y -i0
      
      Press any key to continue
    1. 在 GRUB 菜单中,使用方向键选择适当的 Solaris 条目,然后键入 e 以编辑其命令。

      GRUB 菜单显示如下内容:


      GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
      +-------------------------------------------------------------------------+
      | Solaris 10 /sol_10_x86                                                  |
      | Solaris failsafe                                                        |
      |                                                                         |
      +-------------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press enter to boot the selected OS, 'e' to edit the
      commands before booting, or 'c' for a command-line.

      有关基于 GRUB 进行引导的更多信息,请参见《System Administration Guide: Basic Administration》中的第 11  章 “GRUB Based Booting (Tasks)”

    2. 在引导参数屏幕中,使用方向键选择内核条目,然后键入 e 以编辑该条目。

      GRUB 引导参数屏幕的显示与以下内容类似:


      GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
      +----------------------------------------------------------------------+
      | root (hd0,0,a)                                                       |
      | kernel /platform/i86pc/multiboot                                     |
      | module /platform/i86pc/boot_archive                                  |
      +----------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press 'b' to boot, 'e' to edit the selected command in the
      boot sequence, 'c' for a command-line, 'o' to open a new line
      after ('O' for before) the selected line, 'd' to remove the
      selected line, or escape to go back to the main menu.
    3. 向命令中添加 -x 以指定将系统引导至非群集模式。


      [ Minimal BASH-like line editing is supported. For the first word, TAB
      lists possible command completions. Anywhere else TAB lists the possible
      completions of a device/filename. ESC at any time exits. ]
      
      grub edit> kernel /platform/i86pc/multiboot -x
    4. 按 Enter 键接受所做更改,并返回到引导参数屏幕。

      屏幕将显示编辑后的命令。


      GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
      +----------------------------------------------------------------------+
      | root (hd0,0,a)                                                       |
      | kernel /platform/i86pc/multiboot -x                                  |
      | module /platform/i86pc/boot_archive                                  |
      +----------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press 'b' to boot, 'e' to edit the selected command in the
      boot sequence, 'c' for a command-line, 'o' to open a new line
      after ('O' for before) the selected line, 'd' to remove the
      selected line, or escape to go back to the main menu.-
    5. 键入 b 以将节点引导至非群集模式。


      注 –

      对内核引导参数命令所做的这一更改在系统引导后将失效。下次重新引导节点时,系统将引导至群集模式。如果希望引导至非群集模式,请重新执行上述步骤,并将 -x 选项添加到内核引导参数命令中。


  5. 在单个节点上,通过运行 date 命令设置日时间。


    # date HHMM.SS
    
  6. 在其他计算机上,通过运行 rdate(1M) 命令使其与上述节点的时间同步。


    # rdate hostname
    
  7. 引导每个节点以重新启动该群集。


    # reboot
    
  8. 检验是否所有群集节点都已进行了更改。

    在每个节点上,运行 date 命令。


    # date
    

ProcedureSPARC: 如何在节点上显示 OpenBoot PROM (OBP)

如果需要配置或更改 OpenBoot PROM 设置,请使用此过程。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 连接到要关闭的节点上的控制台。


    # telnet tc_name tc_port_number
    
    tc_name

    指定终端集中器的名称。

    tc_port_number

    指定终端集中器上的端口号。端口号取决于配置。通常,端口 2 和 3(5002 和 5003)供站点上所安装的第一个群集使用。

  2. 依次执行 clnode evacuate 命令和 shutdown 命令使群集节点正常关机。clnode evacuate 命令可将指定节点上的所有设备组都切换到下一个首选节点。此外,该命令还可将所有资源组从指定节点的全局或非全局区域切换到位于其他节点的下一个首选全局或非全局区域。


    # clnode evacuate node
    # shutdown -g0 -y
    

    注意 – 注意 –

    不要在群集控制台上用 send brk 来关闭群集节点。


  3. 执行 OBP 命令。

Procedure如何更改节点专用主机名

使用此过程可在完成安装后更改群集节点的专用主机名。

首次安装群集时,系统会指定默认专用主机名。默认专用主机名的格式为 clusternode< nodeid>-priv,例如:clusternode3-priv 。只有当专用主机名已在域中使用,您才能更改它。


注意 – 注意 –

不要尝试给新的专用主机名分配 IP 地址。群集软件将进行分配。


此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 在群集的所有节点上,禁用所有数据服务资源或其他可能高速缓存专用主机名的应用程序。


    # clresource disable resource[,...]
    

    禁用的应用程序应包括:

    • HA-DNS 和 HA-NFS 服务(如果已配置)

    • 任何被自定义配置为使用专用主机名的应用程序

    • 任何正由客户机通过专用互连使用的应用程序

    有关使用 clresource 命令的信息,请参见clresource(1CL) 手册页和《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》

  2. 如果网络时间协议 (Network Time Protocol, NTP) 配置文件引用了正在更改的专用主机名,请在群集每个节点上关闭 NTP 守护进程。

    • SPARC:如果正在使用 Solaris 9 OS,请使用 xntpd 命令关闭 NTP 守护进程。有关 NTP 守护进程的更多信息,请参见xntpd(1M) 手册页。


      # /etc/init.d/xntpd.cluster stop
      
    • 如果正在使用 Solaris 10 OS,请使用 svcadm 命令关闭 NTP 守护进程。有关 NTP 守护进程的更多信息,请参见svcadm(1M) 手册页。


      # svcadm disable ntp
      
  3. 运行 clsetup(1CL) 实用程序以更改相应节点的专用主机名。

    只需在群集的一个节点上运行该实用程序即可。


    注 –

    选择新的专用主机名时,请确保该名称对群集节点是唯一的。


  4. 键入与专用主机名选项相对应的编号。

  5. 键入与更改专用主机名选项相对应的编号。

    根据提示回答问题。系统会要求您提供要更改其专用主机名的节点的名称 (clusternode< nodeid>-priv),以及新的专用主机名称。

  6. 刷新名称服务高速缓存。

    请在群集每个节点上执行此步骤。刷新操作可避免群集应用程序和数据服务访问旧的专用主机名。


    # nscd -i hosts
    
  7. 如果您更改了 NTP 配置文件中的专用主机名,请在每个节点上更新 NTP 配置文件(ntp.confntp.conf.cluster)。

    1. 使用您选择的编辑工具。

      如果在安装时执行此步骤,还要记得删除所配置的节点的名称。默认模板中预先配置有 16 个节点。通常,每个群集节点上的 ntp.conf.cluster 文件都相同。

    2. 检验是否能从所有群集节点成功 ping 新的专用主机名。

    3. 重新启动 NTP 守护进程。

      对群集的每个节点执行本步骤。

      • SPARC:如果正在使用 Solaris 9 OS,请使用 xntpd 命令重新启动 NTP 守护进程。

        如果正在使用 ntp.conf.cluster 文件,请键入:


        # /etc/init.d/xntpd.cluster start
        

        如果正在使用 ntp.conf 文件,请键入:


        # /etc/init.d/xntpd start
        
      • 如果正在使用 Solaris 10 OS,请使用 svcadm 命令重新启动 NTP 守护进程。


        # svcadm enable ntp
        
  8. 启用在步骤 1 中禁用了的所有数据服务资源和其他应用程序。


    # clresource disable resource[,...]
    

    有关使用 scswitch 命令的信息,请参见clresource(1CL) 手册页和《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》


示例 8–8 更改专用主机名

以下示例在节点 phys-schost-2 上将专用主机名从 clusternode2-priv 更改为 clusternode4-priv


[Disable all applications and data services as necessary.]
phys-schost-1# /etc/init.d/xntpd stop
phys-schost-1# clnode show | grep node
 ...
 private hostname:                           clusternode1-priv
 private hostname:                           clusternode2-priv
 private hostname:                           clusternode3-priv
 ...
phys-schost-1# clsetup
phys-schost-1# nscd -i hosts
phys-schost-1# vi /etc/inet/ntp.conf
 ...
 peer clusternode1-priv
 peer clusternode4-priv
 peer clusternode3-priv
phys-schost-1# ping clusternode4-priv
phys-schost-1# /etc/init.d/xntpd start
[Enable all applications and data services disabled at the beginning of the procedure.]

Procedure如何为非全局区域添加专用主机名

使用此过程可在完成安装后为某个群集非全局区域添加专用主机名。

  1. 运行 clsetup(1CL) 实用程序以在相应区域添加专用主机名。


    # clsetup
    
  2. 键入与专用主机名选项相对应的编号,然后按 Return 键。

  3. 键入与添加区域专用主机名选项相对应的编号,然后按 Return 键。

    根据提示回答问题。非全局区域专用主机名没有默认值。您需要提供一个主机名。

Procedure如何更改非全局区域的专用主机名

使用此过程可在完成安装后更改群集非全局区域的专用主机名。

专用主机名是在首次安装群集时分配的。专用主机名的格式为 clusternode< nodeid>-priv,例如:clusternode3-priv 。只有当专用主机名已在域中使用,您才能更改它。


注意 – 注意 –

不要尝试给新的专用主机名分配 IP 地址。群集软件将进行分配。


此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 在群集的所有节点上,禁用所有数据服务资源或其他可能高速缓存专用主机名的应用程序。


    # clresource disable resource1, resource2
    

    禁用的应用程序应包括:

    • HA-DNS 和 HA-NFS 服务(如果已配置)

    • 任何被自定义配置为使用专用主机名的应用程序

    • 任何正由客户机通过专用互连使用的应用程序

    有关使用 clresource 命令的信息,请参见 clresource(1CL) 手册页和《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》

  2. 运行 clsetup(1CL) 实用程序以更改相应非全局区域的专用主机名。


    # clsetup
    

    只需在群集的一个节点上执行此步骤即可。


    注 –

    选择新的专用主机名时,请确保该名称对群集是唯一的。


  3. 键入与专用主机名选项相对应的编号,然后按 Return 键。

  4. 键入与添加区域专用主机名选项相对应的编号,然后按 Return 键。

    非全局区域专用主机名没有默认值。您需要提供一个主机名。

  5. 键入与更改区域专用主机名选项相对应的编号。

    根据提示回答问题。系统会要求您提供其专用主机名 (clusternode< nodeid >-priv) 正在被更改的非全局区域的名称,以及新的专用主机名。

  6. 刷新名称服务高速缓存。

    请在群集每个节点上执行此步骤。刷新操作可避免群集应用程序和数据服务访问旧的专用主机名。


    # nscd -i hosts
    
  7. 启用在步骤 1 中禁用了的所有数据服务资源和其他应用程序。

Procedure如何删除非全局区域的专用主机名

使用此过程可删除某个群集非全局区域的专用主机名。

  1. 运行 clsetup(1CL) 实用程序以删除相应区域的专用主机名。

  2. 键入与区域专用主机名选项相对应的编号。

  3. 键入与删除区域专用主机名选项相对应的编号。

  4. 键入正在删除其专用主机名的非全局区域的名称。

Procedure如何使节点进入维护状态

如果群集节点需要较长时间脱离服务,请使其处于维护状态。这样,在维护节点时,该节点不参与法定计数。要将某个群集节点置于维护状态,必须先使用 clnode(1CL) evacuate 和 cluster(1CL) shutdown 命令关闭该节点。


注 –

使用 Solaris shutdown 命令关闭单个节点。仅当关闭整个群集时,才能使用 cluster shutdown 命令。


当群集节点关闭并置于维护状态后,配置到该节点端口的所有法定设备的法定选票计数均会减 1。当该节点脱离维护模式并返回联机状态后,节点和法定设备的选票计数会加 1。

使用 clquorum(1CL) disable 命令可将群集节点置于维护状态。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 在要置于维护状态的节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 从节点中清除所有资源组和设备组。clnode evacuate 命令可将指定节点上的所有资源组和设备组(包括所有非全局区域)切换到下一个首选节点。


    # clnode evacuate node
    
  3. 关闭已清除的节点。


    # shutdown -g0 -y-i 0
    
  4. 在群集的另一节点上成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。然后,将您在步骤 3 中关闭的节点置于维护状态。


    # clquorum disable  node
    
    node

    指定要置于维护模式的节点的名称。

  5. 检验该群集节点当前是否处于维护状态。


    # clquorum status node
    

    如果节点置于维护状态,它的 Status 值应为 offlinePresent(现有)法定选票和 Possible(可能)法定选票均应为 0(零)。


示例 8–9 将群集节点置于维护状态

以下示例将一个群集节点置于维护状态并检验结果。clnode status 的输出内容显示,phys-schost-1 的 Node votes 值为 0(零),状态为 OfflineQuorum Summary 也应显示选票计数已减少。视具体的配置情况而定,Quorum Votes by Device 的输出信息可能也会表明某些定额磁盘设备已脱机。


[On the node to be put into maintenance state:]
phys-schost-1# clnode evacute phys-schost-1
phys-schost-1# shutdown -g0 -y -i0

[On another node in the cluster:]
phys-schost-2# clquorum disable phys-schost-1
phys-schost-2# clquorum status phys-schost-1

-- Quorum Votes by Node --

Node Name           Present       Possible       Status
---------           -------       --------       ------
phys-schost-1       0             0              Offline
phys-schost-2       1             1              Online
phys-schost-3       1             1              Online

另请参见

要使节点返回联机状态,请参见如何使节点脱离维护状态

Procedure如何使节点脱离维护状态

使用以下过程可将节点返回联机状态,并将法定选票计数重置为默认值。对于群集节点,默认法定计数为 1。对于法定设备,默认法定计数为 N-1,其中 N 是具有指向该法定设备的端口且选票计数不为零的节点的数目。

当节点置于维护状态后,其法定选票计数会减 1。所有配置了到该节点的端口的法定设备也将减少其法定选票计数。重置法定选票计数并使节点脱离维护状态后,该节点的法定选票计数和法定设备选票计数均会加 1。

只要在节点被置于维护状态的情况下运行此过程,即可使该节点脱离维护状态。


注意 – 注意 –

如果您既未指定 globaldev 选项,也未指定 node 选项,则会对整个群集重置法定计数。


此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 在群集任一不处于维护状态的节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 根据群集配置中的节点数,执行以下步骤之一:

    • 如果群集配置中有两个节点,请转至步骤 4

    • 如果群集配置中有两个以上节点,请转至步骤 3

  3. 如果要脱离维护状态的节点将具有法定设备,请从某个不处于维护状态的节点上重置群集法定计数。

    重新引导处于维护状态的节点之前,必须先从其他任一节点上重置法定计数,否则该节点可能会挂起,等待达到法定数目。


    # clquorum reset
    
    reset

    用于重置法定数目的更改标志。

  4. 引导要脱离维护状态的节点。

  5. 检验法定选票计数。


    # clquorum status
    

    如果节点已脱离维护状态,它的状态应为 online,且 Present 法定选票和 Possible 法定选票均显示相应的选票计数。


示例 8–10 使群集节点脱离维护状态并重置法定选票计数

以下示例将群集节点及其法定设备的法定计数重置为默认值并检验结果。scstat -q 的输出内容显示:phys-schost-1 的 Node votes 值为 1,并且其状态为 onlineQuorum Summary 也应显示选票计数增加了。


phys-schost-2# clquorum reset

phys-schost-1# clquorum status

--- Quorum Votes Summary ---

            Needed   Present   Possible
            ------   -------   --------
            4        6         6


--- Quorum Votes by Node ---

Node Name        Present       Possible      Status
---------        -------       --------      ------
phys-schost-2    1             1             Online
phys-schost-3    1             1             Online


--- Quorum Votes by Device ---

Device Name           Present      Possible      Status
-----------           -------      --------      ------
/dev/did/rdsk/d3s2    1            1             Online
/dev/did/rdsk/d17s2   0            1             Online
/dev/did/rdsk/d31s2   1            1             Online
`

添加群集节点

本节介绍如何添加群集节点。下表列出了向现有群集中添加节点时所要执行的任务。要正确地完成此过程,必须按如下所示的顺序执行这些任务。

表 8–2 任务表:向现有群集中添加群集节点

任务 

指导 

在节点上安装主机适配器并检验现有的群集互连是否支持该新节点 

《Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS》

添加共享存储器 

《Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS》

准备群集以添加节点 

《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的“如何在添加群集节点之前做好群集准备工作”

使用 clsetup 将节点添加到授权节点列表中

如何将节点添加到授权的节点列表中

在新的群集节点上安装并配置软件 

《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的第 2  章 “在群集中安装软件”

Procedure如何将节点添加到授权的节点列表中

在将计算机添加到现有群集之前,请确保该节点已正确安装并配置了所有必要的硬件,其中包括与专用群集互连之间的有效物理连接。

有关硬件安装信息,请参阅《Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS》或服务器附带的硬件文档。

使用此过程可将计算机的节点名称添加到群集的授权节点列表中,从而使该计算机将自身安装到该群集中。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 在当前某个群集成员上成为超级用户。

  2. 确保已正确完成添加群集节点任务表中列出的所有必要的先决硬件安装任务和配置任务。

  3. 启动 clsetup 实用程序。


    # clsetup
    

    显示“Main Menu”。

  4. 键入与显示“新节点菜单”选项相对应的编号,然后按 Return 键。

  5. 键入与修改授权列表选项相对应的编号,然后按 Return 键。指定可添加自身的计算机的名称。

    按照提示将该节点的名称添加到群集中。系统会要求您提供要添加的节点的名称。

  6. 检验是否已成功执行该任务。

    如果 clsetup 实用程序正确无误地完成上述任务,会显示“已成功完成命令”消息。

  7. 要防止向群集中添加任何新计算机,请键入相应选项的编号,以指示群集忽略有关添加新计算机的请求,然后按 Return 键。

    按照 clsetup 提示操作。该选项将通知群集忽略公共网络上尝试添加自身到群集中的新计算机发出的所有请求。

  8. 退出 clsetup 实用程序。

  9. 在此新群集节点上安装并配置软件。

    使用 scinstall 或 JumpStartTM 完成新节点的安装和配置,如《Sun Cluster 软件安装指南(适用于 Solaris OS)》所述。


示例 8–11 将群集节点添加到授权的节点列表中

以下示例说明了将一个名为 phys-schost-3 的节点添加到现有群集的授权节点列表中的过程。


[Become superuser and execute the clsetup utility.]
# clsetup
[Select New nodes>Specify the name of a machine which may add itself.]
[Answer the questions when prompted.]
[Verify that the scconf command completed successfully.]
 
claccess allow -h phys-schost-3
 
    Command completed successfully.
[Select Prevent any new machines from being added to the cluster.]
[Quit the clsetup New Nodes Menu and Main Menu.]
[Install the cluster software.]

另请参见

有关添加群集节点的完整任务列表,请参阅表 8–2,“任务表:添加群集节点”。

要将节点添加到现有资源组,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》

管理节点上的非全局区域

本节介绍如何在群集节点上创建非全局区域(简称区域)。

Procedure如何在节点上创建非全局区域

  1. 成为正在创建非全局区域的节点上的超级用户。

    您必须在全局区域中。

  2. 对于 Solaris 10 OS,请在每个节点上检验服务管理工具 (Service Management Facility, SMF) 的多用户服务是否联机。

    如果某个节点上的服务尚未处于联机状态,请等待直到状态变为联机后,再继续执行下一步。


    phys-schost# svcs multi-user-server node
    STATE          STIME    FMRI
    online         17:52:55 svc:/milestone/multi-user-server:default
  3. 配置、安装和引导新区域。


    注 –

    您必须将 autoboot 属性设置为 true 以便在非全局区域中支持资源组功能。


    请执行以下文档中的过程:

    1. 执行《System Administration Guide: Solaris Containers-Resource Management and Solaris Zones》中的第 18  章 “Planning and Configuring Non-Global Zones (Tasks)”中的过程。

    2. 执行《System Administration Guide: Solaris Containers-Resource Management and Solaris Zones》中的“Installing and Booting Zones”中的过程。

    3. 执行《System Administration Guide: Solaris Containers-Resource Management and Solaris Zones》中的“How to Boot a Zone”中的过程。

  4. 检验区域是否处于就绪 (ready) 状态。


    phys-schost# zoneadm list -v
    ID  NAME     STATUS       PATH
     0  global   running      /
     1  my-zone  ready        /zone-path
    
  5. (可选的)给区域分配一个专用 IP 地址和专用主机名。

    以下命令从群集的专用 IP 地址范围中选择了一个可用 IP 地址并进行分配。此外,该命令还将一个指定的专用主机名(或主机别名)分配给区域,并将其映射到已分配的专用 IP 地址。


    phys-schost# clnode set -p zprivatehostname=hostalias node:zone
    
    -p

    指定一个属性。

    zprivatehostname=hostalias

    指定区域专用主机名(或主机别名)。

    node

    节点名称。

    zone

    非全局区域的名称。

  6. 执行初始的内部区域配置。

    请按照《System Administration Guide: Solaris Containers-Resource Management and Solaris Zones》中的“Performing the Initial Internal Zone Configuration”中的过程操作。从以下方法中任选其一:

    • 登录到区域

    • 使用 /etc/sysidcfg 文件

  7. 在非全局区域中,修改 nsswitch.conf 文件。

    您必须进行这些更改,从而使区域对指向群集特定主机名和 IP 地址的搜索加以解析。

    1. 登录到区域。


      phys-schost# zogin -c zonename
      
    2. 打开 /etc/nsswitch.conf 文件以便编辑。


      phys-schost# vi /etc/nsswitch.conf
      
    3. 查找 hosts 条目和 netmasks 条目,在它们的开头添加 cluster 开关。

      修改后的条目应显示如下:


      …
      hosts:      cluster files nis [NOTFOUND=return]
      …
      netmasks:   cluster files nis [NOTFOUND=return]
      …

Procedure如何在节点上删除非全局区域

  1. 在要创建非全局区域的节点上成为超级用户。

  2. 从系统中删除非全局区域。

    请按照《System Administration Guide: Solaris Containers-Resource Management and Solaris Zones》中的“Deleting a Non-Global Zone From the System”中的过程操作。

删除群集节点

本节介绍如何删除群集节点。下表列出了从现有群集中删除节点时所要执行的任务。要正确地完成此过程,必须按如下所示的顺序执行这些任务。


注意 – 注意 –

如果群集正在运行 OPS 配置,则不要使用该过程。此时,如果删除 OPS 配置中的节点,可能会使节点在重新引导时进入应急状态。


表 8–3 任务表:删除群集节点

任务 

指导 

将所有资源组和设备组移出要删除的节点。 

   - 使用 clnode(1CL) evacuate 命令。

# clnode evacuate node

从所有资源组中删除节点。 

   - 使用 clresourcegroup(1CL) remove-node 命令。

《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》

从所有设备组中删除节点。 

   - 使用 cldevicegroup(1CL) remove node、metaset(1M)clsetup(1CL) 命令。

如何将节点从设备组中删除 (Solaris Volume Manager)

SPARC: 如何从设备组中删除节点 (VERITAS 卷管理器)

如何从原始磁盘设备组中删除节点

注意:如果将所需辅助节点的数目配置为了 2 或更大的数目,必须将其减少为 1。

删除所有已完全连接的法定设备。 

   - 使用 clsetup 命令。

注意:如果要从双节点群集中删除节点,请不要删除法定设备。

如何删除法定设备

注意,尽管在下一步中删除存储设备之前,您必须先删除定额设备,但是可以在之后立即重新添加该定额设备。 

从节点中删除所有已完全连接的存储设备。  

  - 使用 clresourcegroupclresourcegroup(1CL) clresourcegroup(1CL) devfsadm(1M), cldevice(1CL) refresh 命令。

注意:如果要从双节点群集中删除节点,请不要删除法定设备。如何在节点连接多于两个的群集中删除阵列与单个节点之间的连接

仅将法定设备添加回要保留在群集里的节点上。 

  - 使用 clsetup 命令。

添加法定设备

将正在删除的节点置于维护状态。 

   - 使用 clnode(1CL) evacuate、shutdownclquorum(1CL) disable 命令。

如何使节点进入维护状态

删除来自正在删除的节点的所有逻辑传输连接(传输电缆和传输适配器)。 

   - 使用 clsetup 命令。

如何删除群集传输电缆、传输适配器和传输交换机

删除与要删除节点连接的所有法定设备。 

   - 使用 cluster setclquorum remove 命令。

如何从群集中删除最后一个法定设备

从群集软件配置中删除节点。 

   - 使用 clnode remove 命令。

如何从群集软件配置中删除节点

(可选)从群集节点卸载 Sun Cluster 软件 

如何从群集节点中卸载 Sun Cluster 软件

Procedure如何从群集软件配置中删除节点

执行此过程可以从群集中删除节点。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 确保已正确完成删除群集节点中列出的所有先决任务。


    注 –

    继续执行此过程之前,请确保已将节点从所有资源组、设备组和法定设备配置中删除,并将该节点置于维护状态。


  2. 在要删除的节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  3. 将您要删除的节点引导到非群集模式下。

    • 在基于 SPARC 的系统中,执行以下命令:


      ok boot -x
      
    • 在基于 x86 的系统中,执行以下命令:


      phys-schost# shutdown -g -y -i0
      
      Press any key to continue
    1. 在 GRUB 菜单中,使用方向键选择适当的 Solaris 条目,然后键入 e 以编辑其命令。

      GRUB 菜单显示如下内容:


      GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
      +-------------------------------------------------------------------------+
      | Solaris 10 /sol_10_x86                                                  |
      | Solaris failsafe                                                        |
      |                                                                         |
      +-------------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press enter to boot the selected OS, 'e' to edit the
      commands before booting, or 'c' for a command-line.

      有关基于 GRUB 进行引导的更多信息,请参见《System Administration Guide: Basic Administration》中的第 11  章 “GRUB Based Booting (Tasks)”

    2. 在引导参数屏幕中,使用方向键选择内核条目,然后键入 e 以编辑该条目。

      GRUB 引导参数屏幕的显示与以下内容类似:


      GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
      +----------------------------------------------------------------------+
      | root (hd0,0,a)                                                       |
      | kernel /platform/i86pc/multiboot                                     |
      | module /platform/i86pc/boot_archive                                  |
      +----------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press 'b' to boot, 'e' to edit the selected command in the
      boot sequence, 'c' for a command-line, 'o' to open a new line
      after ('O' for before) the selected line, 'd' to remove the
      selected line, or escape to go back to the main menu.
    3. 向命令中添加 -x 以指定将系统引导至非群集模式。


      [ Minimal BASH-like line editing is supported. For the first word, TAB
      lists possible command completions. Anywhere else TAB lists the possible
      completions of a device/filename. ESC at any time exits. ]
      
      grub edit> kernel /platform/i86pc/multiboot -x
    4. 按 Enter 键接受所做更改,并返回到引导参数屏幕。

      屏幕将显示编辑后的命令。


      GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
      +----------------------------------------------------------------------+
      | root (hd0,0,a)                                                       |
      | kernel /platform/i86pc/multiboot -x                                  |
      | module /platform/i86pc/boot_archive                                  |
      +----------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press 'b' to boot, 'e' to edit the selected command in the
      boot sequence, 'c' for a command-line, 'o' to open a new line
      after ('O' for before) the selected line, 'd' to remove the
      selected line, or escape to go back to the main menu.-
    5. 键入 b 以将节点引导至非群集模式。


      注 –

      对内核引导参数命令所做的这一更改在系统引导后将失效。下次重新引导节点时,系统将引导至群集模式。如果希望引导至非群集模式,请重新执行上述步骤,并将 -x 选项添加到内核引导参数命令中。


  4. 从群集中删除该节点。


    # clnode remove nodename
    
  5. 通过另一个群集节点检验是否已删除该节点。


    # clnode status nodename
    
  6. 如果打算从已删除的节点中卸载 Sun Cluster 软件,请转至如何从群集节点中卸载 Sun Cluster 软件。如果不打算从已删除的节点中卸载 Sun Cluster 软件,可以通过移除硬件连接(如《Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS》中所述)在物理 上从群集中移除节点。


示例 8–12 从群集软件配置中删除节点

此示例展示了从群集中删除节点 phys-schost-2 的过程。应当在您要从群集中删除的节点 (phys-schost-1) 上运行 clnode remove 命令。


[Remove the node from the cluster:]
phys-schost-1# clnode remove phys-schost-2
[Verify node removal:]
phys-schost-1# clnode status phys-schost-2
-- Cluster Nodes --
                    Node name           Status
                    ---------           ------
  Cluster node:     phys-schost-1       Online

另请参见

要从已删除的节点中卸载 Sun Cluster 软件,请参见如何从群集节点中卸载 Sun Cluster 软件

有关硬件操作过程,请参见《Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS》

有关删除群集节点的完整任务列表,请参见表 8–3

要向现有的群集添加节点,请参见如何将节点添加到授权的节点列表中

Procedure如何在节点连接多于两个的群集中删除阵列与单个节点之间的连接

使用此过程可在连接了三个或四个节点的群集中断开存储阵列与单个群集节点的连接。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 备份与要删除的存储阵列相关联的所有数据库表、数据服务和卷。

  2. 确定要断开连接的节点上正在运行的资源组和设备组。


    # clresourcegroup status
    # cldevicegroup status
    
  3. 如果需要,将所有资源组和设备组移出要断开连接的节点。


    Caution (SPARC only) – Caution (SPARC only) –

    如果群集正在运行 Oracle Parallel Server/Oracle RAC 软件,请先关闭在节点上运行的 Oracle Parallel Server/Oracle RAC 数据库实例,然后再将组从节点移出。有关说明,请参阅《 Oracle Database Administration Guide》。



    # clnode evacuate node
    

    clnode evacuate 命令可将指定节点上的所有设备组都切换到下一个首选节点。此外,该命令还可将所有资源组从指定节点的全局或非全局区域切换到位于其他节点的下一个首选全局或非全局区域。

  4. 使设备组处于维护状态。

    有关默许 Veritas 共享磁盘组具有 I/O 活动的过程,请参见 VxVM 文档。

    有关使设备组处于维护状态的过程,请参见如何使节点进入维护状态

  5. 从设备组中删除节点。

    • 如果使用 VxVM 或原始磁盘,请使用 cldevicegroup(1CL) 命令删除设备组。

    • 如果使用 Solstice DiskSuite,应使用 metaset 命令删除设备组。

  6. 对于每一个包含 HAStoragePlus 资源的资源组,请从该资源组的节点列表中删除节点。


    # clresourcegroup remove-node -z zone -n node + | resourcegroup
    
    node

    节点名称。

    zone

    node 上可控制资源组的非全局区域的名称。只有在创建资源组时指定了非全局区域,您才需要指定 zone

    有关更改资源组节点列表的更多信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》


    注 –

    执行 clresourcegroup 命令时,资源类型、资源组和资源属性的名称均区分大小写。


  7. 如果要删除的存储阵列是节点上连接的最后一个存储阵列,应断开节点与该存储阵列连接的集线器或交换机之间的光缆(否则,应跳过该步骤)。

  8. 如果要从正在断开连接的节点上拆除主机适配器,请关闭该节点并切断其电源。如果不需要从正在断开连接的节点上拆除主机适配器,请跳到步骤 11

  9. 从节点上拆下主机适配器。

    有关删除主机适配器的过程,请参阅节点附带的文档。

  10. 打开节点的电源,但不引导该节点。

  11. SPARC:如果安装了 Oracle Parallel Server/Oracle RAC 软件,请将 Oracle Parallel Server/Oracle RAC 软件包从正在断开连接的节点中删除。


    # pkgrm SUNWscucm 
    

    Caution (SPARC only) – Caution (SPARC only) –

    如果不从正在断开连接的节点上删除 Oracle Parallel Server/Oracle RAC 软件,当该节点重新加入群集时,它将发生紊乱并可能失去数据可用性。


  12. 以群集模式引导节点。

    • 在基于 SPARC 的系统中,执行以下命令:


      ok boot
      
    • 在基于 x86 的系统中执行以下操作:

      显示 GRUB 菜单后,选择相应的 Solaris 条目,然后按 Enter 键。GRUB 菜单显示如下内容:


      GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
      +-------------------------------------------------------------------------+
      | Solaris 10 /sol_10_x86                                                  |
      | Solaris failsafe                                                        |
      |                                                                         |
      +-------------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press enter to boot the selected OS, 'e' to edit the
      commands before booting, or 'c' for a command-line.
  13. 在节点上,通过更新 /devices/dev 条目来更新设备名称空间。


    # devfsadm -C 
    # cldevice refresh
    
  14. 使设备组重新联机。

    有关使 VERITAS 共享磁盘组联机的过程,请参阅 VERITAS Volume Manager 的文档。

    有关使设备组处于联机状态的信息,请参见如何使节点脱离维护状态

Procedure如何从群集节点中卸载 Sun Cluster 软件

从完整建立的群集配置断开节点连接之前,请遵照此过程从该群集节点中卸载 Sun Cluster 软件。您可以使用此过程从群集中的其余最后一个节点中卸载软件。


注 –

如果要从尚未加入群集的节点或仍处于安装模式的节点中卸载 Sun Cluster 软件,请不要执行此过程。此时,应转到《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的“如何卸载 Sun Cluster 软件以纠正安装问题”。


此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 确保已正确完成“删除群集节点”任务表中列出的所有先决任务。

    请参见表 8–3


    注 –

    继续执行此过程之前,请确保您已使用 clnode remove 命令从群集配置中删除了该节点。


  2. 在除了要卸载的节点以外的某个活动群集成员上成为超级用户。

  3. 从活动群集成员上,将打算卸载的节点添加到群集的节点验证列表中。


    # claccess allow -h hostname
    
    -h

    指定要添加到节点验证列表中的节点的名称。

    或者,您也可以使用 clsetup(1CL) 实用程序。有关过程,请参见如何将节点添加到授权的节点列表中

  4. 成为要卸载的节点的超级用户。

  5. 将节点重新引导为非群集模式。

    • SPARC: 执行 以下命令:


      # shutdown -g0 -y -i0ok boot -x
      
    • x86: 执行以下命令:


      # shutdown -g0 -y -i0
      ...
                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/
      sd@0,0:a
      Boot args:
      
      Type    b [file-name] [boot-flags] <ENTER>  to boot with options
      or      i <ENTER>                           to enter boot interpreter
      or      <ENTER>                             to boot with defaults
      
                        <<< timeout in 5 seconds >>>
      Select (b)oot or (i)nterpreter: b -x
      
  6. /etc/vfstab 文件中,删除除了 /global/.devices 全局安装以外的所有以全局方式安装的文件系统条目。

  7. 如果打算在此节点上重新安装 Sun Cluster 软件,请从 Sun Java Enterprise System (Java ES) 产品注册表中删除 Sun Cluster 条目。

    如果 Java ES 产品注册表包含一条记录显示 Sun Cluster 软件已安装,则 Java ES 安装程序会将 Sun Cluster 组件灰显,从而不允许重新安装。

    1. 启动 Java ES 卸载程序。

      运行以下命令,其中 ver 是您从中安装 Sun Cluster 软件的 Java ES 分发的版本。


      # /var/sadm/prod/SUNWentsysver/uninstall
      
    2. 按照提示选择要卸载的 Sun Cluster

      有关使用 uninstall 命令的更多信息,请参见《Sun Java Enterprise System 5 Installation Guide for UNIX》中的第 8  章 “Uninstalling”

  8. 如果不打算在此群集上重新安装 Sun Cluster 软件,请断开与其他群集设备之间的传输电缆和传输交换机(如果有)。

    1. 如果卸载的节点与使用并行 SCSI 接口的存储设备相连接,请在断开传输电缆的连接后将 SCSI 端接器安装到存储设备的开路 SCSI 连接器。

      如果卸载的节点与使用光纤通道接口的存储设备连接,则不需要端接器。

    2. 有关断开连接的过程,请按照随主机适配器和服务器提供的文档执行操作。

Procedure如何纠正错误消息

要纠正尝试执行任何群集节点的删除过程时所产生的错误消息,请执行以下过程。

  1. 尝试使该节点重新加入群集。


    # boot
    
  2. 该节点是否成功加入群集?

    • 如果不是,则继续执行步骤 3

    • 如果是,请执行以下步骤从设备组中删除该节点。

    1. 如果该节点重新加入群集成功,请从其余的设备组中删除该节点。

      请按照如何将节点从所有设备组中删除中的过程操作。

    2. 从所有设备组中删除节点后,请返回如何从群集节点中卸载 Sun Cluster 软件,并重复执行其中的过程。

  3. 如果该节点未能重新加入群集,请将该节点的 /etc/cluster/ccr 文件重命名为您所选的任何其他名称,例如 ccr.old


    # mv /etc/cluster/ccr /etc/cluster/ccr.old
    
  4. 请返回如何从群集节点中卸载 Sun Cluster 软件并重复相应的过程。

有关节点卸载的疑难解答

本节介绍了运行 scinstall -r 命令时可能收到的错误消息以及相应的纠正措施。

未删除的群集文件系统条目

以下错误消息表示被删除的节点在 vfstab 文件中仍引用了群集文件系统。


Verifying that no unexpected global mounts remain in /etc/vfstab ... failed
scinstall:  global-mount1 is still configured as a global mount.
scinstall:  global-mount1 is still configured as a global mount.
scinstall:  /global/dg1 is still configured as a global mount.
 
scinstall:  It is not safe to uninstall with these outstanding errors.
scinstall:  Refer to the documentation for complete uninstall instructions.
scinstall:  Uninstall failed.

要纠正此错误,请返回到如何从群集节点中卸载 Sun Cluster 软件,并重复执行其中的过程。在重新运行 scinstall -r 命令前,请确保已成功完成此过程中的步骤 6

设备组中列出的未删除项

以下错误消息表明已删除的节点仍列在某个设备组中。


Verifying that no device services still reference this node ... failed
scinstall:  This node is still configured to host device service "service".
scinstall:  This node is still configured to host device service "service2".
scinstall:  This node is still configured to host device service "service3".
scinstall:  This node is still configured to host device service "dg1".
 
scinstall:  It is not safe to uninstall with these outstanding errors.          
scinstall:  Refer to the documentation for complete uninstall instructions.
scinstall:  Uninstall failed.

创建、设置和管理 Sun Cluster SNMP 事件 MIB

本节介绍了如何创建、设置和管理简单网络管理协议 (Simple Network Management Protocol, SNMP) 事件管理信息库 (Management Information Base, MIB)。此外,本节还介绍了如何启用、禁用和更改 Sun Cluster SNMP 事件 MIB。

Sun Cluster 软件目前支持一个 MIB,即事件 MIB。SNMP 管理器软件可实时捕获群集事件。一经启用,SNMP 管理器就会自动向 clsnmphost 命令所定义的所有主机发送陷阱通知。MIB 维护着一张只读表,其中包含了最近发生的 50 个事件。由于群集会生成大量通知,因此,只有严重程度为警告或更高的事件才能作为陷阱通知发送。系统重新引导后此信息将不再存在。

SNMP 事件 MIB 是在 sun-cluster-event-mib.mib 文件中定义的,并位于 /usr/cluster/lib/mib 目录下。您可以使用此定义来解释 SNMP 陷阱信息。

事件 SNMP 模块的默认端口号是 11161,SNMP 陷阱的默认端口号是 11162。可通过修改 Common Agent Container 属性文件 /etc/cacao/instances/default/private/cacao.properties 来更改这些端口号。

创建、设置和管理 Sun Cluster SNMP 事件 MIB 可能涉及以下任务:

表 8–4 任务表:创建、设置和管理 Sun Cluster SNMP 事件MIB

任务 

指导 

启用 SNMP 事件 MIB 

如何启用 SNMP 事件 MIB

禁用 SNMP 事件 MIB 

如何禁用 SNMP 事件 MIB

更改 SNMP 事件 MIB 

如何更改 SNMP 事件 MIB

在将要接收 MIB 陷阱通知的主机的列表中添加 SNMP 主机 

如何在节点上使 SNMP 主机能够接收 SNMP 陷阱

删除 SNMP 主机 

如何在节点上禁止 SNMP 主机接收 SNMP 陷阱

添加一个 SNMP 用户 

如何在节点上添加 SNMP 用户

删除 SNMP 用户 

如何从节点中删除 SNMP 用户

Procedure如何启用 SNMP 事件 MIB

此过程指示了如何启用 SNMP 事件 MIB。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 启用 SNMP 事件 MIB。


    phys-schost-1# clsnmpmib enable [-n node] MIB
    
    [-n node]

    指定要启用的事件 MIB 所在的 node。您可以指定一个节点 ID 或节点名称。如果不指定此选项,默认情况下将使用当前节点。

    MIB

    指定要启用的 MIB 的名称。在这种情况下,MIB 的名称必须是 event

Procedure如何禁用 SNMP 事件 MIB

此过程指示了如何禁用 SNMP 事件 MIB。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 禁用 SNMP 事件 MIB。


    phys-schost-1# clsnmpmib disable -n node MIB
    
    -n node

    指定要禁用的事件 MIB 所在的 node。您可以指定一个节点 ID 或节点名称。如果不指定此选项,默认情况下将使用当前节点。

    MIB

    指定要禁用的 MIB 的类型。在这种情况下,您必须指定 event

Procedure如何更改 SNMP 事件 MIB

此过程指示了如何更改 SNMP 事件 MIB 的协议。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 更改 SNMP 事件 MIB 的协议。


    phys-schost-1# clsnmpmib set -n node -p version=value MIB
    
    -n node

    指定要更改的事件 MIB 所在的 node。您可以指定一个节点 ID 或节点名称。如果不指定此选项,默认情况下将使用当前节点。

    -p version=value

    指定 MIB 将使用的 SNMP 协议的版本。您可以指定如下 value

    • version=SNMPv2

    • version=snmpv2

    • version=2

    • version=SNMPv3

    • version=snmpv3

    • version=3

    MIB

    指定要应用子命令的一个或多个 MIB 的名称。在这种情况下,您必须指定 event

Procedure如何在节点上使 SNMP 主机能够接收 SNMP 陷阱

此过程指示了如何在节点上将一个 SNMP 主机添加到要接收 MIB 陷阱通知的主机列表中。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 将主机添加到另一节点上某个团体的 SNMP 主机列表中。


    phys-schost-1# clsnmphost add -c SNMPcommunity [-n node] host
    
    -c SNMPcommunity

    指定与主机名配合使用的 SNMP 团体名称。

    如果将主机添加到除 public 以外的团体,必须指定 SNMP 团体名称 SNMPcommunity。如果使用不带 -c 选项的 add 子命令,该子命令会使用 public 作为默认团体名称。

    如果指定的团体名称不存在,此命令将创建该团体。

    -n node

    指定供访问群集中的 SNMP MIB 的 SNMP 主机所在 node 的名称。您可以指定一个节点名称或节点 ID。如果不指定此选项,默认情况下将使用当前节点。

    host

    指定供访问群集中的 SNMP MIB 的主机的名称、IP 地址或 IPv6 地址。

Procedure如何在节点上禁止 SNMP 主机接收 SNMP 陷阱

此过程指示了如何在节点上将一个 SNMP 主机从要接收 MIB 陷阱通知的主机列表中删除。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 在指定节点上将主机从某个团体的 SNMP 主机列表中删除。


    phys-schost-1# clsnmphost remove -c SNMPcommunity -n node host
    
    remove

    将指定 SNMP 主机从指定节点上删除。

    -c SNMPcommunity

    指定要从中删除 SNMP 主机的 SNMP 团体的名称。

    -n node

    指定要从配置中删除的 SNMP 主机所在 node 的名称。您可以指定一个节点名称或节点 ID。如果不指定此选项,默认情况下将使用当前节点。

    host

    指定要从配置中删除的主机的名称、IP 地址或 IPv6 地址。

    要删除指定 SNMP 团体中的所有主机,请使用加号 (+) 代替 host,并使用 -c 选项。要删除所有主机,请使用加号 (+) 代替 host

Procedure如何在节点上添加 SNMP 用户

此过程指示了如何将一个 SNMP 用户添加到节点的 SNMP 用户配置中。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 添加 SNMP 用户。


    phys-schost-1# clsnmpuser create -n node -a authentication \
                  -f password user
    
    -n node

    指定要在其中添加 SNMP 用户的节点。您可以指定一个节点 ID 或节点名称。如果不指定此选项,默认情况下将使用当前节点。

    -a authentication

    指定用于对用户进行授权的验证协议。验证协议的值可以是 SHAMD5

    -f password

    指定包含 SNMP 用户密码的文件。如果在创建新用户时未指定该选项,则此命令会提示您输入一个密码。此选项仅对 add 子命令有效。

    必须按以下格式指定用户密码(每个密码占一行):

    user:password
    

    密码不能包含以下字符,也不能包含空格:

    • ;(分号)

    • :(冒号)

    • \(反斜杠)

    • \n(换行符)

    user

    指定要添加的 SNMP 用户的名称。

Procedure如何从节点中删除 SNMP 用户

此过程指示了如何将一个 SNMP 用户从节点的 SNMP 用户配置中删除。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 删除 SNMP 用户。


    phys-schost-1# clsnmpuser delete -n node user
    
    -n node

    指定要从中删除 SNMP 用户的节点。您可以指定一个节点 ID 或节点名称。如果不指定此选项,默认情况下将使用当前节点。

    user

    指定要删除的 SNMP 用户的名称。

疑难解答

本节包含疑难解答过程,您可以使用该过程进行测试。

Procedure如何从在非群集模式下引导的节点中获取 Solaris Volume Manager 元集

使用此过程可在群集之外运行一个应用程序以进行测试。

  1. 确定 Solaris Volume Manager 元集中是否使用了法定设备,并确定法定设备是否使用了 scsi2 或 scsi3 预留空间。


    # clquorum show
    
    1. 如果法定设备位于 Solaris Volume Manager 元集中,请添加一个新的法定设备,此新法定设备不属于稍后要在非群集模式下获取的元集的一部分。


      # clquorum add did
      
    2. 删除旧的法定设备。


      # clqorum remove did
      
    3. 如果法定设备使用 scsi2 预留空间,请从旧的法定设备中清理 scsi2 预留空间,并检验没有留下任何 scsi2 预留空间。


      # /usr/cluster/lib/sc/pgre -c pgre_scrub -d /dev/did/rdsk/dids2
      # /usr/cluster/lib/sc/pgre -c pgre_inkeys -d /dev/did/rdsk/dids2
      
  2. 清空要在非群集模式下引导的节点。


    # clresourcegroup evacuate -n targetnode
    
  3. 使任一或多个资源组脱机,这些资源组包含 HAStorage 或 HAStoragePlus 资源并包含受您稍后要在非群集模式下获取的元集影响的设备或文件系统。


    # clresourcegroup offline resourcegroupname
    
  4. 禁用已脱机的资源组中的所有资源。


    # clresource disable resourcename
    
  5. 使资源组不受管理。


    # clresourcegroup unmanage resourcegroupname
    
  6. 使相应的一个或多个设备组脱机。


    # cldevicegroup offline devicegroupname
    
  7. 禁用这一个或多个设备组。


    # cldevicegroup disable devicegroupname
    
  8. 将非活动节点 (passive node) 引导至非群集模式。


    # reboot -x
    
  9. 继续执行操作之前,检验非活动节点的引导过程是否已完成。

    • Solaris 9

      只有在引导过程完成后才会显示登录提示符,因此不需要进行任何操作。

    • Solaris 10


      # svcs -x
      
  10. 确定一个或多个元集中的磁盘上是否有任何 scsi3 预留空间。对元集中的所有磁盘执行以下命令。


    # /usr/cluster/lib/sc/scsi -c inkeys -d /dev/did/rdsk/dids2
    
  11. 如果磁盘上有任何 scsi3 预留空间,请对其进行清理。


    # /usr/cluster/lib/sc/scsi -c scrub -d /dev/did/rdsk/dids2
    
  12. 在清空的节点上获取元集。


    # metaset -s name -C take -f
    
  13. 将包含已定义设备的文件系统挂载到元集上。


    # mount device mountpoint
    
  14. 启动应用程序,并执行所需的测试。完成测试后,停止应用程序。

  15. 重新引导节点,并等待,直至引导过程完成。


    # reboot
    
  16. 使一个或多个设备组联机。


    # cldevicegroup online -e devicegroupname
    
  17. 启动一个或多个资源组。


    # clresourcegroup online -eM  resourcegroupname