本章介绍了规划信息和准则以安装和配置 Sun Cluster 数据服务。本章包含以下小节。
有关数据服务、资源类型、资源和资源组的概念信息,请参见《Sun Cluster 概念指南(适用于 Solaris OS)》文档。
Sun Cluster 软件只能为 Sun Cluster 产品附带的或使用 Sun Cluster 数据服务应用程序编程接口 (API) 创建的数据服务提供服务。
如果您的应用程序当前不是作为 Sun Cluster 数据服务提供的,则请参见《Sun Cluster 数据服务开发者指南(适用于 Solaris OS)》以了解有关如何为应用程序开发具有高可用性的数据服务的信息。
Sun Cluster 软件没有用于 sendmail(1M) 子系统的数据服务。Sendmail 子系统可以在单个群集节点上运行,但 sendmail 功能将不具备高可用性,包括邮件传送、邮件路由、排队或重试功能。
本节介绍了 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 的群集中使用。
每个群集节点的本地磁盘 – 将软件和配置文件放在各个群集节点上具有以下优点。您可以在以后升级应用程序软件时无需关闭服务。
缺点是您需要维护和管理软件和配置文件的若干个副本。
群集文件系统 – 如果您将应用程序二进制放在群集文件系统中,您仅需在一个位置维护和管理软件和配置文件。但是,您必须关闭整个群集中的数据服务才能升级应用程序软件。如果您可以短时间停机以进行升级,请将应用程序和配置文件的单个副本放在群集文件系统中。
有关如何创建群集文件系统的信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》的“规划”一章 。
具有高可用性的本地文件系统 – 使用 HAStoragePlus,您可以将本地文件系统集成到 Sun Cluster 环境中,从而使本地文件系统具有高可用性。HAStoragePlus 提供了诸如检查、装载和卸载等附加文件系统功能,从而使 Sun Cluster 能利用本地文件系统进行故障转移。为进行故障转移,本地文件系统必须位于启用了关系切换的全局磁盘组中。
有关如何使用 HAStoragePlus 资源类型的信息,请参见各数据服务指南或启用具有高可用性的本地文件系统。
nsswitch.conf 文件是用于名称服务查找的配置文件。此文件可确定以下信息。
Solaris 环境中要用于名称服务查找的数据库
查询数据库的顺序
某些数据服务需要您先将“组”查找定向到“文件”。对于这些数据服务,请更改 nsswitch.conf 文件中的“group”行,以便先列出“files”条目。请参见适用于要配置的数据服务的文档,以确定是否需要更改“group”行。
有关如何为 Sun Cluster 环境配置 nsswitch.conf 文件的附加信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的“规划”一章。
根据数据服务,您可能需要配置群集文件系统以满足 Sun Cluster 的要求。请参见适用于要配置的数据服务的文档,以确定是否要考虑任何特殊注意事项。
有关如何创建群集文件系统的信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》的“规划”一章 。
资源类型 HAStoragePlus 使您可以在 Sun Cluster 环境(已配置为可进行故障转移)中使用高度可用的本地文件系统。有关设置 HAStoragePlus 资源类型的信息,请参见启用具有高可用性的本地文件系统。
Sun Cluster 将节点列表的概念用于磁盘设备组和资源组。节点列表是主节点的有序列表,这些节点是磁盘设备组或资源组的潜在主节点。Sun Cluster 使用故障恢复策略来确定出现以下情况时将采取的操作:当某个节点断开后又重新链接到群集,并且这个重新链接的节点在节点列表中显示在当前主节点的前面。如果故障恢复被设置为 True,则设备组或资源组将从当前主节点切换到重新链接的节点上,使重新链接的节点成为新的主节点。
为确保故障转移资源组的高可用性,请使资源组的节点列表与相关的磁盘设备组的节点列表相匹配。对于可伸缩资源组,资源组的节点列表不能始终与设备组的节点列表相匹配,因为在目前,设备组的节点列表只能包含两个节点。对多于两个节点的群集,可伸缩资源组的节点列表可以包含两个以上节点。
例如,假设您有一个磁盘设备组 disk-group-1,其节点列表中包含节点 phys-schost-1 和 phys-schost-2,并且故障恢复策略设置为 Enabled。假设您还有一个故障转移资源组 resource-group-1,该资源组使用 disk-group-1 来保存其应用程序数据。当您设置 resource-group-1 时,也为资源组的节点列表指定了 phys-schost-1 和 phys-schost-2,并将故障恢复策略设置为 True。
为确保可伸缩资源组的高可用性,请使可伸缩资源组的节点列表成为磁盘设备组的节点列表的超集。这样做可确保直接连接到磁盘的节点也可以运行可伸缩资源组。优点是:当至少有一个连接到数据的群集节点启动时,可伸缩资源组也可在同一节点上运行,从而使可伸缩服务也可用。
有关如何设置磁盘设备组的信息,请参阅《Sun Cluster 软件安装指南(适用于 Solaris OS)》。有关磁盘设备组与资源组之间关系的详细信息,请参见《Sun Cluster 概念指南(适用于 Solaris OS)》文档 。
HAStorage 和 HAStoragePlus 资源类型可用于配置以下选项。
协调磁盘设备和资源组的引导顺序,方法是使包含 HAStorage 或 HAStoragePlus 资源的同一资源组中其他资源的 START 方法等待直到磁盘设备资源变为可用。
在将 AffinityOn 设置为 True 的情况下,强制将资源组和磁盘设备组放在同一节点上,从而提高磁盘密集型数据服务的性能。
此外,HAStoragePlus 还可以装载处于卸载状态的任何全局文件系统。有关详细信息,请参见规划群集文件系统配置。
如果在 HAStorage 或 HAStoragePlus 资源处于联机状态时将设备组切换到另一个节点,则 AffinityOn 将不会产生任何影响,并且资源组不会随该设备组移植。另一方面,如果将资源组切换到另一个节点,而 AffinityOn 被设置为 True,则会导致设备组随资源组一起移植到新节点。
有关磁盘设备组和资源组之间的关系的信息,请参见使资源组和磁盘设备组之间的启动同步。SUNW.HAStorage(5) 和SUNW.HAStoragePlus(5) 手册页介绍了其他详细信息。
有关以本地模式装载 VxFS 等文件系统的过程,请参见启用具有高可用性的本地文件系统。SUNW.HAStoragePlus(5) 手册页介绍了其他详细信息。
如果数据服务资源组的节点列表中的某些节点未直接连接到存储,则必须配置资源组中的 HAStorage 或 HAStoragePlus 资源,并设置其他数据服务资源与 HAStorage 或 HAStoragePlus 资源的依赖性。此要求可协调存储和数据服务之间的引导顺序。
如果您的数据服务是磁盘密集型数据服务(例如 Sun Cluster HA for Oracle 和 Sun Cluster HA for NFS),请确保执行以下任务。
将 HAStorage 或 HAStoragePlus 资源添加到数据服务资源组。
使 HAStorage 或 HAStoragePlus 资源切换为联机。
设置数据服务资源与 HAStorage 或 HAStoragePlus 资源的依赖性。
将 AffinityOn 设置为 True。
在执行这些任务时,资源组和磁盘设备组位于同一节点上。
资源组和设备组的故障恢复设置必须相同。
如果您的数据服务不是磁盘密集型数据服务(例如在启动时读取其所有文件的 Sun Cluster HA for DNS 等数据服务),则配置 HAStorage 或 HAStoragePlus 资源类型是可选的。
要确定在数据服务资源组中是创建 HAStorage 资源还是创建 HAStoragePlus 资源,请注意以下条件。
如果您使用的是 Sun Cluster 3.0 5/02 或 Sun Cluster 3.1,请使用 HAStoragePlus。(如果要将任何文件系统本地集成到配置为故障转移的 Sun Cluster 中,则必须升级到 Sun Cluster 3.0 5/02 或 Sun Cluster 3.1 并使用 HAStoragePlus 资源类型。有关详细信息,请参见规划群集文件系统配置。)
如果您使用的是 Sun Cluster 3.0 12/01 或更低版本,请使用 HAStorage。
请使用本节中的信息来规划任一数据服务的安装和配置。本节中的信息会促使您思考您的决定对任一数据服务的安装和配置的影响。有关数据服务的特定注意事项,请参见数据服务的文档。
如果使用的数据服务具有大量的 I/O 操作,并且已在群集中为其配置了大量磁盘,则在发生磁盘故障时,由于在 I/O 子系统中会进行多次重试,将导致应用程序出现延迟现象。I/O 子系统可能需要数分钟时间来重试和从磁盘故障中恢复。这种延迟会导致 Sun Cluster 将应用程序故障转移到另一个节点,尽管该磁盘最终可能会自行恢复。要避免在这些实例之间发生故障转移,请考虑增加数据服务的缺省探测超时时间。如果需要了解有关增加数据服务超时时间的详细信息或帮助,请与当地的支持工程师联系。
为获得更好的性能,请在直接连接到存储的群集节点上安装和配置数据服务。
在群集节点上运行的客户机应用程序不应该映射到 HA 数据服务的逻辑 IP 地址。在故障转移之后,这些逻辑 IP 地址可能将不复存在,从而导致客户机中断连接。
配置数据服务时,您可以指定以下三个节点列表。
installed_nodes – 一种用于数据服务的资源类型的特性。此特性是群集节点名称的列表,可针对这些节点名称安装资源类型并使之运行。
nodelist – 资源组的特性,此特性可按首选项顺序指定其中资源组可联机的群集节点名称的列表。这些节点被称为资源组的潜在主节点或主控节点。对于故障转移服务,仅需配置一个资源组节点列表。对于可伸缩服务,需配置两个资源组,因此需配置两个节点列表。一个资源组及其节点列表标识托管共享地址的节点。此列表是可伸缩资源所依赖的故障转移资源组的列表。另一个资源组及其列表标识托管应用程序资源的节点。应用程序资源依赖于共享地址。因此,包含共享地址的资源组的节点列表必须是应用程序资源的节点列表的超集。
auxnodelist – 共享地址资源的特性。此特性是物理节点 ID 的列表,这些节点 ID 标识可托管共享地址但在发生故障转移时从不作为主节点的群集节点。这些节点与资源组节点列表中标识的节点互相排斥。此列表仅与可伸缩服务有关。有关详细信息,请参阅 scrgadm(1M) 手册页。
请使用以下过程来安装和配置数据服务。
从提供数据服务软件包的安装介质安装该软件包。
Sun JavaTM Enterprise System CD
Sun Java Enterprise System Accessory CD Volume 3
安装和配置应用程序以在群集环境中运行。
配置数据服务所使用的资源和资源组。配置数据服务时,请指定 Resource Group Manager (RGM) 将要管理的资源类型、资源和资源组。各数据服务的文档对这些过程进行了介绍。
在安装和配置数据服务之前,请参见《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 的群集中使用。有关详细信息,请参见 SunPlex Manager 联机帮助。
下表显示了安装和配置 Sun Cluster 故障转移数据服务过程的任务图。
表 1–1 任务对应关系:Sun Cluster 数据服务的安装和配置
任务 |
有关说明,请转到 |
---|---|
安装 Solaris 和 Sun Cluster 软件 | |
设置 IP 网络多路径处理 组 | |
设置多主机磁盘 | |
规划资源和资源组 | |
确定应用程序二进制的位置,并配置 nsswitch.conf 文件 | |
安装和配置应用程序软件 |
相应的 Sun Cluster 数据服务书籍。 |
安装数据服务软件包 |
《Sun Cluster 软件安装指南(适用于 Solaris OS)》或相应的 Sun Cluster 数据服务书籍。 |
注册和配置数据服务 |
相应的 Sun Cluster 数据服务书籍。 |
本节中的示例说明了如何为已配备为高可用性故障转移数据服务的 Oracle 应用程序设置资源类型、资源和资源组。
此例与可伸缩数据服务示例之间的主要区别是,除了包含网络资源的故障转移资源组以外,可伸缩数据服务还需要用于应用程序资源的单独的资源组(称为可伸缩资源组)。
Oracle 应用程序具有两个组件:服务器和侦听程序。Sun 提供了 Sun Cluster HA for Oracle 数据服务,因此这两个组件已被映射到 Sun Cluster 资源类型。这两种资源类型均与资源和资源组相关。
因为此例是故障转移数据服务,所以此例使用逻辑主机名网络资源,即可从主节点故障转移到次节点的 IP 地址。请将逻辑主机名资源放在故障转移资源组中,然后将 Oracle 服务器资源和侦听程序资源放在同一个资源组中。这种排序使得所有资源可作为一个组进行故障转移。
对于要在群集上运行的 Sun Cluster HA for Oracle,必须定义以下对象。
LogicalHostname 资源类型 – 此资源类型是内置的,因此无需明确注册该资源类型。
Oracle 资源类型 – Sun Cluster HA for Oracle 定义两种 Oracle 资源类型:数据库服务器和侦听程序。
逻辑主机名资源 – 这些资源托管在节点故障中进行故障转移的 IP 地址。
Oracle 资源 – 必须为 Sun Cluster HA for Oracle 指定两个资源实例:服务器和侦听程序。
故障转移资源组 – 此容器由 Oracle 服务器和侦听程序以及将作为一个组进行故障转移的逻辑主机名资源组成。
本节说明了可用于执行安装和配置任务的工具。
SunPlex Manager 是基于 Web 的工具,使您可以执行以下任务。
安装群集。
管理群集。
创建和配置资源和资源组。
使用 Sun Cluster 软件配置数据服务。
有关如何使用 SunPlex Manager 来安装群集软件的说明,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》。SunPlex Manager 提供了适用于大多数管理任务的联机帮助。
Sun Cluster 模块使您可以监视群集并通过 Sun Management Center GUI 对资源和资源组执行某些操作。有关安装 Sun Cluster 模块的要求和过程的信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》。请访问 http://docs.sun.com 以查看 Sun Management Center 软件文档集,其中介绍了有关 Sun Management Center 的附加信息。
scsetup(1M) 实用程序是一个菜单驱动的界面,可以用其进行常规 Sun Cluster 管理。您也可以使用此实用程序配置数据服务资源和资源组。从 scsetup 主菜单中选择选项 2 可启动 Resource Group Manager 子菜单。
您可以使用 scrgadm 命令注册和配置数据服务资源。请通过相关数据服务书籍了解如何注册和配置数据服务。例如,如果您要使用 Sun Cluster HA for Oracle,请参见《用于 Oracle 的 Sun Cluster 数据服务指南(适用于 Solaris OS)》中的过程。第 2 章,管理数据服务资源 还包含有关如何使用 scrgadm 命令来管理数据服务资源的信息。最后,请参见 scrgadm(1M) 手册页以获得附加信息。
下表列出了除命令行以外您还可以为不同数据服务资源管理任务使用的工具。有关这些任务的详细信息以及如何使用命令行完成相关过程的详细信息,请参见第 2 章,管理数据服务资源。
表 1–2 可用于数据服务资源管理任务的工具
任务 |
SunPlex Manager |
SPARC:Sun Management Center |
scsetup 实用程序 |
---|---|---|---|
注册资源类型 |
是 |
否 |
是 |
创建资源组 |
是 |
否 |
是 |
将资源添加到资源组 |
是 |
否 |
是 |
使资源组联机 |
是 |
是 |
否 |
删除资源组 |
是 |
是 |
否 |
删除资源 |
是 |
是 |
否 |
切换资源组的当前主节点 |
是 |
否 |
否 |
禁用资源 |
是 |
是 |
否 |
将禁用了资源的资源组转为不受管理状态 |
是 |
否 |
否 |
显示资源类型、资源组和资源配置信息 |
是 |
是 |
否 |
更改资源特性 |
是 |
否 |
否 |
清除资源上的 STOP_FAILED 错误标志 |
是 |
否 |
否 |
将节点添加到资源组 |
是 |
否 |
否 |