用于 Solaris OS 的 Sun Cluster 数据服务规划和管理指南

第 1 章 规划 Sun Cluster 数据服务

本章介绍了规划信息和准则以安装和配置 Sun Cluster 数据服务。 本章包含以下小节。

有关数据服务、资源类型、资源和资源组的概念信息,请参见Sun Cluster 概念指南(适用于 Solaris OS)文档。

如果您的应用程序当前未作为 Sun Cluster 数据服务提供,则有关如何开发其他应用程序使之成为高度可用的数据服务的信息,请参见Sun Cluster 数据服务开发者指南(适用于 Solaris OS)

Sun Cluster 数据服务配置准则

本节介绍了 Sun Cluster 数据服务的配置准则。

确定数据服务特殊要求

在开始安装 Solaris 和 Sun Cluster 之前,请先标识所有数据服务的要求。 如果不这么做可能会导致安装错误,以致需要完全重新安装 Solaris 和 Sun Cluster 软件。

例如,Sun Cluster Support for Oracle Parallel Server/Real Application Clusters 的 Oracle Parallel Fail Safe/Real Application Clusters Guard 选项对于在群集中使用的主机名具有特殊要求。 Sun Cluster HA for SAP 也具有特殊要求。 由于在安装 Sun Cluster 软件之后不能再更改主机名,所以在安装 Sun Cluster 软件之前必须满足这些要求。还要注意 Sun Cluster Support for Oracle Parallel Server/Real Application Clusters 和 Sun Cluster HA for SAP 都不能在基于 x86 的群集中使用。

确定应用程序二进制的位置

您可以在以下位置之一安装应用程序软件和应用程序配置文件。

检验 nsswitch.conf 文件内容

nsswitch.conf 文件是用于名称服务查找的配置文件。 此文件可确定以下信息。

某些数据服务需要您先将“组”查找定向到“文件”。 对于这些数据服务,请更改 nsswitch.conf 文件中的“group”行,以便先列出“files”项。 请参见有关要配置的数据服务的章节,以确定是否需要更改“group”行。

有关如何为 Sun Cluster 环境配置 nsswitch.conf 文件的附加信息,请参见Sun Cluster 软件安装指南(适用于 Solaris OS)中的“规划”一章。

规划群集文件系统配置

根据数据服务,您可能需要配置群集文件系统以满足 Sun Cluster 的要求。 请参见有关要配置的数据服务的章节,以确定是否应用任何特殊注意事项。

资源类型 HAStoragePlus 使您可以在 Sun Cluster 环境(已配置为可进行故障转移)中使用高度可用的本地文件系统。 有关设置 HAStoragePlus 资源类型的信息,请参见启用具有高可用性的本地文件系统

有关如何创建群集文件系统的信息,请参见Sun Cluster 软件安装指南(适用于 Solaris OS)的“规划”一章 。

资源组和磁盘设备组之间的关系

Sun Cluster 将节点列表的概念用于磁盘设备组和资源组。 节点列表是主节点的有序列表,这些节点是磁盘设备组或资源组的潜在主节点。 Sun Cluster 使用故障恢复策略来确定出现以下情况时将采取的操作:当某个节点断开后又重新链接到群集,并且这个重新链接的节点在节点列表中显示在当前主节点的前面。 如果故障恢复被设置为 True,则设备组或资源组将从当前主节点切换到重新链接的节点上,使重新链接的节点成为新的主节点。

为确保故障转移资源组的高可用性,请使资源组的节点列表与相关的磁盘设备组的节点列表相匹配。 对于可伸缩资源组,资源组的节点列表不能始终与设备组的节点列表相匹配,因为在目前,设备组的节点列表只能包含两个节点。 对多于两个节点的群集,可伸缩资源组的节点列表可以包含两个以上节点。

例如,假设您有一个磁盘设备组 disk-group-1,其节点列表中包含节点 phys-schost-1phys-schost-2,并且故障恢复策略设置为 Enabled。 假设您还有一个故障转移资源组 resource-group-1,该资源组使用 disk-group-1 来保存其应用程序数据。 当您设置 resource-group-1 时,也为资源组的节点列表指定了 phys-schost-1phys-schost-2,并将故障恢复策略设置为 True

为确保可伸缩资源组的高可用性,请使可伸缩资源组的节点列表成为磁盘设备组的节点列表的超集。 这样做可确保直接连接到磁盘的节点也可以运行可伸缩资源组。 优点是:当至少有一个连接到数据的群集节点启动时,可伸缩资源组也可在同一节点上运行,从而使可伸缩服务也可用。

有关如何设置磁盘设备组的信息,请参阅Sun Cluster 软件安装指南(适用于 Solaris OS)。 有关磁盘设备组与资源组之间关系的详细信息,请参见Sun Cluster 概念指南(适用于 Solaris OS)文档 。

了解 HAStorageHAStoragePlus

HAStorageHAStoragePlus 资源类型可用于配置以下选项。

此外,HAStoragePlus 还可以装载处于卸载状态的任何全局文件系统。 有关详细信息,请参见规划群集文件系统配置


注意:

如果在 HAStorageHAStoragePlus 资源处于联机状态时将设备组切换到另一个节点,则 AffinityOn 将不会产生任何影响,并且资源组会随该设备组迁移。 另一方面,如果将资源组切换到另一个节点,而 AffinityOn 被设置为 True,则会导致设备组随资源组一起迁移到新节点。


有关磁盘设备组和资源组之间的关系的信息,请参见使资源组和磁盘设备组之间的启动同步 SUNW.HAStorage(5)SUNW.HAStoragePlus(5) 手册页介绍了其他详细信息。

有关以本地模式装载 VxFS 等文件系统的过程,请参见启用具有高可用性的本地文件系统 SUNW.HAStoragePlus(5) 手册页介绍了其他详细信息。

确定您的数据服务是否需要 HAStorageHAStoragePlus

HAStorageHAStoragePlus 之间进行选择

要确定在数据服务资源组中是创建 HAStorage 资源还是创建 HAStoragePlus 资源,请注意以下条件。

注意事项

请使用本节中的信息来规划任一数据服务的安装和配置。 本节中的信息会促使您思考您的决定对任一数据服务的安装和配置的影响。 有关您的数据服务的特定注意事项,请参见《用于 Solaris OS 的 Sun Cluster 数据服务规划和管理指南 》中适用于您的特定数据服务的一章。

节点列表特性

配置数据服务时,您可以指定以下三个节点列表。

  1. installed_nodes – 一种用于数据服务的资源类型的特性。 此特性是群集节点名称的列表,可针对这些节点名称安装资源类型并使之运行。

  2. nodelist – 资源组的特性,此特性可按首选项顺序指定其中资源组可联机的群集节点名称的列表。 这些节点被称为资源组的潜在主节点或主控节点。 对于故障转移服务,仅需配置一个资源组节点列表。 对于可伸缩服务,需配置两个资源组,因此需配置两个节点列表。 一个资源组及其节点列表标识托管共享地址的节点。 此列表是可伸缩资源所依赖的故障转移资源组的列表。 另一个资源组及其列表标识托管应用程序资源的节点。 应用程序资源依赖于共享地址。 因此,包含共享地址的资源组的节点列表必须是应用程序资源的节点列表的超集。

  3. auxnodelist – 共享地址资源的特性。 此特性是物理节点 ID 的列表,这些节点 ID 标识可托管共享地址但在发生故障转移时从不作为主节点的群集节点。 这些节点与资源组节点列表中标识的节点互相排斥。 此列表仅与可伸缩服务有关。 有关详细信息,请参阅 scrgadm(1M) 手册页。

安装和配置进程的概述

请使用以下过程来安装和配置数据服务。

在安装和配置数据服务之前,请参见Sun Cluster 软件安装指南(适用于 Solaris OS),其中包括有关如何安装数据服务软件包以及如何配置网络资源所使用的 网际协议网络多路径处理(IP 网络多路径处理) 组的过程。


注意:

您可以使用 SunPlexTM Manager 来安装和配置以下数据服务: Sun Cluster HA for Oracle、Sun Cluster HA for Sun Java System Web Server、Sun Cluster HA for Sun Java System Directory Server、Sun Cluster HA for Apache、Sun Cluster HA for DNS 和 Sun Cluster HA for NFS。 请注意,仅支持 Sun Cluster HA for Oracle 和 Sun Cluster HA for Apache 在基于 SPARC 的群集中使用。 有关详细信息,请参见 SunPlexTM Manager 联机帮助。


安装和配置任务流程

下表显示了安装和配置 Sun Cluster 故障转移数据服务过程的任务图。

表 1–1 任务图: Sun Cluster 数据服务的安装和配置

任务 

有关说明,请转到  

安装 Solaris 和 Sun Cluster 软件 

Sun Cluster 软件安装指南(适用于 Solaris OS)

设置 IP 网络多路径处理 组 

Sun Cluster 软件安装指南(适用于 Solaris OS)

设置多主机磁盘 

Sun Cluster 软件安装指南(适用于 Solaris OS)

规划资源和资源组 

附录 C,数据服务配置工作单和示例

确定应用程序二进制的位置,并配置 nsswitch.conf 文件

确定应用程序二进制的位置

检验 nsswitch.conf 文件内容

安装和配置应用程序软件 

相应的 Sun Cluster 数据服务书籍。  

安装数据服务软件包 

Sun Cluster 软件安装指南(适用于 Solaris OS)或相应的 Sun Cluster 数据服务书籍。

注册和配置数据服务  

相应的 Sun Cluster 数据服务书籍。  

SPARC: 示例

本节中的示例说明了如何为已配备为高可用性故障转移数据服务的 Oracle 应用程序设置资源类型、资源和资源组。

此例与可伸缩数据服务示例之间的主要区别是,除了包含网络资源的故障转移资源组以外,可伸缩数据服务还需要用于应用程序资源的单独的资源组(称为可伸缩资源组)。

Oracle 应用程序具有两个组件:服务器和侦听程序。 Sun 提供了 Sun Cluster HA for Oracle 数据服务,因此这两个组件已被映射到 Sun Cluster 资源类型。 这两种资源类型均与资源和资源组相关。

因为此例是故障转移数据服务,所以此例使用逻辑主机名网络资源,即可从主节点故障转移到次节点的 IP 地址。 请将逻辑主机名资源放在故障转移资源组中,然后将 Oracle 服务器资源和侦听程序资源放在同一个资源组中。 这种排序使得所有资源可作为一个组进行故障转移。

对于要在群集上运行的 Sun Cluster HA for Oracle,必须定义以下对象。

数据服务资源管理的工具

本节说明了可用于执行安装和配置任务的工具。

SunPlexTM Manager 图形用户界面 (GUI)

SunPlexTM Manager 是基于 Web 的工具,使您可以执行以下任务。

有关如何使用 SunPlexTM Manager 来安装群集软件的说明,请参见Sun Cluster 软件安装指南(适用于 Solaris OS)。 SunPlexTM Manager 为大多数管理任务提供了联机帮助。

SPARC: 用于 Sun Management Center GUI 的 Sun Cluster 模块

Sun Cluster 模块使您可以监视群集并通过 Sun Management Center GUI 对资源和资源组执行某些操作。 有关安装 Sun Cluster 模块的要求和过程的信息,请参见Sun Cluster 软件安装指南(适用于 Solaris OS)。 请访问 http://docs.sun.com 以查看 Sun Management Center 软件文档集,其中介绍了有关 Sun Management Center 的附加信息。

scsetup 公用程序

scsetup(1M) 公用程序是一个菜单驱动的界面,可以用其进行常规 Sun Cluster 管理。 您也可以使用此公用程序配置数据服务资源和资源组。 从 scsetup 主菜单中选择选项 2 可启动 Resource Group Manager 子菜单。

scrgadm 命令

您可以使用 scrgadm 命令注册和配置数据服务资源。 请通过相关数据服务书籍了解如何注册和配置数据服务。 例如,如果您要使用 Sun Cluster HA for Oracle,请参见用于 Oracle 的 Sun Cluster 数据服务指南(适用于 Solaris OS)中的过程。 第 2 章,管理数据服务资源 还包含有关如何使用 scrgadm 命令来管理数据服务资源的信息。 最后,请参见 scrgadm(1M) 手册页以获得附加信息。

数据服务资源管理任务

下表列出了除命令行以外您还可以为不同数据服务资源管理任务使用的工具。 有关这些任务的详细信息以及如何使用命令行完成相关过程的详细信息,请参见第 2 章,管理数据服务资源

表 1–2 可用于数据服务资源管理任务的工具

任务 

SunPlexTM Manager

SPARC:Sun Management Center 

scsetup 公用程序

注册资源类型 

是 

否 

是 

创建资源组 

是 

否 

是 

将资源添加到资源组 

是  

否 

是 

使资源组联机  

是 

是 

否 

删除资源组 

是 

是 

否 

删除资源 

是 

是 

否 

切换资源组的当前主节点  

是 

否 

否 

禁用资源 

是 

是 

否 

将禁用了资源的资源组转为不受管理状态 

是 

否  

否 

显示资源类型、资源组和资源配置信息 

是 

是  

否 

更改资源特性 

是  

否 

否 

清除资源上的 STOP_FAILED 错误标志

是  

否 

否 

将节点添加到资源组 

是  

否 

否 

Sun Cluster 数据服务故障监视器

本节提供了有关数据服务故障监视器的一般信息。 Sun 提供的数据服务包含内置于软件包中的故障监视器。 故障监视器(或故障探测)是探测数据服务的运行状况的进程。

故障监视器调用

使资源组及其资源联机时,RGM 将调用故障监视器。 此调用会使 RGM 内部调用用于数据服务的 MONITOR_START 方法。

故障监视器可执行以下两种功能。

监视服务器进程的不正常退出

进程监视器工具 (PMF) 可监视数据服务进程。

数据服务故障探测以无限循环运行,并进行休眠(时间为资源特性 Thorough_probe_interval 设置的可调时间)。 进行休眠时,探测将使用 PMF 进行检查以确定进程是否已退出。 如果进程已退出,探测会将数据服务的状态更新为“服务守护程序未运行”,并采取措施。 该操作可以包括在本地重新启动数据服务或将数据服务故障转移到次群集节点。 要确定是重新启动数据服务还是故障转移数据服务,探测将检查数据服务应用程序资源的资源特性 Retry_countRetry_interval 中设置的值。

检查数据服务的运行状况

通常,探测和数据服务之间通过专用命令或与指定数据服务端口的成功连接来进行通信。

探测使用的逻辑大致如下所示。

  1. 进行休眠 (Thorough_probe_interval)。

  2. 在超时特性 Probe_timeout 下执行运行状况检查。 Probe_timeout 是您可以设置的每个数据服务的资源扩展特性。

  3. 如果步骤 2 成功,即服务运行正常,请更新成功/失败历史记录。 要更新成功/失败历史记录,请清除早于为资源特性 Retry_interval 设置的值的所有历史记录。 探测会将资源的状态消息设置为“服务处于联机状态”,并返回步骤 1。

    如果步骤 2 的结果是失败,则探测将更新失败历史记录。 然后探测将计算运行状况检查失败的总次数。

    运行状况检查结果的范围为从完全失败到成功。 对结果的解释取决于特定的数据服务。 请考虑一种情况:探测可以成功连接到服务器并将握手消息发送到服务器,但是探测在超时之前仅收到部分响应。 这种情况很可能是系统负载过重的结果。 如果采取了某个操作(例如重新启动服务),客户机将重新连接到该服务,这会进一步使系统负载过重。 如果发生此事件,数据服务故障监视器会确定不将此“部分”失败视为致命失败, 而是将此失败记录为服务的非致命探测。 这些部分失败仍在 Retry_interval 特性指定的时间间隔内进行累计。

    但是,如果探测根本无法连接到服务器,则可以将该失败视为致命失败。 部分失败以小于一的数作为失败计数。 每次失败计数达到总失败次数(按一个致命失败或部分失败累计结果计算)后,探测将重新启动数据服务或故障转移数据服务以尝试更正该状况。

  4. 如果步骤 3 中的计算结果(历史记录时间间隔中的失败次数)小于资源特性 Retry_count 的值,则探测将尝试在本地更正该状况(例如通过重新启动服务)。 探测会将资源的状态消息设置为“服务已降级”,并返回步骤 1。

  5. 如果 Retry_interval 中的失败次数超出了 Retry_count,则探测将调用带有“停止”选项的 scha_control。 此选项将请求服务的故障转移。 如果此请求成功,则故障探测将在此节点上停止。 探测会将资源的状态消息设置为“服务已失败”。

  6. Sun Cluster 框架会因各种原因拒绝上一步骤中发出的 scha_control 请求。 scha_control 的返回代码将标识原因。 探测将检查返回代码。 如果 scha_control 被拒绝,探测将重置失败/成功历史记录并重新启动。 此探测重置历史记录的原因是失败次数已超出 Retry_count,故障探测可能会尝试在每个后续迭代中发出 scha_control(可能会再次被拒绝)。 此请求可能会在系统中安置额外负载,并可能会增加更多服务失败的可能性。

    随后探测将返回步骤 1。