群集控制器节点在任何指定时间均处于以下几种状态之一:
|
这些状态之间的转换发生在两项操作过程中:接管和故障恢复。
接管可在任何时间发生,只要检测到对等设备故障就会尝试接管。也可使用群集配置 CLI 或 BUI 手动触发它,这可能比较适合用于测试。最后,在引导一台控制器且检测到其对等设备不存在时将进行接管。这样一来,可以在一台控制器永久发生故障或两台控制器暂时断电时正常恢复服务。
故障恢复从不自动执行。修复并引导发生故障的控制器后,它将重新链接群集(重新同步所有资源、资源属性和资源所有权的配置),并继续等待管理员执行故障恢复操作。在此之前,最初未发生故障的控制器将继续提供所有服务。这样一来,便可在控制器恢复生产服务之前全面调查最初触发接管的问题、验证新软件修订版或执行其他管理任务。由于故障恢复会对客户机造成中断,因此应根据特定于业务的需求和过程进行安排。存在一项例外:假设控制器 A 发生了故障,控制器 B 已接管。控制器 A 重新链接群集后,如果检测到控制器 B 不存在或已发生故障,控制器 A 可以接管。原则是即使没有机会调查初始问题,提供服务总比不提供要好。因此,尽管故障恢复到之前发生故障的控制器这项操作从不自动执行,但在任何时间依然都能执行接管。
设置群集后,初始状态包括启动设置的节点处于 OWNER(所有者)状态,另一个节点处于 STRIPPED 状态。执行初始故障恢复操作以将相应部分的共享资源交予 STRIPPED 节点后,两个节点都将处于 CLUSTERED 状态。如果两个群集节点都发生故障或关闭电源,则同时启动后将执行仲裁,其中一个将成为 OWNER(所有者)节点,另一个则成为 STRIPPED 节点。
故障恢复期间,所有外部资源(分配给对等设备的资源)都将导出,然后由对等设备导入。因发生故障而无法导入的池将触发 STRIPPED 节点的重新引导。如果尝试对发生故障的池进行故障恢复,会因导入失败而重新引导 STRIPPED 节点。
为了最大限度缩短维修停机时间,故障恢复和接管操作期间统计信息和数据集不可用。在故障恢复和接管操作完成之前,不收集任何数据,任何对暂停或恢复统计信息的尝试都将延迟,这些操作完成后,数据收集会自动恢复。
相关主题