ONTAP Select HA 增强了数据保护
高可用性 (HA) 磁盘心跳、HA 邮箱、HA 心跳、HA 故障转移和 Giveback 工作,以增强数据保护。
磁盘心跳
尽管 ONTAP Select HA 架构利用了传统 FAS 阵列使用的许多代码路径,但仍存在一些例外情况。其中一个例外是基于磁盘的心跳的实现,这是一种非基于网络的通信方法,由集群节点使用,以防止网络隔离导致脑裂行为。脑裂场景是集群分区的结果,通常是由网络故障引起的,其中双方都认为对方已关闭并试图接管集群资源。
企业级 HA 实现必须优雅地处理此类方案。ONTAP 通过自定义的基于磁盘的心跳方法来实现这一点。这是 HA 邮箱的工作,HA 邮箱是物理存储上的一个位置,群集节点使用它来传递心跳消息。这有助于群集确定连接,从而在故障转移时定义仲裁。
在使用共享存储 HA 架构的 FAS 阵列上,ONTAP 通过以下方式解决脑裂问题:
-
SCSI 永久预留
-
持久 HA 元数据
-
通过 HA 互连发送的 HA 状态
但是,在 ONTAP Select 集群的无共享架构中,节点只能看到自己的本地存储,而不能看到 HA 合作伙伴的本地存储。因此,当网络分区隔离 HA 对的每一侧时,确定集群仲裁和故障转移行为的前述方法不可用。
虽然不能使用现有的脑裂检测和避免方法,但仍然需要一种仲裁方法,这种方法符合无共享环境的约束。ONTAP 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>