关于仲裁和 epsilon
仲裁和 epsilon 是集群运行状况和功能的重要衡量指标,它们共同表明集群如何应对潜在的通信和连接挑战。
Quorum 是集群完全正常运行的前提条件。当集群处于仲裁状态时,大多数节点运行状况良好,可以彼此通信。丢失仲裁后,集群将无法完成正常的集群操作。一次只能有一个节点集合具有仲裁,因为所有节点共同共享一个数据视图。因此,如果允许两个非通信节点以不同方式修改数据,则无法再将数据协调到一个数据视图中。
集群中的每个节点都参与一个投票协议,该协议会选择一个节点 master ;其余每个节点都是一个 _secondary _ 。主节点负责在集群中同步信息。形成仲裁后,它将通过持续表决来保持。如果主节点脱机,而集群仍处于仲裁状态,则保持联机的节点将选择一个新的主节点。
由于集群中的节点数可能为偶数,因此一个节点的表决权重会增加一个百分比,称为 epson 。如果一个大型集群中两个相等部分之间的连接发生故障,则包含 epsilon 的一组节点将保持仲裁,前提是所有节点运行状况良好。例如,下图显示了一个四节点集群,其中两个节点发生故障。但是,由于一个运行正常的节点持有 epsilon ,因此即使运行正常的节点不是大多数,集群仍保持仲裁状态。
创建集群时,系统会自动将 epsilon 分配给第一个节点。如果持有 epsilon 的节点运行状况不正常,接管其高可用性配对节点或由其高可用性配对节点接管,则 epsilon 会自动重新分配给其他 HA 对中运行状况良好的节点。
使节点脱机可能会影响集群保持仲裁状态的能力。因此,如果您尝试执行的操作会使集群脱离仲裁关系,或者使其因丢失仲裁而中断一次,则 ONTAP 会发出警告消息。您可以使用禁用仲裁警告消息 cluster quorum-service options modify
高级权限级别的命令。
一般来说,假设集群节点之间的连接可靠,则较大的集群比较小的集群更稳定。与两个节点的集群相比,在包含 24 个节点的集群中更容易保持一半节点和 epsilon 的简单多数的仲裁要求。
双节点集群在保持仲裁方面存在一些独特的挑战。双节点集群使用 cluster HA ,其中两个节点均不持有 epsilon ,而是持续轮询两个节点,以确保一个节点发生故障时,另一个节点对数据具有完全读写访问权限,并可访问逻辑接口和管理功能。