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

关闭和引导群集中的单个节点

您可以关闭全局群集节点、区域群集节点或非全局区域。本节说明了如何关闭全局群集节点和区域群集节点。

要关闭全局群集节点,应同时使用 clnode evacuate 命令和 Solaris shutdown 命令。仅当关闭整个全局群集时,才能使用 cluster shutdown 命令。

对于区域群集节点,请在全局群集中使用 clzonecluster halt 命令以关闭单个区域群集节点或整个区域群集。还可以使用 clnode evacuate 和 shutdown 命令来关闭区域群集节点。

有关关闭和引导非全局区域的信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的第 20  章 “安装、引导、停止、卸载和克隆非全局区域(任务)”。另请参见 clnode(1CL)、shutdown(1M) 和 clzonecluster(1CL)。

在本章的操作过程中,phys-schost# 表示全局群集提示符。clzonecluster 交互式 shell 提示符为 clzc:schost>。

表 3–2 任务图:关闭并引导节点

任务 

工具 

指导 

停止节点。 

对于全局群集节点,请使用 clnode(1CL) evacuate 和 shutdown。 对于区域群集节点,请使用 clzonecluster(1CL) halt。

如何关闭节点

启动节点。 

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

对于全局群集节点,请使用 boot 或 b。 对于区域群集节点,请使用 clzonecluster(1CL) boot。

如何引导节点

停止并重新启动(重新引导)群集中的节点。 

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

对于全局群集节点,请使用 clnode evacuate 和 shutdown,然后使用 boot 或 b。

对于区域群集节点,请使用 clzonecluster(1CL) reboot。

如何重新引导节点

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

对于全局群集节点,请使用 clnode evacuate 和 shutdown 命令,然后使用 boot -x (在 SPARC 上)或 GRUB 菜单项编辑(在 x86 上)。

如果底层的全局群集是以非群集模式引导的,则区域群集节点也自动以非群集模式引导。  

如何以非群集模式引导节点

Procedure如何关闭节点

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。


注意 – 注意 –

不要在群集控制台上使用 send brk 来关闭全局群集或区域群集上的节点。群集内部不支持该命令。


  1. 如果您的群集正在运行 Oracle RAC,请关闭您要关闭的群集中的所有数据库实例。

    有关关闭过程,请参阅 Oracle RAC 产品文档。

  2. 在要关闭的群集节点上,成为超级用户或使用一个可提供 solaris.cluster.admin RBAC 授权的角色。从全局群集中的某个节点执行此过程中的所有步骤。

  3. 如果您想要停止特定的区域群集成员,请跳过步骤 4-6,然后从全局群集节点执行以下命令:


    phys-schost# clzonecluster halt -n physical-name zoneclustername
    

    如果您指定了特定的区域群集节点,将仅停止该节点。默认情况下,halt 命令停止所有节点上的区域群集。

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

    在要关闭的全局群集节点上,键入以下命令。clnode evacuate 命令可将指定节点上的所有资源组和设备组(包括所有非全局区域)切换到下一个首选节点。(还可以在区域群集节点内运行 clnode evacuate。)


    phys-schost# clnode evacuate node
    
    node

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

  5. 关闭该节点。

    指定您想要关闭的全局群集节点。


    phys-schost# shutdown -g0 -y -i0
    

    检验该全局群集节点是否显示 ok 提示符(在基于 SPARC 的系统上)或在 GRUB 菜单中显示消息 "Press any key to continue"(在基于 x86 的系统上)。

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


示例 3–7 SPARC: 关闭全局群集节点

以下示例显示了当节点 phys-schost-1 关闭时的控制台输出。-g0 选项表示将宽限期设置为零,-y 选项表示在接收到要求确认的问题时自动回答 yes。全局群集中其他节点的控制台上也显示此节点的关闭消息。


phys-schost# clnode evacuate nodename
phys-schost# shutdown -g0 -y
Wed Mar 10 13:47:32 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 


示例 3–8 x86: 关闭全局群集节点

以下示例显示了当节点 phys-schost-1 关闭时的控制台输出。-g0 选项表示将宽限期设置为零,-y 选项表示在接收到要求确认的问题时自动回答 yes。全局群集中其他节点的控制台上也显示此节点的关闭消息。


phys-schost# clnode evacuate phys-schost-1
phys-schost# shutdown -g0 -y
Shutdown started.    Wed Mar 10 13:47:32 PST 2004

Changing to init state 0 - please wait
Broadcast Message from root (console) on phys-schost-1 Wed Mar 10 13:47:32... 
THE SYSTEM phys-schost-1 IS BEING SHUT DOWN NOW ! ! !
Log off now or risk your files being damaged

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)
failfasts disabled on node 1
Print services already stopped.
Mar 10 13:47:44 phys-schost-1 syslogd: going down on signal 15
umount: /global/.devices/node@2 busy
umount: /global/.devices/node@1 busy
The system is down.
syncing file systems... done
WARNING: CMM: Node being shut down.
Type any key to continue 


示例 3–9 关闭区域群集节点

以下示例显示了如何使用 clzonecluster halt 关闭一个名为 sparse-sczone 的区域群集中的节点。(还可以在区域群集节点中运行 clnode evacuate 和 shutdown 命令。)


phys-schost# clzonecluster status

=== Zone Clusters ===

--- Zone Cluster Status ---

Name            Node Name   Zone HostName   Status   Zone Status
----            ---------   -------------   ------   -----------
sparse-sczone   schost-1    sczone-1        Online   Running
                schost-2    sczone-2        Online   Running
                schost-3    sczone-3        Online   Running
                schost-4    sczone-4        Online   Running

phys-schost#
phys-schost# clzonecluster halt -n schost-4 sparse-sczone
Waiting for zone halt commands to complete on all the nodes of the zone cluster "sparse-sczone"...
Sep  5 19:24:00 schost-4 cl_runtime: NOTICE: Membership : Node 3 of cluster 'sparse-sczone' died.
phys-host#
phys-host# clzonecluster status

=== Zone Clusters ===

--- Zone Cluster Status ---

Name            Node Name   Zone HostName   Status    Zone Status
----            ---------   -------------   ------    -----------
sparse-sczone   schost-1    sczone-1        Online    Running
                schost-2    sczone-2        Online    Running
                schost-3    sczone-3        Offline   Installed
                schost-4    sczone-4        Online    Running

phys-schost# 

另请参见

要重新启动已关闭的全局群集节点,请参见如何引导节点。

Procedure如何引导节点

如果打算关闭或重新引导全局群集或区域群集中的其他活动节点,请等到要引导的节点至少处于以下状态:

否则,该节点将无法从群集中要关闭或重新引导的其他节点那里接管服务。有关引导非全局区域的信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的第 20  章 “安装、引导、停止、卸载和克隆非全局区域(任务)”。


注 –

节点的启动可能受法定配置的影响。在双节点群集中,必须配置一个定额设备,使群集中的定额总计数为三。每个节点应有一个定额计数,定额设备有一个定额计数。在这种情况下,当第一个节点关闭后,第二个节点仍然具有法定,并且以唯一的群集成员的身份运行。要使第一个节点作为群集节点返回群集,第二个节点必须启动并且正在运行。必须存在所需的群集定额计数(两个)。


phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。


注 –

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


  1. 要启动已关闭的全局群集节点或区域群集节点,请引导该节点。从全局群集中的某个节点执行此过程中的所有步骤。

    • 在基于 SPARC 的系统上,运行以下命令。


      ok boot
      
    • 在基于 x86 的系统上,运行以下命令。

      显示 GRUB 菜单后,选择相应的 Solaris 条目,然后按 Enter 键。GRUB 菜单显示如下内容:


      GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
      +-------------------------------------------------------------------------+
      | Solaris 10 /sol_10_x86                                                  |
      | Solaris failsafe                                                        |
      |                                                                         |
      +-------------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press enter to boot the selected OS, 'e' to edit the
      commands before booting, or 'c' for a command-line.

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

    • 如果您具有区域群集,可以指定要引导的节点。


      phys-schost# clzonecluster boot -n node zoneclustername
      
  2. 确认引导该节点时未发生错误,而且该节点现在处于联机状态。

    • 运行 cluster status 命令可报告全局群集节点的状态。


      phys-schost# cluster status -t node
      
    • 从全局群集中的节点运行 clzonecluster status 命令可报告所有区域群集节点的状态。


      phys-schost# clzonecluster status
      

      当托管区域群集节点的节点以群集模式引导时,区域群集节点只能以群集模式引导。


      注 –

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



示例 3–10 SPARC: 引导全局群集节点

以下示例显示了将节点 phys-schost-1 引导到全局群集后的控制台输出。


ok boot
Rebooting with command: boot 
...
Hostname: phys-schost-1
Booting as part of a cluster
...
NOTICE: Node phys-schost-1: attempting to join cluster
...
NOTICE: Node phys-schost-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:

Procedure如何重新引导节点

要关闭或重新引导全局群集或区域群集中的其他活动节点,请等到要重新引导的节点至少达到以下状态:

否则,该节点将无法从群集中要关闭或重新引导的其他节点那里接管服务。有关重新引导非全局区域的信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的第 20  章 “安装、引导、停止、卸载和克隆非全局区域(任务)”。

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。

  1. 如果全局群集或区域群集节点正在运行 Oracle RAC,请关闭您要关闭的节点上的所有数据库实例。

    有关关闭过程,请参阅 Oracle RAC 产品文档。

  2. 在要关闭的节点上,成为超级用户或使用一个可提供 solaris.cluster.admin RBAC 授权的角色。从全局群集中的某个节点执行此过程中的所有步骤。

  3. 使用 clnode evacuate 和 shutdown 命令关闭全局群集节点。使用在全局群集的某个节点上执行的 clzonecluster halt 命令关闭区域群集。(clnode evacuate 和 shutdown 命令也可用于区域群集。)

    对于全局群集,请在节点上键入以下命令将其关闭。clnode evacuate 命令可将指定节点上的所有设备组切换到下一个首选节点。此外,该命令还可将所有资源组从指定节点的全局或非全局区域切换到位于其他节点的下一个首选全局或非全局区域。

    • 在基于 SPARC 的系统上,运行以下命令。


      phys-schost# clnode evacuate node
      

      phys-schost# shutdown -g0 -y -i6
      
    • 在基于 x86 的系统上,运行以下命令。


      phys-schost# clnode evacuate node
      

      phys-schost# shutdown -g0 -y -i6
      

      显示 GRUB 菜单后,选择相应的 Solaris 条目,然后按 Enter 键。GRUB 菜单显示如下内容:


      GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
      +-------------------------------------------------------------------------+
      | Solaris 10 /sol_10_x86                                                  |
      | Solaris failsafe                                                        |
      |                                                                         |
      +-------------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press enter to boot the selected OS, 'e' to edit the
      commands before booting, or 'c' for a command-line.
    • 指定要关闭和重新引导的区域群集节点。


      phys-schost# clzonecluster reboot - node zoneclustername
      

    注 –

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


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

    • 确认全局群集节点处于联机状态。


      phys-schost# cluster status -t node
      
    • 确认区域群集节点处于联机状态。


      phys-schost# clzonecluster status
      

示例 3–11 SPARC: 重新引导全局群集节点

以下示例显示了当节点 phys-schost-1 重新引导时的控制台输出。有关该节点的消息(例如关闭和启动通知)出现在全局群集中其他节点的控制台上。


phys-schost# clnode evacuate phys-schost-1
phys-schost# shutdown -g0 -y -i6
Shutdown started.    Wed Mar 10 13:47:32 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 phys-schost-1: attempting to join cluster
...
NOTICE: Node phys-schost-1: joined cluster
...
The system is coming up.  Please wait.
The system is ready.
phys-schost-1 console login: 


示例 3–12 x86: 重新引导全局群集节点

以下示例显示了重新引导节点 phys-schost-1 时的控制台输出。有关该节点的消息(例如关闭和启动通知)出现在全局群集中其他节点的控制台上。


phys-schost# clnode evacuate phys-schost-1
phys-schost # shutdown -y -g0 -i6

GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
+-------------------------------------------------------------------------+
| Solaris 10 /sol_10_x86                                                  |
| Solaris failsafe                                                        |
|                                                                         |
+-------------------------------------------------------------------------+
Use the ^ and v keys to select which entry is highlighted.
Press enter to boot the selected OS, 'e' to edit the
commands before booting, or 'c' for a command-line.
Hostname: phys-schost-1
Booting as part of a cluster
...
NOTICE: Node phys-schost-1: attempting to join cluster
...
NOTICE: Node phys-schost-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: 


示例 3–13 重新引导区域群集节点

以下示例显示了如何重新引导区域群集中的节点。


phys-schost# clzonecluster reboot -n schost-4 sparse-sczone
Waiting for zone reboot commands to complete on all the nodes of the zone cluster "sparse-sczone"...
Sep  5 19:40:59 schost-4 cl_runtime: NOTICE: Membership : Node 3 of cluster 'sparse-sczone' died.
phys-schost# Sep  5 19:41:27 schost-4 cl_runtime: NOTICE: Membership : Node 3 of cluster 'sparse-sczone' joined.

phys-schost#
phys-schost# clzonecluster status

=== Zone Clusters ===

--- Zone Cluster Status ---
Name            Node Name   Zone HostName   Status   Zone Status
----            ---------   -------------   ------   -----------
sparse-sczone   schost-1    sczone-1        Online   Running
                schost-2    sczone-2        Online   Running
                schost-3    sczone-3        Online   Running
                schost-4    sczone-4        Online   Running

phys-schost#

Procedure如何以非群集模式引导节点

可以在非群集模式下引导全局群集节点,此时该节点不会成为群集的成员。当安装群集软件或执行某些管理过程(如修补节点)时,非群集模式很有用。区域群集节点不能处于与底层的全局群集节点的状态不同的引导状态。如果底层的全局群集节点是以非群集模式引导的,则区域群集节点也自动处于非群集模式。

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。

  1. 在将要以非群集模式启动的群集上,成为超级用户或使用一个可提供 solaris.cluster.admin RBAC 授权的角色。从全局群集中的某个节点执行此过程中的所有步骤。

  2. 通过在全局群集的节点中运行 clzonecluster halt 命令关闭区域群集节点。使用 clnode evacuate 和 shutdown 命令关闭全局群集节点。

    clnode evacuate 命令可将指定节点上的所有设备组切换到下一个首选节点。此外,该命令还可将所有资源组从指定节点的全局或非全局区域切换到位于其他节点的下一个首选全局或非全局区域。

    • 关闭特定的全局群集。


      phys-schost# clnode evacuate node
      

      phys-schost# shutdown -g0 -y
      
    • 从全局群集节点关闭特定的区域群集节点。


      phys-schost# clzonecluster halt -n node zoneclustername
      

      还可以在区域群集内使用 clnode evacuate 和 shutdown 命令。

  3. 确认全局群集节点显示 ok 提示符(在基于 Solaris 的系统上)或在 GRUB 菜单中显示消息 "Press any key to continue"(在基于 x86 的系统上)。

  4. 以非群集模式引导全局群集节点。

    • 在基于 SPARC 的系统上,运行以下命令。


      ok boot -xs
      
    • 在基于 x86 的系统上,运行以下命令。

    1. 在 GRUB 菜单中,使用方向键选择适当的 Solaris 条目,然后键入 e 编辑其命令。

      GRUB 菜单显示如下内容:


      GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
      +-------------------------------------------------------------------------+
      | Solaris 10 /sol_10_x86                                                  |
      | Solaris failsafe                                                        |
      |                                                                         |
      +-------------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press enter to boot the selected OS, 'e' to edit the
      commands before booting, or 'c' for a command-line.

      有关基于 GRUB 的引导的更多信息,请参见《系统管理指南:基本管理》中的“使用 GRUB 引导基于 x86 的系统(任务图)”。

    2. 在引导参数屏幕中,使用方向键选择内核条目,然后键入 e 编辑该条目。

      GRUB 引导参数屏幕的显示与以下内容类似:


      GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
      +----------------------------------------------------------------------+
      | root (hd0,0,a)                                                       |
      | kernel /platform/i86pc/multiboot                                     |
      | module /platform/i86pc/boot_archive                                  |
      +----------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press 'b' to boot, 'e' to edit the selected command in the
      boot sequence, 'c' for a command-line, 'o' to open a new line
      after ('O' for before) the selected line, 'd' to remove the
      selected line, or escape to go back to the main menu.
    3. 在命令中添加 -x 以指定将系统引导至非群集模式。


      [ Minimal BASH-like line editing is supported. For the first word, TAB
      lists possible command completions. Anywhere else TAB lists the possible
      completions of a device/filename. ESC at any time exits. ]
      
      grub edit> kernel /platform/i86pc/multiboot -x
    4. 按 Enter 键接受所做更改,并返回到引导参数屏幕。

      屏幕将显示编辑后的命令。


      GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
      +----------------------------------------------------------------------+
      | root (hd0,0,a)                                                       |
      | kernel /platform/i86pc/multiboot -x                                  |
      | module /platform/i86pc/boot_archive                                  |
      +----------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press 'b' to boot, 'e' to edit the selected command in the
      boot sequence, 'c' for a command-line, 'o' to open a new line
      after ('O' for before) the selected line, 'd' to remove the
      selected line, or escape to go back to the main menu.-
    5. 键入 b 将节点引导至非群集模式。


      注 –

      对内核引导参数命令所做的这一更改在系统引导后将失效。下次重新引导节点时,系统将引导至群集模式。如果希望引导至非群集模式,请重新执行上述步骤,并将 -x 选项添加到内核引导参数命令中。



示例 3–14 SPARC: 在非群集模式下引导全局群集节点

以下示例显示了当节点 phys-schost-1 关闭并以非群集模式重新启动时的控制台输出。-g0 选项表示将宽限期设置为零,-y 选项表示在接收到要求确认的问题时自动回答 yes,而 -i0 选项则表示调用运行级别 0 (零)。全局群集中其他节点的控制台上也显示此节点的关闭消息。


phys-schost# clnode evacuate phys-schost-1
phys-schost# cluster shutdown -g0 -y
Shutdown started.    Wed Mar 10 13:47:32 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 phys-schost-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: