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

第 2 章 关闭和引导群集

本章讲述了关闭和引导群集及单个群集节点的过程。

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

有关本章中相关过程的高级说明,请参阅表 2-1表 2-2

2.1 群集关闭和引导概述

Sun Cluster 的 scshutdown (1M) 命令以一种有序的方式停止群集服务并完整地关闭整个群集。可以在将群集从一个位置移到另一个位置时或在应用程序错误导致数据损坏时执行此操作。


注意:

请使用 scshutdown,而不要使用 shutdownhalt 命令,以确保正确关闭整个群集。将 Solaris shutdown 命令与 scswitch 命令结合使用可关闭单个节点。 有关详细信息,请参阅"2.1.1 如何关闭群集""2.2 关闭和引导单个群集节点"


scshutdown 命令通过以下方式停止群集中的所有节点:

  1. 使所有正在运行的资源组脱机。

  2. 卸载所有群集文件系统。

  3. 关闭活动的设备服务。

  4. 运行 init 0,并使所有节点处于 OBP ok 提示符状态下。


注意:

根据需要,您可以在非群集模式下引导节点,使之不成为群集成员。 这在安装群集软件或执行某些管理过程时有用。 有关详细信息,请参阅"2.2.4 如何在非群集模式下引导群集节点"


表 2-1 任务列表:关闭和引导群集

任务 

有关说明,请转到... 

停止群集 

- 使用 scshutdown

"2.1.1 如何关闭群集"

通过引导所有节点来启动群集。  

节点必须具有到群集互连的有效连接才能获得群集成员的身份。 

"2.1.2 如何引导群集"

关闭并重新引导群集 

- 使用 scshutdown

ok 提示符下,使用 boot 命令分别引导各个节点。

节点必须具有到群集互连的有效连接才能获得群集成员的身份。 

"2.1.3 如何重新引导群集"

2.1.1 如何关闭群集


小心:小心:

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


  1. 如果群集上运行的是 Oracle(R) Parallel Server/Real Application Cluster,请关闭数据库的所有实例。

    有关关闭过程,请参阅 Oracle Parallel Server/Real Application Clusters 产品文档。

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

  3. 将群集立即关闭到 OBP。

    从群集中的单个节点,键入以下命令。


    # scshutdown -g0 -y
    

  4. 验证是否所有节点都已在 ok 提示符下。

    在所有群集节点都处在 ok 提示符下之前,不要关闭任何节点的电源。

  5. 如有必要,关闭节点电源。

2.1.1.1 示例 - 关闭群集

以下示例显示在停止了正常的群集操作,并关闭了所有节点,使其转到 ok 提示符下之后控制台所输出的内容。 -g 0 选项将关闭宽延期设置为零,而 -y 表示在遇到确认问题时,自动回答 yes。 群集中其他节点的控制台上也显示关闭消息。


# scshutdown -g0 -y
May 2 10:08:46 phys-schost-1 cl_runtime: WARNING: CMM monitoring disabled.
phys-schost-1# 
INIT: New run level: 0
The system is coming down.  Please wait.
System services are now being stopped.
/etc/rc0.d/K05initrgm: Calling scswitch -S (evacuate)
The system is down.
syncing file systems... done
Program terminated
ok 

2.1.1.2 从此处可转到何处

要重新启动已关闭的群集,请参阅"2.1.2 如何引导群集"

2.1.2 如何引导群集

  1. 如果群集的节点均已关闭并且在 ok 提示符下,那么在启动该群集时请引导每个节点。

    如果在两次关闭操作之间进行了配置更改,则首先启动具有最新配置的节点。 除上述情形外,节点的引导顺序无关紧要。


    ok boot
    

    激活群集组件时,已引导节点的控制台上将显示消息。


    注意:

    群集节点必须具有到群集互连的有效连接才能获得群集成员的身份。


  2. 验证引导节点时未发生错误,而且节点现在处于联机状态。

    scstat(1M) 命令报告节点状态。


    # scstat -n
    


    注意:

    如果群集节点的 /var 文件系统已满,可能无法在该节点上重新启动 Sun Cluster。如果出现此问题,请参阅"2.3.1 如何修复已满的 /var 文件系统"


2.1.2.1 示例 - 引导群集

以下示例显示了将节点 phys-schost-1 引导到群集中时控制台所输出的内容。 群集中其他节点的控制台上会显示类似的消息。


ok boot
Rebooting with command: boot 
...
Hostname: phys-schost-1
Booting as part of a cluster
NOTICE: Node 1 with votecount = 1 added.
NOTICE: Node 2 with votecount = 1 added.
NOTICE: Node 3 with votecount = 1 added.
...
NOTICE: Node 1: attempting to join cluster
...
NOTICE: Node 2 (incarnation # 937690106) has become reachable.
NOTICE: Node 3 (incarnation # 937690290) has become reachable.
NOTICE: cluster has reached quorum.
NOTICE: node 1 is up; new incarnation number = 937846227.
NOTICE: node 2 is up; new incarnation number = 937690106.
NOTICE: node 3 is up; new incarnation number = 937690290.
NOTICE: Cluster members:   1  2  3
...

2.1.3 如何重新引导群集

运行 scshutdown(1M) 关闭群集,然后用各节点上的 boot 命令引导群集。

  1. (可选)。 对于运行 Oracle Parallel Server/Real Application Clusters 的群集,应关闭数据库的所有实例。

    有关关闭过程,请参阅 Oracle Parallel Server/Real Application Clusters 产品文档。

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

  3. 将群集关闭到 OBP。

    从群集中的单个节点,键入以下命令。


    # scshutdown -g0 -y 
    

    此命令将关闭各节点并使其转到 ok 提示符下。


    注意:

    群集节点必须具有到群集互连的有效连接才能获得群集成员的身份。


  4. 引导每个节点。

    节点的引导次序无关紧要,除非您在两次关闭操作之间进行了配置更改。 如果在先后两次引导之间更改了配置,则应当首先引导具有最新配置的节点。


    ok boot
    

    当群集组件被激活时,所引导的节点的控制台上将显示消息。

  5. 验证引导节点时未发生错误,而且节点现在处于联机状态。

    scstat 命令报告节点状态。


    # scstat -n
    


    注意:

    如果群集节点的 /var 文件系统已满, 可能无法在该节点上重新启动 Sun Cluster。如果出现此问题,请参阅"2.3.1 如何修复已满的 /var 文件系统"


2.1.3.1 示例 - 重新引导群集

以下示例显示在停止了正常的群集.操作,并关闭了所有节点,使其转到 ok 提示符下然后再重新引导群集时控制台所输出的内容。 -g 0 选项将宽延期设置为零,而 -y 表示在遇到确认问题时,自动回答 yes。群集中其他节点的控制台上也显示关闭消息。


# scshutdown -g0 -y
May 2 10:08:46 phys-schost-1 cl_runtime: WARNING: CMM monitoring disabled.
phys-schost-1# 
INIT: New run level: 0
The system is coming down.  Please wait.
...
The system is down.
syncing file systems... done
Program terminated
ok boot
Rebooting with command: boot 
...
Hostname: phys-schost-1
Booting as part of a cluster
...
NOTICE: Node 1: attempting to join cluster
...
NOTICE: Node 2 (incarnation # 937690106) has become reachable.
NOTICE: Node 3 (incarnation # 937690290) has become reachable.
NOTICE: cluster has reached quorum.
...
NOTICE: Cluster members:   1  2  3
...
NOTICE: Node 1: joined cluster
...
The system is coming up.  Please wait.
checking ufs filesystems
...
reservation program successfully exiting
Print services started.
volume management starting.
The system is ready.
phys-schost-1 console login:
NOTICE: Node 1: joined cluster
...
The system is coming up.  Please wait.
checking ufs filesystems
...
reservation program successfully exiting
Print services started.
volume management starting.
The system is ready.
phys-schost-1 console login:

2.2 关闭和引导单个群集节点


注意:

结合使用 scswitch 命令和 Solaris shutdown 命令可关闭单个节点。 仅在关闭整个群集时使用 scshutdown 命令。


表 2-2 任务表:关闭并引导群集节点

任务 

有关说明,请转到... 

停止群集节点  

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

"2.2.1 如何关闭群集节点"

通过引导来启动节点 

节点必须具有到群集互连的有效连接才能获得群集成员的身份。 

"2.2.2 如何引导群集节点"

停止和重新启动(重新引导)群集节点 

- 使用 scswitchshutdown

节点必须具有到群集互连的有效连接才能获得群集成员的身份。 

"2.2.3 如何重新引导群集节点"

引导一个节点,使之不成为群集成员 

- 使用 scswitchshutdown,然后使用 -x 选项进行引导

"2.2.4 如何在非群集模式下引导群集节点"

2.2.1 如何关闭群集节点


小心:小心:

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


  1. 如果运行的是 Oracle Parallel Server/Real Application Clusters,则关闭数据库的所有实例。

    有关关闭过程,请参阅 Oracle Parallel Server/Real Application Clusters 产品文档。

  2. 成为要关闭的群集节点上的超级用户。

  3. 将所有资源组、资源和设备组从要关闭的节点切换到其他群集成员。

    在要关闭的节点上,键入以下命令。


    # scswitch -S -h nodelist
    

    -S

    从指定的节点中清空所有的设备服务和资源组。

    -h nodelist

    指定从中切换资源组和设备组的节点。

  4. 将群集节点关闭到 OBP。

    在要关闭的节点上,键入以下命令。


    # shutdown -g0 -y -i0
    

  5. 检验群集节点是否已在 ok 提示符下。

  6. 如有必要,请关闭节点电源。

2.2.1.1 示例 - 关闭群集节点

以下示例显示了关闭节点 phys-schost-1 时控制台所输出的内容。-g0 选项将宽延期设置为零,-y 表示在遇到确认问题时,自动回答 yes,而 -i0 则调用运行级 0(零)。 群集中其他节点的控制台上也显示此节点的关闭消息。


# scswitch -S -h phys-schost-1
# shutdown -g0 -y -i0
May 2 10:08:46 phys-schost-1 cl_runtime: WARNING: CMM monitoring disabled.phys-schost-1# 
INIT: New run level: 0
The system is coming down.  Please wait.
Notice: rgmd is being stopped.
Notice: rpc.pmfd is being stopped.
Notice: rpc.fed is being stopped.
umount: /global/.devices/node@1 busy
umount: /global/phys-schost-1 busy
The system is down.
syncing file systems... done
Program terminated
ok 

2.2.1.2 从此处可转到何处

要重启已关闭的群集节点,请参阅"2.2.2 如何引导群集节点"

2.2.2 如何引导群集节点


注意:

群集节点的启动可能受定额配置的影响。 在两个节点的群集中,必须配置一个定额设备。这样,该群集的定额总数才能为三(每个节点一个,定额设备一个)。 在这种情况下,当第一个节点关闭后,第二个节点仍然有定额设备,并以唯一群集成员的身份运行。 如果第一个节点要作为群集节点返回到群集中,则第二个节点必须处于打开状态并运行,并且必须有所需要的群集定额计数 (2)。


  1. 要启动已关闭的群集节点,请引导该节点。


    ok boot
    

    激活群集组件时,所有节点的控制台上将显示消息。


    注意:

    群集节点必须具有到群集互连的有效连接才能获得群集成员的身份。


  2. 验证引导节点时未发生错误,而且节点现在处于联机状态。

    scstat(1M) 命令报告节点的状态。


    # scstat -n
    


    注意:

    如果群集节点的 /var 文件系统已满,可能无法在该节点上重新启动 Sun Cluster。 如果出现此问题,请参阅"2.3.1 如何修复已满的 /var 文件系统"


2.2.2.1 示例 - 引导群集节点

以下示例显示.将节点 phys-schost-1 引导到群集中时控制台所输出的内容。


ok boot
Rebooting with command: boot 
...
Hostname: phys-schost-1
Booting as part of a cluster
...
NOTICE: Node 1: attempting to join cluster
...
NOTICE: Node 1: joined cluster
...
The system is coming up.  Please wait.
checking ufs filesystems
...
reservation program successfully exiting
Print services started.
volume management starting.
The system is ready.
phys-schost-1 console login:

2.2.3 如何重新引导群集节点

  1. 如果群集节点运行的是 Oracle Parallel Server/Real Application Clusters,则应关闭数据库的所有实例。

    有关关闭过程,请参阅 Oracle Parallel Server/Real Application Clusters 产品文档。

  2. 成为要关闭的群集节点上的超级用户。

  3. 使用 scswitchshutdown 命令关闭群集节点。

    在要关闭的节点上,输入以下命令。 如果结合使用 shutdown 命令 -i 6 选项,将使节点在关闭到 ok 提示符后重新进行引导。


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

    注意:

    群集节点必须具有到群集互连的有效连接才能获得群集成员的身份。


  4. 验证引导节点时未发生错误,而且节点现在处于联机状态。


    # scstat -n
    

2.2.3.1 示例 - 重新引导群集节点

以下示例显示了重新引导节点 physschost-1 时控制台所输出的内容。 群集中其他节点的控制台上也显示此节点的关闭和启动消息。


# scswitch -S -h phys-schost-1
# shutdown -g0 -y -i6
May 2 10:08:46 phys-schost-1 cl_runtime: WARNING: CMM monitoring disabled.
phys-schost-1# 
INIT: New run level: 6
The system is coming down.  Please wait.
System services are now being stopped.
Notice: rgmd is being stopped.
Notice: rpc.pmfd is being stopped.
Notice: rpc.fed is being stopped.
umount: /global/.devices/node@1 busy
umount: /global/phys-schost-1 busy
The system is down.
syncing file systems... done
rebooting...
Resetting ... 
,,,
Sun Ultra 1 SBus (UltraSPARC 143MHz), No Keyboard
OpenBoot 3.11, 128 MB memory installed, Serial #5932401.
Ethernet address 8:8:20:99:ab:77, Host ID: 8899ab77.
...
Rebooting with command: boot
...
Hostname: phys-schost-1
Booting as part of a cluster
...
NOTICE: Node 1: attempting to join cluster
...
NOTICE: Node 1: joined cluster
...
The system is coming up.  Please wait.
The system is ready.
phys-schost-1 console login:

2.2.4 如何在非群集模式下引导群集节点

可以引导一个节点,使之不充当群集成员,即以非群集模式引导。 这在安装群集软件或执行某些管理过程(如修补一个节点)时有用。

  1. 成为要在非群集模式下启动的节点上的超级用户。

  2. 使用 scswitchshutdown 命令关闭节点。


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

  3. 检验节点是否在 ok 提示符下。

  4. 使用 boot(1M) 命令并结合 -x 选项在非群集模式下引导节点。


    ok boot -x
    

    该节点的控制台上显示的消息称该节点不是群集的一部分。

2.2.4.1 示例 - 在非群集模式下引导节点

以下示例显示.关闭节点 phys-schost-1、然后在非群集模式下重新启动该节点时控制台所输出的内容。 -g0 选项将宽延期设置为零,-y 表示在遇到确认问题时,自动回答 yes,而 -i0 则调用运行级 0(零)。 群集中其他节点的控制台上也显示此节点的关闭消息。


# scswitch -S -h phys-schost-1
# shutdown -g0 -y -i0
May 2 10:08:46 phys-schost-1 cl_runtime: WARNING: CMM monitoring disabled.
phys-schost-1# 
...
rg_name = schost-sa-1 ...
offline node = phys-schost-2 ...
num of node = 0 ...
phys-schost-1# 
INIT: New run level: 0
The system is coming down.  Please wait.
System services are now being stopped.
Print services stopped.
syslogd: going down on signal 15
...
The system is down.
syncing file systems... done
WARNING: node 1 is being shut down.
Program terminated

ok boot -x
...
Not booting as part of cluster
...
The system is ready.
phys-schost-1 console login:

2.3 修复已满的 /var 文件系统

Solaris 和 Sun Cluster 软件均将错误消息写入到 /var/adm/messages 文件中。随着时间的推移,该文件可能会填满 /var 文件系统。如果群集节点的 /var 文件系统已满,则可能无法在该节点上重新启动 Sun Cluster。此外,您可能无法登录到此节点。

2.3.1 如何修复已满的 /var 文件系统

如果某个节点报告 /var 文件系统已满而且继续运行 Sun Cluster 服务,则请按以下过程来清理被占满的文件系统。

  1. /var 文件系统已满的那个群集节点上成为超级用户。

  2. 清理被占满的文件系统。

    例如,删除该文件系统中包含的无关紧要的文件。