| 中国 |
|
|
|
![]() |
使用 ServiceGuard OPS Edition 配置 OPS 群集 > 第 5 章 建立
OPS 群集配置管理正在运行的群集 |
|
本节描述了一些对群集进行例行管理的方法。其他工具和建议可在第 7 章“第 7 章“群集和程序包维护””中找到。 通过 ServiceGuard Manager,您可以看到群集中的所有节点和程序包,并显示它们的当前状态。请参考第 7 章中的““使用 ServiceGuard Manager””。以下是使用 ServiceGuard Manager 的一些建议:
当确定群集已正确配置之后,请在一个文件中保存配置数据的副本,以便进行归档。此文件中的数据可以与以后的群集数据进行比较,以便了解群集数据在一段时间内的变化。 ServiceGuard 还提供了以下几个命令,用于手动控制群集:
可以使用这些命令测试群集的运行情况,如下所述:
其他群集测试在“第 8 章“排除群集故障””一章中讲述。有关 MC/ServiceGuard 命令的完整列表,请参考附录 A。 一定要避免 /etc/lvmrc 文件在系统引导时自动激活 OPS 和程序包卷组,这一点非常重要。要确保此情况不会发生,请编辑所有节点上的 /etc/lvmrc 文件。将 AUTO_VG_ACTIVATE 设置为 0,然后将未与群集绑定的卷组包括在 custom_vg_activation 函数中。此文件中不应包括将由程序包使用的卷组,因为这些卷组将由控制脚本激活和停用。
自动启动是每个节点分别加入群集的过程。为控制此过程,ServiceGuard 提供了一个启动脚本。如果群集已经存在,节点则试图加入群集;如果没有任何群集正在运行,节点就会试图组成一个包含所有已配置的节点的群集。自动群集启动是启动群集的首选方式。系统管理员无须进行任何操作。 要启用自动群集启动,请在群集中每个节点上的 /etc/rc.config.d/cmcluster 文件中将 AUTOSTART_CMCLD 标志设置为 1;这样,节点即可在引导时加入群集。 下面是 /etc/rc.config.d/cmcluster 文件的一个示例:
修改系统的登录消息并使之包含如下所示的语句,是非常有帮助的:
可以在该消息中包含所有群集节点的列表以及群集的其他特定消息。 可以定制 /etc/issue 和 /etc/motd 文件,使其包括与群集相关的信息。 为使群集节点上的 OPS 实例可以自动启动和关闭,您可以创建程序包,并使这些程序包可以激活适当的卷组,然后运行 OPS。请参考“第 6 章“配置程序包及其服务””一章中的““创建程序包以启动 OPS 实例””一节。
Oracle 安装完成之后,请确保所有程序包控制脚本在每个节点上都已准备就绪,而且每个 /etc/rc.config.d/cmcluster 脚本都包含 AUTOSTART_CMCLD=1 条目。然后重新引导每个节点。重新引导后几分钟内,群集就会重组,而且程序包控制脚本将启动数据库实例和应用程序。 Oracle 启动之后,可以在两个节点上使用 SAM 进程管理功能或 ps -ef 命令来验证所有 OPS 守候进程和 Oracle 进程是否都在运行。 MC/ServiceGuard 群集需要的节点数取决于您希望保护的应用程序的处理要求。您可以通过配置单节点群集来充分利用 MC/ServiceGuard 的网络故障保护优势。 在单节点群集中,由于群集中没有其他节点,因此群集锁是不必要的。如果仅有一个节点,cmquerycl 命令的输出将省略群集锁信息区域。 您仍然需要具有冗余网络,但是不必指定任何心跳线 LAN,因为没有接收心跳线信息的其他节点。在群集配置 ASCII 文件中,请指定希望 ServiceGuard 监视的所有 LAN。对于已有 IP 地址的 LAN,可以使用 STATIONARY_IP 关键字(而非 HEARTBEAT_IP 关键字)指定它们。对于备用 LAN,所要求的关键字是指定了 LAN 设备名的 NETWORK_INTERFACE。 单节点操作既可在单节点群集上运行,也可在多节点群集上运行。当多节点群集出现以下情况时就会执行单节点操作:除一个节点之外其他节点都出现了故障;或除一个节点外其他节点都已关闭,此节点上可能正在运行应用程序。只要 MC/ServiceGuard 守候进程 cmcld 处于活动状态,其他节点就可稍后重新加入群集。 运行单节点操作时,如果 MC/ServiceGuard 守候进程出现了故障,则它将保持单节点和应用程序继续运行。这与多节点群集中的 MC/ServiceGuard 守候进程故障不同,多节点群集通过 TOC 暂停节点并导致程序包切换到代管节点。这种情况下,不需要暂停此单节点,因为应用程序仍在运行,并且当前没有其他节点可用于进行程序包切换。但是,不要尝试重新启动 MC/ServiceGuard,因为如果另一节点尝试启动正在单节点上运行的应用程序的新实例时,可能会发生数据破坏。请不要重新启动群集,而应该选择合适的时间关闭并重新启动节点,这样将允许应用程序关闭,然后允许 MC/ServiceGuard 在重新引导后重新启动群集。 可以通过 SAM 或执行 cmdeleteconf 命令从所有群集节点上删除群集配置。如果未使用 -f 选项,删除文件之前会提示进行确认。只有在群集停用时才能删除配置。此操作将二进制配置文件从群集中的所有节点上删除,并将所有可识别群集的卷组设置为“不可识别群集的”。
尽管群集必须暂停,但在执行 cmdeleteconf 命令之前群集中的所有节点必须都已加电并且可以访问。如果某一节点掉电,请加电并引导。如果某一节点不可访问,将显示不可访问节点的列表以及以下消息:
回答Yes 删除配置。稍后,如果不可访问的节点又可以访问了,则应在该节点上运行 cmdeleteconf 命令删除配置文件。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||