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

关闭和引导群集概述

Sun Cluster 的 cluster(1CL) shutdown 命令可以有序地停止群集服务,并彻底关闭整个群集。您可以在移动群集位置时使用 cluster shutdown 命令。此外,当应用程序错误导致数据受损时,也可使用该命令关闭群集。


注 –

为确保正确关闭整个群集,请使用 cluster shutdown 命令,而不是 shutdownhalt 命令。Solaris shutdown 命令可与 clnode(1CL) evacuate 命令一起使用以关闭单个节点。有关更多信息,请参见如何关闭群集关闭和引导单个群集节点


cluster shutdown 命令可停止群集的所有节点。该命令所执行的具体操作如下:

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

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

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

  4. 运行 init 0,并使所有节点转到 OpenBootTM PROM ok 提示符(在基于 SPARC 的系统中),或 GRUB 菜单(在基于 x86 的系统中)。《System Administration Guide: Basic Administration》中的第 11  章 “GRUB Based Booting (Tasks)”对 GRUB 菜单进行了更为详细的介绍。


注 –

根据需要,您可以在非群集模式下引导节点,这样,节点便不是群集成员。非群集模式在安装群集软件或执行某些管理过程时很有用。有关更多信息,请参见如何在非群集模式下引导群集节点


表 3–1 任务列表:关闭和引导群集

任务 

指导 

停止群集。 

    - 使用 cluster(1CL) shutdown

如何关闭群集

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

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

如何引导群集

重新引导群集。 

    - 使用 cluster shutdown

出现 Press any key to continue 消息后,可按任意键逐个引导节点。

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

如何重新引导群集

Procedure如何关闭群集


注意 – 注意 –

不要在群集控制台上用 send brk 来关闭群集节点。群集内部不支持该命令。


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

  1. SPARC:如果群集正在运行 Oracle Parallel Server 或 Oracle Real Application Clusters (RAC),请关闭所有数据库实例。

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

  2. 在群集的任意节点上,成为超级用户或使用一个可提供 solaris.cluster.admin RBAC 授权的角色。

  3. 立即关闭群集。

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


    # cluster shutdown -g0 -y
    
  4. 检验所有节点是否显示 ok 提示符(在基于 SPARC 的系统中),或显示 GRUB 菜单(在基于 x86 的系统中)。

    除非所有群集节点在基于 SPARC 的系统上均显示 ok 提示符或在基于 x86 的系统上均处于引导子系统中,否则,请勿关闭任何节点的电源。


    # cluster status -t node
    
  5. 如有必要,关闭节点电源。


示例 3–1 SPARC: 关闭群集

以下示例显示了当系统停止正常的群集操作并关闭所有节点以显示 ok 提示符时控制台的输出。-g 0 选项表示将关闭宽限期设置为零,-y 选项表示在接收到要求确认的问题时自动回答 yes。群集中其他节点的控制台上也显示关闭消息。


# cluster 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.
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 


示例 3–2 x86: 关闭群集

以下示例显示了当系统停止正常的群集操作并关闭所有节点后控制台的输出。在该示例中,所有节点上都不显示 ok 提示符。-g 0 选项表示将关闭宽限期设置为零,-y 选项表示在接收到要求确认的问题时自动回答 yes。群集中其他节点的控制台上也显示关闭消息。


# cluster shutdown -g0 -y
May  2 10:32:57 phys-schost-1 cl_runtime: 
WARNING: CMM: Monitoring disabled.  
root@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 already disabled on node 1
Print services already stopped.
May  2 10:33:13 phys-schost-1 syslogd: going down on signal 15
The system is down.
syncing file systems... done
Type any key to continue 

另请参见

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

Procedure如何引导群集

此过程说明了当群集的节点已关闭且正在显示 ok 提示符(在 SPARC 系统中)或 Press any key to continue 消息(在基于 GRUB 的 x86 系统中)时,如何启动该群集。

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

  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.

    注 –

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


    有关基于 GRUB 进行引导的更多信息,请参见《System Administration Guide: Basic Administration》中的第 11  章 “GRUB Based Booting (Tasks)”

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

    cluster(1CL) status 命令可报告节点的状态。


    # cluster status -t node
    

    注 –

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



示例 3–3 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 with votecount = 1 added.
NOTICE: Node phys-schost-2 with votecount = 1 added.
NOTICE: Node phys-schost-3 with votecount = 1 added.
...
NOTICE: Node phys-schost-1: attempting to join cluster
...
NOTICE: Node phys-schost-2 (incarnation # 937690106) has become reachable.
NOTICE: Node phys-schost-3 (incarnation # 937690290) has become reachable.
NOTICE: cluster has reached quorum.
NOTICE: node phys-schost-1 is up; new incarnation number = 937846227.
NOTICE: node phys-schost-2 is up; new incarnation number = 937690106.
NOTICE: node phys-schost-3 is up; new incarnation number = 937690290.
NOTICE: Cluster members: phys-schost-1 phys-schost-2 phys-schost-3.
...

Procedure如何重新引导群集

先运行 cluster(1CL) shutdown 命令关闭群集,然后再在每个节点上使用 boot(1M) 命令引导群集。

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

  1. SPARC:如果群集运行的是 Oracle Parallel Server 或 Oracle RAC,则应关闭数据库的所有实例。

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

  2. 在群集的任意节点上,成为超级用户或使用一个可提供 solaris.cluster.admin RBAC 授权的角色。

  3. 关闭群集。

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


    # cluster shutdown -g0 -y 
    

    将关闭所有节点。


    注 –

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


  4. 引导每个节点。

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

    • 在基于 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.

    注 –

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


    有关基于 GRUB 进行引导的更多信息,请参见《System Administration Guide: Basic Administration》中的第 11  章 “GRUB Based Booting (Tasks)”

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

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

    scstat 命令报告节点状态。


    # cluster status -t node
    

    注 –

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



示例 3–4 SPARC: 重新引导群集

以下示例显示了当系统停止正常的群集操作时控制台的输出。此时,所有节点已关闭并显示 ok 提示符,群集重新启动。-g 0 选项表示将宽限期设置为零,-y 选项表示在接收到要求确认的问题时自动回答 yes。群集中其它节点的控制台上也显示关闭消息。


# cluster 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.
...
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 phys-schost-1: attempting to join cluster
...
NOTICE: Node phys-schost-2 (incarnation # 937690106) has become reachable.
NOTICE: Node phys-schost-3 (incarnation # 937690290) has become reachable.
NOTICE: cluster has reached quorum.
...
NOTICE: Cluster members: phys-schost-1 phys-schost-2 phys-schost-3.
...
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:
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: