Sun Cluster 3.0 U1 系统管理指南

第 6 章 管理群集

本章提供了管理影响整个群集的项的过程。

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

6.1 群集管理概述

表 6-1 任务列表:管理群集

任务 

有关说明,请转到 

更改群集的名称 

"6.1.1 如何更改群集的名称"

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

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

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

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

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

"6.1.4 如何在群集中重置时间"

关闭节点,然后输入 OpenBootTM PROM

"6.1.5 如何在一个节点上输入 OpenBoot PROM (OBP)"

更改专用主机名 

"6.1.6 如何更改专用主机名"

使群集节点处于维护状态 

"6.1.7 如何使节点进入维护状态"

使群集节点脱离维护状态 

"6.1.8 如何使节点脱离维护状态"

向群集添加节点 

"6.2.1 如何将群集节点添加到授权的节点列表中"

从群集中删除节点 

"6.2.1 如何将群集节点添加到授权的节点列表中"

6.1.1 如何更改群集的名称

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

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

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


    # scsetup
    

    这时将显示主菜单。

  3. 要更改群集的名称,请键入 6(其它群集特性)。

    这时将显示"Other Cluster Properties"菜单。

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

6.1.1.1 示例 - 更改群集的名称

以下示例说明了由 scsetup 实用程序生成的 scconf(1M) 命令, 该命令用于更改新的群集名称 dromedary


# scconf -c -C cluster=dromedary

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

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

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

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


    % scconf -pv | grep "Node ID"
    

6.1.2.1 示例 - 将节点 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

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

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

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

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


    # scsetup
    

    这时将显示主菜单。

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

    这时将显示"New Nodes"菜单。

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

6.1.3.1 示例 - 阻止将新机器添加到群集中

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


# scconf -a -T node=.

6.1.3.2 示例 - 允许所有的新机器添加到群集中

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


# scconf -r -T all

6.1.3.3 示例 - 指定要添加到群集中的新机器

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


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

6.1.3.4 示例 - 将认证设置为标准 UNIX

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


# scconf -c -T authtype=unix

6.1.3.5 示例 - 将认证设置为 DES

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


# scconf -c -T authtype=des

注意:

使用 DES 认证时,还需要配置所有必要的加密键。在这之后,节点才能加入到群集中。有关详细信息,请参阅 keyserv(1M) 和 publickey(4) 手册页。


6.1.4 如何在群集中重置时间

Sun Cluster 使用网络时间协议 (NTP) 来维持群集节点间的时间同步, 当节点同步其时间时,群集会根据需要自动调整时间。有关详细信息,请参阅《Sun Cluster 3.0 U1 概念》文档和《Network Time Protocol User's Guide》。


小心:小心:

使用 NTP 时,不要在群集处于打开状态且正在运行时尝试调整群集时间。调整群集时间包括交互式地使用 date (1)、rdate (1M) 或 xntpdate (1M) 这些命令,或者在 cron (1M) 脚本中使用这些命令。


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

  2. 关闭群集,转到 OBP 提示符下。


    # scshutdown -g0 -y
    

  3. 将每一个节点都引导成非群集节点。


    ok boot -x
    

  4. 在单独一个节点上,运行 date (1) 命令来设置一天中的具体时间。


    # date HHMMSS
    

  5. 在其它机器上,运行 rdate (1M) 命令来同步此节点的时间。


    # rdate hostname
    

  6. 引导每个节点以重新启动该群集。


    # reboot
    

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

    在每个节点上,运行 date (1M) 命令。


    # date
    

6.1.5 如何在一个节点上输入 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 (1M) 使节点转到 OBP 提示符下,从而正常关闭群集节点。


    # scswitch -S -h nodelist
    # shutdown -g0 -y -i0
    


    小心:小心:

    不要在群集控制台上使用 send brk 来关闭群集节点。如果使用 send brk,然后在 OBP 提示符下输入 go 来重新引导,则该节点将处于应急状态。群集不支持该功能。


  3. 执行 OBP 命令。

6.1.6 如何更改专用主机名

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

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


小心:小心:

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


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


    # scswitch -n -j resource1, resource2
    

    禁用的应用程序应包括:

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

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

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

    有关使用 scswitch 命令的信息,请参阅 scswitch (1M) 手册页和《Sun Cluster 3.0 U1 Data Services Installation and Configuration Guide》。

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

    有关 NTP 守护程序的详细信息,请参阅 xntpd 手册页。


    # /etc/init.d/xntpd stop
    

  3. 确定要在其上更改专用主机名的节点的名称。


    # scconf -p | grep node
    

  4. 运行 scsetup 实用程序以更改专用主机名。

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


    注意:

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


  5. 从主菜单上,选择 5, Private Hostnames

  6. 从"专用主机名"菜单上,选择 1, Change a Private Hostname

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

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

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


    # nscd -i hosts
    

  8. 在每个节点上编辑 ntp.conf 文件,将专用主机名更改为新的名称。

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

    如果在安装时执行了该过程,也要记得删除已配置的节点的名称,缺省模板预配置八个节点。通常情况下,每个群集节点上的 ntp.conf 文件完全一样。

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

  10. 重新启动 NTP 守护程序。

    在群集的每个节点上执行此步骤。


    # /etc/init.d/xntpd start
    

  11. 启用在 步骤 1 中禁用的所有数据服务资源及其它应用程序。


    # scswitch -e -j resource1, resource2
    

    有关使用 scswitch 命令的信息,请参阅 scswitch (1M) 手册页和《Sun Cluster 3.0 U1 Data Services Installation and Configuration Guide》。

6.1.6.1 示例 - 更改专用主机名

以下示例展示在节点 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# 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
[Enable all applications and data services disabled at the beginning of the procedure.]

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

如果在较长的一段时间内不使用一个群集节点,应使它进入维护状态。这样,在维护节点时,该节点不参与定额计数。要使群集节点进入维护状态,必须使用 scswitch (1M)shutdown (1M) 来关闭该节点。


注意:

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


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

需要使用 scconf (1M) 命令使群集节点进入维护状态。scsetup 实用程序没有使定额设备进入维护状态的功能。

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

  2. 从该节点抽出所有资源组和磁盘设备组。


    # scswitch -S -h nodelist
    

    -S

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

    -h nodelist

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

  3. 关闭进行抽取的节点,转到 OBP 提示符下,并使其脱离群集。


    # shutdown -g0 -y -i0
    

  4. 成为群集中另一节点的超级用户,并使 步骤 3 中关闭的节点进入维护状态。


    # scconf -c -q node=node,maintstate
    

    -c

    指定 scconf 命令的更改形式。

    -q

    管理定额选项。

    node=node

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

    maintstate

    使节点进入维护状态。

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


    # scconf -p | grep -i vote
    

6.1.7.1 示例 - 使群集节点进入维护状态

下面的示例显示使群集节点转移到维护状态并检验其结果。


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

[On another node in the cluster:]
phys-schost-2# scconf -c -q node=phys-schost-1,maintstate
phys-schost-2# scconf -p | grep -i quorum
 Node quorum vote count:                           1
Quorum devices:                                    d20
Quorum device name:                                d20
  Quorum device votes:                             1
  Quorum device enabled:                           yes
  Quorum device path:                              /dev/did/rdsk/d5s2
  Quorum device hosts (disabled):                 phys-schost-1
  Quorum device hosts (enabled):                  phys-schost-2

6.1.7.2 从此处可转到何处

要将节点返回联机状态,请参阅 "6.1.8 如何使节点脱离维护状态"

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

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

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

当一个节点进入维护状态后,如果您想使它脱离维护状态,则可随时运行此过程。


小心:小心:

如果既不指定 globaldev 选项,也不指定 node 选项,则会在整个群集范围内重置定额计数。


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

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

    在重新引导节点之前,必须从一个不处于维护状态的节点重置定额计数,否则它可能会挂起,一直等待定额。


    # scconf -c -q node=node,reset
    

    -c

    指定 scconf 命令的更改形式。

    -q

    管理定额选项。

    node=node

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

    reset

    更改标志位,用于重置定额。

  3. 重新引导该节点。

  4. 检验定额选票计数。


    # scconf -p | grep -i vote
    

6.1.8.1 示例 - 使群集节点脱离维护状态并重置定额选票计数

以下示例将群集节点及其定额设备的定额计数重置回其缺省值并检验其结果。


# scconf -c -q node=phys-schost-1,reset
# scconf -pv | grep -i vote
 Node quorum vote count:           1
 Node quorum vote count:           1
 Node quorum vote count:           1
 (d20) Quorum device votes:                        1
 (d21) Quorum device votes:                        1

6.2 添加和删除群集节点

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

表 6-2 任务对应关系:添加群集节点

任务 

有关说明,请转到 

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

Sun Cluster 3.0 U1 Hardware Guide

添加共享存储器 

Sun Cluster 3.0 U1 Hardware Guide

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

- 使用 scsetup

"6.2.1 如何将群集节点添加到授权的节点列表中"

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

- 安装 Solaris 操作环境和 Sun Cluster 软件 

- 将该节点配置为群集的一部分 

Sun Cluster 3.0 U1 安装指南》, 请参阅有关安装并配置 Sun Cluster 软件的部分。

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

表 6-3 任务对应关系:删除群集节点

任务 

有关说明,请转到 

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

- 使用 shutdownscconf

"6.1.7 如何使节点进入维护状态"

从所有资源组中删除节点 

- 使用 scrgadm

请参阅《Sun Cluster 3.0 U1 Data Services Installation and Configuration Guide》, 有关如何从现有的资源组中删除一个节点的过程。

从节点所在的所有设备组中删除节点 

- 使用卷管理器命令 

"3.3.4 如何从磁盘设备组 (Solstice DiskSuite) 中删除节点"

或 

"3.3.15 如何从磁盘设备组(VERITAS 卷管理器)中删除节点"

删除所有到要删除的节点的逻辑传输连接 

- 使用 scsetup

"5.1.3 如何删除 Cluster Transport Cable 传输适配卡和传输结点"

 

若要从节点删除物理硬件,请参阅《Sun Cluster 3.0 U1 Hardware Guide》, 有关安装和维护群集互连和公共网络硬件部分。

删除所有与要删除的节点共享的定额设备 

- 使用 scsetup

"4.1.2 如何删除定额设备"

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

- 使用 scconf

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

从节点和群集中删除所需的共享存储器 

- 请遵照卷管理器文档和硬件指南中的过程 

SDS 或 VxVM 管理指南 

Sun Cluster 3.0 U1 Hardware Guide

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

在将一台机器添加到一个现有群集之前,确保该节点上已正确安装和配置所有必需的硬件,并且与专用群集互连具备正确的物理连接。

有关硬件安装的信息,请参阅《Sun Cluster 3.0 U1 Hardware Guide》或服务器附带的硬件文档。

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

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

  1. 确保已正确完成 "6.2 添加和删除群集节点" 任务对应关系中所列出的所有先决硬件安装和配置任务。

  2. 执行 scsetup (1M) 实用程序。


    # scsetup
    

    显示主菜单。

  3. 要修改授权的列表,请在"新节点"菜单中输入 3,指定要添加它自身的机器的名称。

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

  4. 要访问"新节点"菜单,请在主菜单中键入 6

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

    如果 scsetup 实用程序在没有出现任何错误的情况下完成了该任务,将显示消息"Command completed successfully"。

  6. 要防止任何新的机器添加到群集中,请在"新节点"菜单中键入 1

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

  7. 退出 scsetup 实用程序。

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

    如《Sun Cluster 3.0 U1 安装指南》中所述,使用 scinstall 或 JumpStart 来完成新节点的安装和配置。

6.2.1.1 示例 - 将群集节点添加到授权的节点列表中

以下示例展示如何将一个名为 phys-schost-3 的节点添加到一个现有群集的授权节点列表中。


[Become superuser and execute the scsetup utility.]
# 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.
[Install the cluster software.]

6.2.1.2 从此处可转到何处

有关添加群集节点的整个任务列表,请参阅表 6-2,"任务对应关系:添加群集节点"。

要向现有资源组添加节点,请参阅《Sun Cluster 3.0 U1 Data Services Installation and Configuration Guide》。

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

这是在从群集删除节点的过程中需要完成的最后一个软件配置过程。要执行此过程,必须成为一个群集节点的超级用户。

  1. 确保已正确完成 "6.2 添加和删除群集节点" 任务对应关系中所列出的所有先决任务。


    注意:

    在继续进行此过程前,确保您已使节点处于维护状态,并已从所有资源组、设备组和定额设备配置中删除此节点。


  2. 确定群集中的本地磁盘及其相关的原始磁盘设备组名称,例如 dsk/d4.


    # scconf -pvv | grep Local_Disk	
    

  3. 确定群集中的哪些本地磁盘和原始磁盘设备组与要删除的节点相连。


    # scconf -pvv | grep node-name | grep Device	
    

  4. 禁用 步骤 3 中所确定的每个本地磁盘的 localonly 特性。

    有关 localonly 特性的详细信息,请参阅 scconf_dg_rawdisk (1M) 手册页。


    # scconf -c -D name=rawdisk-device-group,localonly=false
    

  5. 从该节点所在的所有原始磁盘设备组中删除该节点。

    每个与要删除的节点相连的原始磁盘设备组都必须完成此步骤。


    # scconf -r -D name=rawdisk-device-group,nodelist=
    node
    

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


    # scconf -r -h node=node
    

  7. 使用 scstat 检验节点删除情况。


    # scstat -n
    

  8. 要从群集中物理删除该节点,请按《Sun Cluster 3.0 U1 Hardware Guide》中所述删除硬件连接。


注意:

从群集中删除设备后,必须在被删除的主机上重新安装 Solaris 操作环境,它才能以任一形式重新发挥作用。


6.2.2.1 示例 - 从群集软件配置中删除节点

此示例展示如何从一个群集中删除一个节点 (phys-schost-2)。


[Become superuser on any node.]
[Identify all local disks and their raw disk device group names:]
# scconf -pvv | grep Local_Disk
	(dsk/d4) Device group type:          Local_Disk
	(dsk/d8) Device group type:          Local_Disk
[Identify the local disks and raw disk device groups connected to the node being removed:]
# scconf -pvv | grep phys-schost-2 | grep Device	
	(dsk/d4) Device group node list:  phys-schost-2
	(dsk/d2) Device group node list:  phys-schost-1, phys-schost-2
	(dsk/d1) Device group node list:  phys-schost-1, phys-schost-2
[Remove the localonly flag for each local disk on the node:]
# scconf -c -D name=dsk/d4,localonly=false
[Remove the node from all raw disk device groups:]
# scconf -r -D name=dsk/d4,nodelist=phys-schost-2
# scconf -r -D name=dsk/d2,nodelist=phys-schost-2
# scconf -r -D name=dsk/d1,nodelist=phys-schost-2
[Remove the node from the cluster:]
# scconf -r -h node=phys-schost-2
[Verify node removal:]
# scstat -n
 
-- Cluster Nodes --
                    Node name           Status
                    ---------           ------
  Cluster node:     phys-schost-1       Online

6.2.2.2 从此处可转到何处

有关硬件过程,请参阅《Sun Cluster 3.0 U1 Hardware Guide》。

有关删除群集节点的整个任务列表,请参阅 表 6-3 "任务对应关系:删除群集节点"。

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