8 微调 ACSLS HA

本章介绍如何在复合磁带库中设置一个最佳的故障转移策略,如何调整默认乒乓 (pingpong) 间隔以避免不必要的故障恢复事件,以及如何注册故障转移事件的电子邮件通知。

为磁带库通信定义故障转移策略

ACSLS HA 代理持续监视 ACSLS 与所连接的磁带库之间的通信。此类通信对于确保持续的 ACSLS 运行至关重要。但是,在磁带库通信失败时应当采取什么操作(如果有)取决于本地 ACSLS HA 管理员确定的策略。

本地管理员可使用策略表 $ACS_HOME/acslsha/ha_acs_list.txt 来定义需要 HA 恢复的任何 ACS 所需的故障转移操作。当发生磁带库通信故障时,根据管理员的指令,如果备用节点上已确认 ACS 通信成功,则 ACSLS HA 代理将故障转移到备用节点。

在多 ACS 环境中,当与任何单一 ACS 之间的通信故障时,ACSLS HA 系统可能需要进行故障转移。但是,因为任何故障转移操作都会中断所有连接的磁带库的生产,所以,管理员更愿意将常规故障转移操作限定到数据中心中更关键的 ACS。在 ha_acs_list.txt 中为当磁带库通信中断时需要执行群集故障转移操作的每个 ACS 创建了一条策略记录。每条记录包含两个字段:

ACS Number   Fail-over Action (true or false)

第一个字段是 ACS ID,第二个字段是布尔值 truefalse。策略设置的逻辑如下所述:

  • 当第二个字段为 false 时,ACSLS HA 代理将不会启动到备用节点的群集故障转移操作,即使到 ACS 的通信失败并且无法恢复也是如此。

  • 当第二个字段为 true 时,ACSLS HA 代理将在每次尝试从主节点重新建立通信失败后请求群集故障转移操作。只有当在备用节点上确认了磁带库通信后,系统才会进行故障转移。

对于此文件中未列出的任何 ACS,默认操作均为 false

具有冗余电子设备 (Redundant Electronics, RE) 的磁带库

对于具有冗余电子设备 (Redundant Electronics, RE) 的磁带库,ACSLS HA 代理在采取群集故障转移操作之前会尝试将通信切换到备用 RE 路径。此 RE 切换操作仅适用于单一 SL8500、SL3000 或具有双 LMU 的较旧 9310。在分区的磁带库上不会尝试自动化 RE 切换。

设置故障转移 Pingpong_interval

Solaris Cluster Pingpong_interval 是一个超时属性,用于防止在首次执行群集故障转移事件后无法完全恢复时重复执行故障转移操作。

这是 ACSLS 资源组中用户可修改的一个属性。默认值设置为 20 分钟。使用此设置时,首次故障转移事件在 ACSLS HA 代理请求故障转移操作时会立即发生。但是,如果在新节点上未清除可能触发故障转移操作的状况,则后续的故障转移操作将延迟,直至经过所定义的乒乓 (pingpong) 间隔。这可以防止在群集节点之间不必要地来回转移控制权,直至解决根本问题。

要更改此属性的默认设置,可以修改文件 $ACS_HOME/acslsha/pingpong_interval 中定义的默认数字。该数字是用秒表示的。

默认设置 1200 秒是对于大多数大中型磁带库配置都比较合理的一个设置。此属性的最佳超时值取决于磁带库配置中存在的 LSM 和磁带机的实际数目。较大的磁带库配置在发生故障转移事件后需要较长的时间进行恢复,因此,对于配置有十个以上 LSM 或四十个以上磁带机(或同时配置有两者)的系统,该数字应当设置为一个较长的间隔。

对于四十个 LSM 的配置,建议使用 1800 秒(30 分钟)的设置,对于配置有一到四个 LSM 的较小磁带库,建议使用 900 秒(15 分钟)的设置。

直到您使用 acsAgt configure 命令重新配置 ACSLS HA 后,您在此处进行的更改才会生效。

# cd /opt/ACSLSHA/util
# ./acsAgt configure

即使 acsls-rg 资源组已处于活动状态,仍可能会断言此命令。它会注册新的默认设置,但不影响正常的 HA 运行。

出于测试目的,可以使用 acsAgt pingpong 动态更改 pingpong_interval 设置。使用此命令设置的值在您使用 acsAgt configure 重新启动资源组之前将一直有效。

注册系统事件的电子邮件通知

具有管理职责的用户可以注册系统事件(包括系统引导事件和 ACSLS HA 群集故障转移事件)的自动电子邮件通知。

要注册此类事件,用户必须在以下目录中的各自文件中添加其电子邮件地址:

$ACS_HOME/data/external/email_notification/
   boot_notification
   ha_failover_notification

将每个目标收件人的电子邮件地址放置在标头注释下的单个行中。此后,每当系统引导或者 HA 群集故障转移到备用节点时,每个已注册用户将通过电子邮件收到通知。

此功能假定已在 ACSLS 服务器上启用了 sendmail 服务,并且网络防火墙约束允许来自数据中心的电子邮件通信。