Sun Cluster 3.0 U1 系统管理指南

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