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

群集管理概述

表 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