Sun Cluster 3.0 12/01 系统管理指南

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
    

    显示"Main Menu"。

  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 号经常用于标识与该消息有关的群集节点。 请遵照以下过程来确定节点 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
    

    显示"Main Menu"。

  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 12/01 概念》文档和《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 12/01 Data Services Installation and Configuration Guide》。

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

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


    # /etc/init.d/xntpd stop
    

  3. 确定您正要更改其专用主机名的那个节点的名称。


    # scconf -p | grep node
    

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

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


    注意:

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


  5. 从"Main Menu"上选择 5, Private Hostnames

  6. 从 "Private Hostnames Menu" 上选择 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 12/01 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. 检验该群集节点当前是否处于维护状态。


    # scstat -q
    

    如果节点已进入维护状态,则其定额选票 PresentPossible 的状态应该分别是 offline0(零)。

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

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


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

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. 检验定额选票计数。


    # scstat -q
    

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

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

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


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

[On phys-schost-1:]
ok> boot

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