ONTAP Select HA 增强数据保护
高可用性 (HA) 磁盘心跳、HA 邮箱、HA 心跳、HA 故障转移和回馈功能可增强数据保护。
磁盘心跳
尽管ONTAP Select HA 架构充分利用了传统FAS阵列的许多代码路径,但也存在一些例外。其中一个例外是基于磁盘的心跳机制的实现,这是一种非基于网络的通信方法,集群节点使用这种方法来防止网络隔离导致裂脑行为。裂脑场景是集群分区的结果,通常由网络故障引起,导致集群两端都认为对方已宕机并试图接管集群资源。
企业级 HA 实施必须妥善处理此类情况。ONTAP通过一种基于磁盘的定制心跳机制来实现这一点ONTAP邮箱负责处理这一任务,它是集群节点用于传递心跳消息的物理存储位置。这有助于集群确定连接性,从而在发生故障转移时确定仲裁。
在使用共享存储 HA 架构的FAS阵列上, ONTAP通过以下方式解决裂脑问题:
-
SCSI 永久预留
-
持久 HA 元数据
-
通过 HA 互连发送 HA 状态
然而,在ONTAP Select集群的无共享架构中,节点只能看到自己的本地存储,而看不到 HA 配对节点的本地存储。因此,当网络分区隔离 HA 对的每一侧时,上述确定集群仲裁和故障转移行为的方法将不可用。
虽然现有的裂脑检测和避免方法无法使用,但仍然需要一种能够适应无共享环境约束的调解方法。ONTAPONTAP Select进一步扩展了现有的邮箱基础架构,使其能够在网络分区时充当调解方法。由于共享存储不可用,因此调解是通过 NAS 访问邮箱磁盘来完成的。这些磁盘分布在整个集群中,包括双节点集群中的调解器,并使用 iSCSI 协议。因此,集群节点可以根据对这些磁盘的访问做出智能故障转移决策。如果一个节点可以访问其 HA 伙伴节点之外的其他节点的邮箱磁盘,则该节点很可能已启动且运行正常。
|
解决集群仲裁和裂脑问题的邮箱架构和基于磁盘的心跳方法是ONTAP Select多节点变体需要四个独立节点或双节点集群的调解器的原因。 |
HA邮箱发帖
HA 邮箱架构采用消息发布模型。集群节点会定期向集群中所有其他邮箱磁盘(包括中介节点)发布消息,表明该节点已启动并正在运行。在正常运行的集群中,任何时间点,集群节点上的单个邮箱磁盘都会收到来自所有其他集群节点的消息。
每个 Select 集群节点都附加一个虚拟磁盘,专门用于共享邮箱访问。此磁盘被称为中介邮箱磁盘,因为其主要功能是在发生节点故障或网络分区时充当集群中介。此邮箱磁盘包含每个集群节点的分区,并由其他 Select 集群节点通过 iSCSI 网络挂载。这些节点会定期将运行状况发布到邮箱磁盘的相应分区。使用分布在整个集群中的网络可访问邮箱磁盘,您可以通过可达性矩阵推断节点的运行状况。例如,集群节点 A 和 B 可以向集群节点 D 的邮箱发送邮件,但不能向节点 C 的邮箱发送邮件。此外,集群节点 D 无法向节点 C 的邮箱发送邮件,因此节点 C 很可能已关闭或网络隔离,应该被接管。
HA 心跳
与NetApp FAS平台一样, ONTAP Select会定期通过 HA 互连发送 HA 心跳消息。在ONTAP Select集群中,此操作通过 HA 伙伴节点之间的 TCP/IP 网络连接执行。此外,基于磁盘的心跳消息会传递到所有 HA 邮箱磁盘,包括中介邮箱磁盘。这些消息每隔几秒传递一次,并定期读取。如此高的发送和接收频率使ONTAP Select集群能够在大约 15 秒内检测到 HA 故障事件,这与FAS平台上的可用时间窗口相同。当不再读取心跳消息时,将触发故障转移事件。
下图从单个ONTAP Select集群节点(节点 C)的角度显示了通过 HA 互连和调解磁盘发送和接收心跳消息的过程。
|
网络心跳通过 HA 互连发送到 HA 伙伴节点 D,而磁盘心跳使用跨所有集群节点 A、B、C 和 D 的邮箱磁盘。 |
四节点集群中的 HA 心跳:稳定状态
HA 故障转移和恢复
在故障转移操作期间,幸存节点将使用其 HA 伙伴节点数据的本地副本承担其对等节点的数据服务责任。客户端 I/O 可以继续不间断运行,但必须先复制对此数据的更改,然后才能进行交还。请注意, ONTAP Select不支持强制交还,因为这会导致存储在幸存节点上的更改丢失。
重启的节点重新加入集群时,会自动触发同步恢复操作。同步恢复所需的时间取决于多种因素。这些因素包括必须复制的更改数量、节点之间的网络延迟以及每个节点上磁盘子系统的速度。同步恢复所需的时间可能会超过 10 分钟的自动交还窗口。在这种情况下,需要在同步恢复后进行手动交还。您可以使用以下命令监控同步恢复的进度:
storage aggregate status -r -aggregate <aggregate name>