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

第 7 章 管理群集

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

以下是本章中包含的过程的列表。

群集管理概述

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

任务 

有关说明,请转到 

更改群集的名称 

如何更改群集的名称

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

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

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

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

使用网络时间协议 (NTP) 更改群集的时间 

如何在群集中重置时间

关闭节点,使其转到基于 SPARC 的系统上的 OpenBoot PROM ok 提示符下或基于 x86 的系统的引导子系统上

SPARC: 如何在节点上进入 OpenBoot PROM (OBP)

更改专用主机名 

如何更改专用主机名

使群集节点进入维护状态 

如何使节点进入维护状态

使群集节点脱离维护状态 

如何使节点脱离维护状态

向群集添加节点 

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

从群集中删除节点 

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

Procedure如何更改群集的名称

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

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

  2. 键入 scsetup 命令。


    # scsetup
    

    显示“Main Menu”。

  3. 要更改群集的名称,请键入 8(其他群集属性)。

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

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


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

以下示例说明了使用由 scsetup(1M) 实用程序生成的 scconf(1M) 命令可以将群集重命名为 dromedary


# scconf -c -C cluster=dromedary

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

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

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

步骤

    使用 scconf(1M) 命令可以列出群集配置信息。


    % scconf -pv | grep "Node ID"
    

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

以下示例说明了节点 ID 的指定情况


% scconf -pv | grep “Node ID”
(phys-schost-1) Node ID:                    1
(phys-schost-2) Node ID:                    2
(phys-schost-3) Node ID:                    3

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

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

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

  2. 进入 scsetup(1M) 实用程序。


    # scsetup
    

    显示“Main Menu”。

  3. 要使用群集验证,请键入 7(新节点)。

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

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


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

以下示例说明了由 scsetup 实用程序生成的scconf 命令。该命令可用于阻止将新机器添加到群集中。


# scconf -a -T node=.


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

以下示例说明了由 scsetup 实用程序生成的 scconf 命令。该命令可将所有新机器都添加到群集中。


# scconf -r -T all


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

以下示例说明了由 scsetup 实用程序生成的 scconf 命令。该命令可使单个新机器添加到群集中。


# scconf -a -T node=phys-schost-4


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

以下示例说明了由 scsetup 实用程序生成的 scconf 命令。该命令可将加入到群集中的新节点的认证重置为标准 UNIX 认证。


# scconf -c -T authtype=unix


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

以下示例说明了由 scsetup 实用程序生成的 scconf 命令。该命令对新加入到群集中的节点采用 DES 认证。


# scconf -c -T authtype=des

如果使用的是 DES 认证,还需要先配置所有必要的加密键。然后,节点才能加入到群集中。有关更多信息,请参见keyserv(1M)publickey(4) 手册页。


Procedure如何在群集中重置时间

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


注意 – 注意 –

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


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

  2. 关闭群集。


    # scshutdown -g0 -y
    
  3. 检验节点是否显示 ok 提示符或在“当前引导参数”屏幕中显示 Select (b)oot or (i)nterpreter 提示。

  4. 使用 boot(1M) 或者 b 命令以及 -x 选项在非群集模式下引导节点。

    • SPARC:


      ok boot -x
      
    • x86:


                            <<< 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
      
  5. 在单个节点上,通过运行 date 命令设置日时间。


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


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


    # reboot
    
  8. 检验是否所有的群集节点均已相应更改。

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


    # date
    

ProcedureSPARC: 如何在节点上进入 OpenBoot PROM (OBP)

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

步骤
  1. 连接到终端集中器端口。


    # telnet tc_name tc_port_number
    
    tc_name

    指定终端集中器的名称。

    tc_port_number

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

  2. 通过使用 scswitch(1M) 命令清空所有资源组或磁盘设备组,然后使用 shutdown 正常关闭群集节点。


    # scswitch -S -h node[,...]
    # shutdown -g0 -y -i0
    

    注意 – 注意 –

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


  3. 执行 OBP 命令。

Procedure如何更改专用主机名

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

在第一次安装群集时会指定缺省的专用主机名。默认专用主机名的格式为 clusternode<nodeid>-priv,例如:clusternode3-priv .只有在专用主机名已经在域中使用的情况下,才能更改它。


注意 – 注意 –

请勿为新的专用主机名指定 IP 地址。群集软件将进行分配。


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


    # scswitch -n -j resource1, resource2
    

    禁用的应用程序应包括:

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

    • 经定制配置为使用专用主机名的任何应用程序。

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

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

  2. 关闭群集中每个节点上的网络时间协议 (NTP) 守护进程。

    • 如果您使用的是 Solaris 8 或 Solaris 9,请使用 xntpd 命令关闭网络时间协议 (NTP) 守护进程。有关 NTP 守护进程的更多信息,请参见 xntpd(1M) 手册页。


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


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

    只需在群集中的一个节点上进行这一操作。


    注 –

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


  4. 从“Main Menu”上选择 5, Private Hostnames

  5. 从 “Private Hostnames Menu” 上选择 1, Change a Private Hostname

    按照提示回答问题。将要求您提供正在更改专用主机名的节点的名称 (clusternode<nodeid>-priv),以及新的专用主机名。

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

    在群集中的每个节点上进行这一操作。这样可以避免群集应用程序和数据服务访问旧的专用主机名。


    # nscd -i hosts
    
  7. 编辑每个节点上的 ntp.conf.cluster 文件将专用主机名更改为新的专用主机名。

    使用任意一种编辑工具均可。

    如果在安装时执行了该过程,也要记得删除已配置的节点的名称;缺省模板预配置十六个节点。通常,每个群集节点上的 ntp.conf.cluster 文件都是相同的。

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

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

    在群集中的每个节点上执行此操作。

    • 如果您使用的是 Solaris 8 或 Solaris 9,请使用 xntpd 命令重新启动 NTP 守护进程。


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


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


    # scswitch -e -j resource1, resource2
    

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


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

以下示例说明了在节点 phys-schost-2 上将专用主机名从 clusternode2-priv 更改为 clusternode4-priv 的过程。


[根据需要,禁用所有应用程序和数据服务。]
phys-schost-1# /etc/init.d/xntpd stop
phys-schost-1# scconf -p | grep node
 ...
 Cluster nodes:                  phys-schost-1 phys-schost-2 phys-
 schost-3
 Cluster node name:                                 phys-schost-1
  Node private hostname:                           clusternode1-priv
 Cluster node name:                                 phys-schost-2
  Node private hostname:                           clusternode2-priv
 Cluster node name:                                 phys-schost-3
  Node private hostname:                           clusternode3-priv
 ...
phys-schost-1# scsetup
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
[在此过程开始时启用所有被禁用的应用程序和数据服务。]

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

如果节点需要较长时间脱离服务,请使其处于维护状态。这样,在维护节点时,该节点不参与定额计数。要使群集节点处于维护状态,必须使用 scswitch(1M)shutdown(1M) 来关闭该节点。


注 –

使用 Solaris shutdown 命令关闭单个节点。只有在关闭整个群集时,才应使用 scshutdown 命令。


关闭一个群集节点并使之进入维护状态后,配置了到该节点的端口的所有法定设备的定额选票计数均减去 1。当该节点脱离维护模式并返回联机状态后,节点和法定设备选票计数就会增加 1。

您需要使用 scconf(1M) 命令来使群集节点处于维护状态。scsetup(1M) 实用程序不具备使法定设备处于维护状态的功能。

步骤
  1. 成为要进入维护状态的节点的超级用户。

  2. 清空该节点中的任何资源组和磁盘设备组。


     # scswitch -S -h node[,...]
    
    -S

    从指定的节点抽出所有的设备服务和资源组。

    -h node[,...]

    指定切换资源组和设备组所在的节点。

  3. 关闭已抽出的节点。


    # shutdown -g0 -y -i0
    
  4. 成为群集中另一个节点上的超级用户并使步骤 3 中关闭的节点处于维护状态。


    # scconf -c -q node=node,maintstate
    
    -c

    指定 scconf 命令的更改形式。

    -q

    管理定额选项。

    node=node

    指定要更改的节点名称或节点 ID。

    maintstate

    使节点进入维护状态。

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


    # scstat -q
    

    如果节点已进入维护状态,则其法定选票 PresentPossibleStatus 应分别为 offline0(零)。


示例 7–9 使群集节点进入维护状态

以下示例将群集节点置于维护状态并检验了操作结果。scstat -q 的输出信息显示 phys-schost-1 的 Node votes0(零),并且其状态为 OfflineQuorum Summary 还将显示减少后的选票计数。视具体的配置情况而定,Quorum Votes by Device 的输出信息可能也会表明某些定额磁盘设备已脱机。


[在将被置入维护状态的节点上:]
phys-schost-1# scswitch -S -h phys-schost-1
phys-schost-1# shutdown -g0 -y -i0

[在群集中的另一个节点上:]
phys-schost-2# scconf -c -q node=phys-schost-1,maintstate
phys-schost-2# scstat -q

-- Quorum Summary --
  Quorum votes possible:      3
  Quorum votes needed:        2
  Quorum votes present:       3

-- Quorum Votes by Node --
                    Node Name           Present Possible Status
                    ---------           ------- -------- ------
  Node votes:       phys-schost-1       0        0       Offline
  Node votes:       phys-schost-2       1        1       Online
  Node votes:       phys-schost-3       1        1       Online

-- Quorum Votes by Device --
                    Device Name         Present Possible Status
                    -----------         ------- -------- ------
  Device votes:     /dev/did/rdsk/d3s2  0        0       Offline
  Device votes:     /dev/did/rdsk/d17s2 0        0       Offline
  Device votes:     /dev/did/rdsk/d31s2 1        1       Online

另请参见

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

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

遵照以下过程,可使节点返回联机状态并将定额选票计数重置为缺省值。对于群集节点,缺省定额计数为 1。对于法定设备,缺省定额计数为 N-1,其中 N 为具有法定设备端口的非零选票计数的节点的数目。

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

只要要使处于维护状态的节点脱离维护状态,就应该运行此过程。


注意 – 注意 –

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


步骤
  1. 成为群集中的任一节点(该处于维护状态的节点除外)的超级用户。

  2. 是否要使双节点群集中的一个节点脱离维护状态?

  3. 如果使用定额,则从一个不处于维护状态的节点重置群集定额计数。

    重新引导该处于维护状态的节点之前,必须从其他任何一个节点重置其定额计数,否则该节点将可能挂起,继续等待定额。


    # scconf -c -q node=node,reset
    
    -c

    指定 scconf 命令的更改形式。

    -q

    管理定额选项。

    node=node

    指定要重置的节点的名称,例如 phys-schost-1。

    reset

    用于重置定额的更改标志。

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

  5. 检验定额选票计数。


    # scstat -q
    

    已脱离维护状态的节点应为 online 状态并显示 PresentPossible 定额选票的适当选票计数。


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

以下示例将群集节点及其法定设备的定额计数重置为缺省值并检验结果。scstat -q 的输出信息显示 phys-schost-1 的 Node votes1,并且其状态为 online.。Quorum Summary 也应显示选票计数增加了。


phys-schost-2# scconf -c -q node=phys-schost-1,reset

在 phys-schost-1 上:


phys-schost-1# scstat -q

-- Quorum Summary --

  Quorum votes possible:      6
  Quorum votes needed:        4
  Quorum votes present:       6

-- Quorum Votes by Node --

                    Node Name           Present Possible Status
                    ---------           ------- -------- ------
  Node votes:       phys-schost-1       1        1       Online

  Node votes:       phys-schost-2       1        1       Online
  Node votes:       phys-schost-3       1        1       Online

-- Quorum Votes by Device --

                    Device Name         Present Possible Status
                    -----------         ------- -------- ------
  Device votes:     /dev/did/rdsk/d3s2  1        1       Online
  Device votes:     /dev/did/rdsk/d17s2 1        1       Online
  Device votes:     /dev/did/rdsk/d31s2 1        1       Online

添加和删除群集节点

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

表 7–2 任务对应关系:向现有群集中添加群集节点

任务 

有关说明,请转到 

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

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

添加共享存储器 

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

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

   - 使用 scsetup

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

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

   — — 安装 Solaris 操作系统和 Sun Cluster 软件 

   — — 配置节点成为群集的一部分 

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

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


注意 – 注意 –

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


表 7–3 任务对应关系:删除群集节点 (5/02)

任务 

有关说明,请转到 

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

   - 使用 scswitch(1M)

# scswitch -S -h from-node

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

   - 使用 scrgadm(1M)

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

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

   - 使用 scconf(1M)metaset(1M)scsetup(1M)

如何从磁盘设备组 (Solstice DiskSuite/Solaris Volume Manager) 删除节点

SPARC: 如何从磁盘设备组 (VERITAS Volume Manager) 删除节点

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

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

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

   - 使用 scsetup

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

 

如何删除法定设备

 

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

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

  - 使用 devfsadm(1M)scdidadm(1M)

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

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

  - 使用 scconf -a -q globaldev=d[n],node= node1,node=node2

scconf(1M)

使要删除的节点进入维护状态。 

   - 使用 scswitch(1M)shutdown(1M)scconf(1M)

如何使节点进入维护状态

删除与要删除节点的所有逻辑传输连接(传输电缆和适配器)。 

   - 使用 scsetup

如何删除群集传输电缆、传输适配器和传输结点

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

   - 使用 scsetupscconf(1M)

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

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

   - 使用 scconf(1M)

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

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

在将机器添加到现有群集之前,确保该节点上已正确安装和配置了所有必需的硬件,包括与专用群集互连建立了正确的物理连接。

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

该过程通过将机器的节点名称添加到授权的群集节点列表中,使该机器将其自身安装到群集中。

要完成此过程,必须成为一个当前群集成员上的超级用户。

步骤
  1. 请确保您已正确完成添加和删除群集节点任务图中列出的所有先决硬件安装任务和配置任务。

  2. 键入 scsetup 命令。


    # scsetup
    

    显示“Main Menu”。

  3. 要访问“New Nodes Menu”,请在“Main Menu”中键入 7

  4. 要修改授权的列表,请在“New Nodes Menu” 中键入 3,指定要加入群集的机器的名称。

    按照提示将该节点的名称添加到群集中。系统将询问您所要添加的节点的名称。

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

    如果 scsetup 实用程序准确无误地完成了该任务,它就会显示消息“Command completed successfully”。

  6. 退出 scsetup 实用程序。

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

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

  8. 要防止将任何新的机器添加到群集中,请在“New Nodes Menu”中键入 1

    按照 scsetup 的提示操作。该选项通知群集忽略通过公共网络来自任何新机器的将其自身添加到群集中的所有请求。


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

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


[成为超级用户并执行 scsetup 实用程序。]
# scsetup
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.
 
scconf -a -T node=phys-schost-3
 
    Command completed successfully.
Select Prevent any new machines from being added to the cluster.
Quit the scsetup New Nodes Menu and Main Menu.
[安装群集软件。]

另请参见

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

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

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

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

步骤
  1. 请确保您已正确完成添加和删除群集节点中的“删除群集节点”任务图中列出的所有先决任务。


    注 –

    确保已从所有资源组、磁盘设备组和法定设备配置中删除了该节点,并使其进入维护状态,然后再继续该过程。


  2. 成为群集中其他节点(即不是要删除的节点)的超级用户。

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


    # scconf -r -h node=node-name
    
  4. 使用 scstat(1M) 检验节点是否已删除。


     # scstat -n
    
  5. 是否要从删除的节点中卸载 Sun Cluster 软件?


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

此示例展示了从群集中删除节点 phys-schost-2 的过程。所有命令均是从该群集的另一节点 (phys-schost-1) 上运行的。


[从群集中删除节点:]
phys-schost-1# scconf -r -h node=phys-schost-2
[检验是否已删除节点:]
phys-schost-1# scstat -n
-- Cluster Nodes --
                    Node name           Status
                    ---------           ------
  Cluster node:     phys-schost-1       Online

另请参见

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

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

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

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

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

按照此过程可以在连接了三个或四个节点的群集中从单个群集节点断开存储阵列。

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

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


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


    注意 ((仅适用于 SPARC)) – 注意 ((仅适用于 SPARC)) –

    如果群集运行的是 Oracle Parallel Server/Real Application Clusters 软件, 请在把组移出节点之前先关闭在节点上运行的 Oracle Parallel Server/Real Application Clusters 数据库实例。有关说明,请参阅《 Oracle Database Administration Guide》。



    # scswitch -S -h from-node
    
  4. 使设备组处于维护状态。

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

    有关使设备组处于维护状态的过程,请参见第 7 章,管理群集

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

    • 如果您使用的是 VxVM 或原始磁盘,请使用 scconf(1M) 命令删除设备组。

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

  6. 如果群集正在运行 HAStorage 或 HAStoragePlus,应将该节点从资源组的节点列表中删除。


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

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


    注 –

    在执行 scrgadm 时,资源类型、资源组和资源属性的名称不区分大小写。


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

  8. 是否要从要断开的节点中删除主机适配器?

    • 如果是,应关闭节点并断开节点的电源。

    • 如果不是,则跳到步骤 11

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

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

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

  11. 将节点引导到非群集模式。

    • SPARC:


      ok boot -x
      
    • x86:


                            <<< 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
      

    注意 ((仅适用于 SPARC)) – 注意 ((仅适用于 SPARC)) –

    在进行下一步删除 Oracle Parallel Server/Real Application Clusters 软件之前,必须使节点处于非群集模式下,否则该节点会进入应急状态并可能会影响数据的可用性。


  12. SPARC:如果已安装 Oracle Parallel Server/Real Application Clusters 软件,请从断开连接的节点中删除 Oracle Parallel Server/Real Application Clusters 软件包。


    # pkgrm SUNWscucm 
    

    注意 ((仅适用于 SPARC)) – 注意 ((仅适用于 SPARC)) –

    如果不从断开的节点中删除 Oracle Parallel Server/Real Application Clusters 软件,当节点重新进入群集时,将进入应急状态并可能会影响数据的可用性。


  13. 将节点引导到群集模式。

    • SPARC:


      ok boot
      
    • x86:


                            <<< 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
      
  14. 在节点上通过更新 /devices 和 /dev 条目更新设备名称空间。


    # devfsadm -C 
    # scdidadm -C
    
  15. 使设备组重新联机。

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

    有关使设备组联机的过程,请参阅使设备组进入维护状态的过程。

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

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


注 –

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


步骤
  1. 确保您已正确完成任务表中有关删除群集节点的所有必须预先完成的任务。

    请参见添加和删除群集节点


    注 –

    在继续此过程前,请确保您已从所有资源组、设备组和法定设备配置中删除了该节点,并将其置于维护状态,然后从群集中删除该节点。


  2. 成为您要卸载的节点之外某个活动群集成员的超级用户。

  3. 从活动的群集成员中将要卸载的节点添加到群集的节点认证列表中。


    # scconf -a -T node=nodename
    
    -a

    添加

    -T

    指定验证选项

    node=nodename

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

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

  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 Cluster 软件包均没有关联的目录中运行以下命令。


    # cd /
    # scinstall -r
    

    有关更多信息,请参见 scinstall(1M) 手册页。如果 scinstall 返回错误消息,请参见未删除的群集文件系统条目

  8. 从其他群集设备中断开传输电缆和传输结点(如果有)的连接。

    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.