1,仲裁配置的原理

  • 节点多数(推荐用于含有奇数个节点的群集)

    可以承受的故障节点数为节点数的一半(四舍五入)减去一。例如,七个节点的群集可以承受三个节点出现故障。

  • 节点和磁盘多数(推荐用于含有偶数个节点的群集)

    在见证磁盘保持联机时可以承受的故障节点数为节点数的一半(四舍五入)。例如,在见证磁盘联机时,六个节点的群集可以承受有三个节点出现故障。

    在见证磁盘脱机或出现故障时可以承受的故障节点数为节点数的一半(四舍五入)减去一。例如,见证磁盘有故障时,六个节点的群集可以承受两 (3-1=2) 个节点故障。

  • 节点和文件共享多数(适合有特殊配置的群集)

    与“节点和磁盘多数”的工作方式类似,但是此群集使用见证文件共享,而不是见证磁盘。

    请注意,如果使用“节点和文件共享多数”,则至少必须有一个可用的群集节点包含群集配置的最新副本,然后才能启动群集。否则,您必须通过特定节点来强制启动群集。有关详细信息,请参阅启动或停止群集节点上的群集服务中的“其他注意事项”。

  • 无多数:仅磁盘(不推荐)

    可以承受除一个节点外的所有节点出现故障(如果磁盘联机)但是,建议不使用此配置,因为磁盘可能成为单一故障点。

群集是否停止工作,取决于当前群集中活着的节点数是否占群集节点总数的大多数。群集节点之间每1.2秒发送UDP数据包的心跳,如果某个节点连续5次没有响应心跳数据包,群集中的其他节点认为这个节点发生故障并且发送regroup请求来更新群集中活着的节点列表。发生故障的节点上的资源会被切换到其他节点。

2,仲裁模式判断依据

(1)      
在使用“节点多数”配置的群集中,在计算多数时仅统计节点,例如,群集中含有3个节点时,只要有两个节点及以上节点在通信,群集就正常工作。反之群集则停止工作。

(2)      
在使用“节点和磁盘多数”配置的群集中,在计算多数时统计节点和见证磁盘。例如群集中含有4个节点时,

①,  4个节点中的两个节点以及见证磁盘在通信,群集运行

②,  4个节点中3个在通信,群集运行

③,  4个节点中只有一个节点以及见证磁盘在通信,群集停止。

(3)      
在使用“节点和文件共享多数”配置的群集中,在计算多数时统计节点和见证文件共享。这与前面插图中所示的“节点和磁盘多数”仲裁配置类似,只不过见证是群集中所有节点可以访问的文件共享,而不是群集存储中的磁盘。

①,  一个节点以及文件共享在通信,群集运行

②,所有节点都在通信,但没有与文件共享通信,群集停止

(4)      
在使用“仅磁盘”配置的群集中,节点数不影响如何实现仲裁。磁盘就是仲裁。但是,如果失去与磁盘的通信,群集将变得不可用。

3,分析总结:

对于奇数个节点:

(1)采用” 节点多数” 时所能承受的故障节点数为:节点数的一半(四舍五入)减去一,例如:7个节点,可以承受3个节点故障;

(2)如果采用” 节点和磁盘多数”,所能承受的故障节点数为节点数的一半7/2=3,尽管为7个节点1个仲裁盘,总数为8,由于8的多数是5,故承受的故障节点数还是3。换句话说,对于奇数个节点采用” 节点和磁盘多数”时,没有因为多添加了一块仲裁盘而带来什么效益。并且:此种情况用6个节点就可达成相同的目标。(6个节点+1个仲裁盘就可以承受3个节点故障)。

同理:对于偶数个节点采用” 节点多数”存在相似的问题。

对于用户仲裁模式选错的情况,只不过没能充分发错新增节点或仲裁盘的效能而已,对整个系统没有任何影响。Windows 2012与 2008类似,原理不变。

Hyper-v群集的仲裁模式配置依据的更多相关文章

  1. Hyper V NAT 网络设置 固定IP / DHCP

    Hyper V 默认的Default Switch同时支持了NAT网络以及DHCP,虚拟机能够访问外网. 但使用过程中发现这个IP网段经常变化,而且Hyper V没有提供管理其NAT网络与DHCP的图 ...

  2. LVS负载均衡群集部署——NAT模式

    LVS负载均衡群集部署--NAT模式 1.群集应用概述 2.NAT模式LVS负载均衡群集部署 1.群集应用概述: 存在的问题: 互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求 ...

  3. windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理

    windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理 今天在dell r710 上用windows server 2008 r2企业版hyper v 做虚拟化,添 ...

  4. 基于iSCSI的SQL Server 2012群集测试(二)--SQL群集安装后初始化配置测试

    4.群集安装后初始化配置测试 4.1 禁用full-text 服务和Browser服务 Full-text服务:公司目前暂不使用,需在两个节点上分别禁用 Browser服务:为保证安全,建议将Brow ...

  5. Puppet nginx+passenger模式配置

    Puppet nginx+passenger模式配置 一.简述:Puppet 运行在单台服务器上默认启动的是一个puppetmaster进程,当遇到client高并发的请求时,基于ruby的WEBRi ...

  6. Apache 工作模式配置优化

    Apahce 工作模式配置 1.查看当前MPM工作模式 /usr/local/apache2/bin/apachectl -V Server version: Apache/2.4.27 (Unix) ...

  7. Zookeeper 部署Zookeeper仲裁模式集群

    部署Zookeeper仲裁模式集群 本例在一台服务器上部署3个zk服务:z1.z2.z3. 1.下载Zookeeper https://zookeeper.apache.org/ 2.解压缩 .tar ...

  8. OGG19.1 oracle12c到oracle12c经典模式配置实施

    OGG19.1 oracle12c到oracle12c经典和集成模式配置实施 目的说明 本文提供Oracle GoldenGate在Oracle db到Oracle db的数据复制安装配置指导,适用于 ...

  9. LVS负载均衡群集部署——DR模式

    LVS负载均衡群集部署--DR模式 1.LVS-DR概述 2.部署实验 1.LVS-DR概述: LVS-DR(Linux Virtual Server Director Server)工作模式,是生产 ...

随机推荐

  1. Redis 十分钟快速入门

    本教程是一个快速入门教程,所以Redis的命令只是简单介绍了几个常用的,如果有其他需求请求官网查看API 使用. 1. Redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的ke ...

  2. mysql事务详解

    事务的四大特性ACID如下:       原子性:事务中的所有操作,要么全部完成,要么不做任何操作,不能只做部分操作.如果在执行的过程中发了错误,要回滚(Rollback)到事务开始前的状态,就像这个 ...

  3. php 字符串长度函数

    php 字符串长度函数 php 字符串长度函数,在php测试字符串长度的函数有二个,一个是strlen,另一个是mb_strlen前一个默认是支持,后一个需要开启一个插件,下面我们来介绍一下二个函数的 ...

  4. CSS前叙

    1 css是什么?层叠样式表,修饰网页结构2 如何去使用css?a.在html网页中,加入一个style标签,在这个style标签里面写css代码b.可以直接把style里面的代码放到一个单独的文件中 ...

  5. oracle_存储过程小记

    # 刷新会员标签函数 {color:red} fun_refresh_code{color} {noformat}CREATE OR REPLACE FUNCTION fun_refresh_code ...

  6. (iOS)关于键盘遮挡textfield问题

    记录一下自己经常遇到问题.使用textfield(textview).当输入框位置比较靠下时,弹出的键盘会遮挡输入框,这是就需要动态移动输入框编辑状态时self.view的位置, 自己经常用的方法有两 ...

  7. Hive学习之路 (五)DbVisualizer配置连接hive

    一.安装DbVisualizer 下载地址http://www.dbvis.com/ 也可以从网上下载破解版程序,此处使用的版本是DbVisualizer 9.1.1 具体的安装步骤可以百度,或是修改 ...

  8. Python学习笔记之@classmethod与@staticmethod

    Python面向对象编程中,类中定义的方法可以是 @classmethod 装饰的 类方法 ,也可以是 @staticmethod 装饰的 静态方法 ,用的最多的还是不带装饰器的 实例方法 ,如果把这 ...

  9. Python 自学基础(四)——time模块,random模块,sys模块,os模块,loggin模块,json模块,hashlib模块,configparser模块,pickle模块,正则

    时间模块 import time print(time.time()) # 当前时间戳 # time.sleep(1) # 时间延迟1秒 print(time.clock()) # CPU执行时间 p ...

  10. Python3基础 str translate 将指定字符转换成另一种特定字符

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...