Sun Cluster Geographic Edition 软件借助地理上相互分开的多个群集来保护应用程序免受意外破坏。这些群集包含了完全一样的 Sun Cluster Geographic Edition 基础结构副本,这些副本负责在群集之间管理复制数据。Sun Cluster Geographic Edition 软件是 Sun Cluster 软件的分层扩展。
本章包含以下几节:
在开始执行管理任务之前,请先熟悉《Sun Cluster Geographic Edition 安装指南》和《Sun Cluster Geographic Edition 概述》中的规划信息。本指南包含了用于管理和维护 Sun Cluster Geographic Edition 配置的标准任务。
有关 Sun Cluster、数据服务以及硬件管理的常规任务,请参考 Sun Cluster 文档。
您可以在运行 Sun Cluster Geographic Edition 软件的群集上执行所有的管理任务,而不会导致任何节点或群集发生故障。您可以在正常运行的群集上安装、配置、启动、使用、停止以及卸载 Sun Cluster Geographic Edition 软件。
执行预备操作(比如安装数据复制软件和执行 Sun Cluster 管理任务)时,可能需要使节点或群集进入脱机状态。有关管理限制的信息,请参考相应的产品文档。
您可以使用图形用户界面 (GUI) 或命令行界面 (CLI) 在运行 Sun Cluster Geographic Edition 软件的群集上执行管理任务。
本指南介绍了使用 CLI 执行管理任务的具体过程。
Sun Cluster 软件支持 SunTM Cluster Manager,后者是一种可用于在群集上执行各种管理任务的 GUI 工具。有关如何使用 Sun Cluster Manager 的特定信息,请参见 Sun Cluster 联机帮助。
要使用 Sun Cluster Manager – Geographic Edition GUI 来管理 Sun Cluster Geographic Edition 软件,应确保具有伙伴关系的两个群集中所有节点上的超级用户密码相同。
只有使用 geoadm start 命令启用了 Sun Cluster Geographic Edition 软件的基础结构,您才能使用 GUI 来管理该软件。请使用 shell 来运行 geoadm start 和 geoadm stop 命令。有关启用和禁用 Sun Cluster Geographic Edition 基础结构的信息,请参见第 3 章,管理 Sun Cluster Geographic Edition 基础结构。
GUI 不支持在伙伴关系之外创建自定义心跳。如果想要在加入伙伴关系的操作中指定自定义心跳,请使用 CLI 来运行 geops join-partnership 命令。
要启动 GUI,请在任一启用了 Java 和 Javascript 的浏览器中转到以下 URL,并以超级用户身份登录到 Sun 管理控制台。
在 GUI 中,系统不支持 RBAC。
https://clustername:6789 |
表 1–1 列出了可用于管理 Sun Cluster Geographic Edition 软件的命令。有关各个命令的更多信息,请参阅《Sun Cluster Geographic Edition 参考手册》。
表 1–1 Sun Cluster Geographic Edition CLI
命令 |
说明 |
---|---|
geoadm |
在本地群集上启用或禁用 Sun Cluster Geographic Edition 软件,并显示本地群集的运行时状态 |
geohb |
配置和管理随 Sun Cluster Geographic Edition 软件一起提供的心跳机制 |
geops |
创建和管理群集之间的伙伴关系 |
geopg |
配置和管理保护组 |
本节提供了一个灾难恢复示例以及管理员可能需要执行的操作。
X 公司有两个在地理上处于不同位置的群集:cluster-paris 位于巴黎,cluster-newyork 位于纽约。这些群集已配置为伙伴群集。在巴黎的群集被配置为主群集,在纽约的群集被配置为辅助群集。
在发生风暴时出现了电源故障,这导致 cluster-paris 群集暂时出现故障。管理员可能要面对以下事件:
cluster-paris 和 cluster-newyork 之间的心跳通信丢失。由于在创建伙伴关系时配置了心跳通知,因此系统会向管理员发送心跳丢失通知电子邮件。
有关配置伙伴关系和心跳通知的信息,请参见创建和修改伙伴关系。
管理员收到通知电子邮件,然后按照公司流程检验是否因需要由辅助群集进行接管的情况而发生了连接中断。由于接管过程可能持续较长时间(具体情况取决于所保护的应用程序的需要),因此 X 公司不允许进行接管,除非主群集无法在两个小时以内修复。
有关检验系统的连接中断故障的信息,请参见以下数据复制指南之一:
由于群集 cluster-paris 至少还需要一天的时间恢复联机,因此管理员会在位于纽约的群集中的某个节点上运行 geopg takeover 命令。此命令会启动位于纽约的辅助群集 cluster-newyork 上的保护组。
有关在系统上执行接管操作的信息,请参见以下数据复制指南之一:
执行接管操作之后, 辅助群集 cluster-newyork 将成为新的主群集。但位于巴黎的故障群集仍被配置为主群集。因此,当 cluster-paris 群集重新启动后,它会检测到主群集已关闭,从而失去与伙伴群集的联系。之后,群集 cluster-paris 进入错误状态,您必须执行相应的管理操作来修复该错误。此外,您可能还需要恢复并重新同步该群集上的数据。
有关执行接管后恢复数据的信息,请参见以下数据复制指南之一:
本节介绍了在创建将由 Sun Cluster Geographic Edition 软件管理的应用程序时必须遵循的指导。
在创建要由 Sun Cluster Geographic Edition 软件管理的应用程序之前,请确认该应用程序是否满足以下要求,以便具有高可用性或可伸缩性。
如果应用程序不能满足所有要求,请修改应用程序源代码以使其具有高可用性或可伸缩性。
在 Sun Cluster Geographic Edition 环境中,无论是网络感知(客户机-服务器模型)应用程序还是网络无感知(无客户机)应用程序均有可能具有高可用性或可伸缩性。但是,在分时环境中,Sun Cluster Geographic Edition 无法提供增强的可用性;在该环境中,应用程序均在服务器上运行,而该服务器要通过 telnet 或 rlogin 访问。
该应用程序必须具有崩溃容限能力。也就是说,如果在节点发生意外毁坏的情况后启动应用程序,该应用程序必须能够在启动时恢复磁盘数据(如果有必要)。而且,崩溃后的恢复时间必须在限定范围内。崩溃容限是使应用程序具有高可用性的前提条件,因为恢复磁盘和重启应用程序的功能实质上是为了保持数据的完整性。不要求数据服务具有恢复连接的功能。
应用程序不得依赖于正在运行该应用程序的节点的物理主机名。
应用程序必须能够在多个 IP 地址被配置为“启用”的环境中正常运行。例如,节点位于多个公共网络中的多宿主 (multihomed) 主机环境,以及在一个硬件接口上多个逻辑接口被配置为“启用”的节点环境。
应用程序二进制文件和库都可以位于各个本地节点或本地群集文件系统中。位于群集文件系统中的优点在于进行单个安装就可以了。缺点是,当您对 Sun Cluster 软件进行滚动升级时,系统正在使用二进制文件,但应用程序却是在资源组管理器 (Resource Group Manager, RGM) 的控制之下运行的。
客户机必须能够在首次查询超时后自动重试该查询。如果应用程序与协议已能处理单个服务器崩溃及重新引导的问题,则它们也能处理其中所含资源组的故障转移或切换问题。
应用程序在群集文件系统中不得具有 UNIX® 域套接字或命名管道。
可伸缩服务必须满足上述所有高可用性条件以及下面的附加要求。
应用程序必须具有运行多个实例的能力,所有实例都在群集文件系统中相同的应用程序数据上进行操作。
应用程序必须保持数据一致性,以便从多个节点同时进行访问。
应用程序必须通过全局可视机制(例如群集文件系统)实现充分锁定。
对于可伸缩服务,应用程序的特征也可以确定负载平衡策略。例如,允许任一实例响应客户机请求的负载平衡策略 Lb_weighted 不能用于使用服务器内存中的高速缓存进行客户机连接的应用程序。在这种情况下,您应该指定一个负载平衡策略,以限制指定客户机到应用程序的一个实例的通信。负载平衡策略 Lb_sticky 和 Lb_sticky_wild 可反复将客户机发出的所有请求发送到同一应用程序实例。在该实例中,这些请求可使用内存中的高速缓存。 如果传入的多条客户机请求来自不同客户机,RGM 会在该服务的所有实例中分配这些请求。
有关为可伸缩数据服务设置负载平衡策略的更多信息,请参见《Sun Cluster Data Services Developer’s Guide for Solaris OS》中的第 2 章 “Developing a Data Service”。
应用程序必须能够满足以下数据复制要求:
所复制的信息不得特定于主机或群集。
当该应用程序故障转移到远程站点时,它可能会在具有不同 IP 地址的主机上运行。为使客户机节点能找到该远程站点,请使用 Sun Cluster Geographic Edition 操作脚本更新 DNS/NIS 映射。
如果不希望应用程序出现任何数据丢失的情况,应用程序应使用同步复制。