7.4 术语与概念

一组计算机被称为集群。集群内的一台计算机被称为一个节点。

当集群内的节点数量是 N (2,,3,等。) ,那么我们讨论一个N节点的集群。

高可用性软件,传输层和集群管理层都运行于每个节点。

集群提供服务或资源。由于每个节点运行一个集群管理层呢个的实例,任何服务可以在任何节点上启动。集群管理层的规则控制服务的安置。

服务可以是独立的,克隆的,或master-slave资源。一个独立资源的唯一实例可以在整个集群的任何时间运行。克隆资源工作很类似于独立的资源,但是超过一个实例可以在集群 中运行,它们独立地工作。Master-slave 资源通常是 相互关联的或连接到一起,它们彼此依赖。在Pacemaker的具体实施中,master-slave 资源都作为slave启动,它们中的任何一个都可以发生角色升级或降级。资源脚本会为高可用性管理层提供它们的状态暗示,就像哪一个准备被提升,哪一个不能被提升。

资源以资源代理的形式被提供。通常,这些脚本符合一组规则:如何接受参数,它们可以运行在什么模式,在特殊的错误情况下,返回什么代码。在高可用性集群中,集群中的一台计算机(或计算机的一个子集) 可以在任何时间接管之前的一台计算机的服务。这可以被管理员控制或者它可以是自动。

服务接管的特殊情况被称为故障转移 (fail-over),当一个服务或计算机出现故障的时候会发生。监控是高可用性集群的一个必要部分,这使自动故障恢复称为可能。集群中的所有节点都代表一个表决权。当集群内部的网络连接中断,一些节点能够看到彼此,但不是集群中的所有节点(因此形成了“孤岛”节点),这称为脑裂情形(split-brain situation)。这是一个错误状态。投票被可以相互通信的节点所保持。在这方面,我们可以讨论集群规模较小和较大的部分,有和没有多数的多数投票。多数被称为法定人数。

错误的计算机或服务必须自动从集群中被排除以确保正常运行。此操作称为防护(fencing)。防护也被用来防止脑裂情形(split-brain situation)。防护可以是自愿的或强制到外部。Linux-HA开发者开玩笑地介绍了强制防护术语作为Shoot The Other Node In The Head (STONITH)的首字母缩写和名片。防护可以使用的模式取决于集群中节点的数目。

当服务被提供服务的节点放弃时会发生自愿防护或自我防护。它可用于奇数(3, 5, 7...)节点的集群。脑裂情形只会在集群的一部分比其它部分小的情况发生。在这种情况下,在较小部分的节点自愿放弃它们的服务,较大的部分自动依靠这个事实启动这些服务。

节点题哦个服务是相称的,这没什么不同。这暗示着偶数个节点,在一个分裂的集群的情况下,在投票中有一个平局。这可以通过添加另外一个不提供的节点来解决,只是一个投票节点。正因为如此,它是一个打破平局的节点。这个节点称为法定服务器。

强制防护(STONITH)可以用来作为一个额外的或法定服务器的替代者。强制防护只能和专用硬件,远程管理设备一起使用。它可以被内置于计算机机箱或主板,但它也可以是一个附加卡。这样的硬件是智能平台管理接口 (IPMI),惠普的 Integral Lights-Out (iLO), 戴尔的Dell Remote Access Card (DRAC). 这提供了一个特别的直接管理节点。有时,一个专用的管理计算机被用来管理别的计算机;例如,英特尔刀片服务器,它为节点提供了一个 代理;这就是所谓的间接管理。远程管理节点可以控制节点的电源状态;您可以物理地远程关闭节点。高可用性软件使用此功能,由于一个被关闭的节点明显地不能参与到集群中。对于有偶数个节点的集群,可能没有“较小的部分”,所以只有强制防护是可用的。

单点故障(SPOF)是一个设计缺陷,该缺陷可以产生一个整个集群以意外停机时间的形式故障。

PostgreSQL Replication之第七章 理解Linux高可用(4)的更多相关文章

  1. PostgreSQL Replication之第七章 理解Linux高可用(1)

    高可用(HA)是工业长期持续的,不间断的服务.在本章,您将了解高可用软件的历史,概念和实现与PostgreSQL复制和高可用之间的关系. 本章将详细地讲述如下主题: •理解高可用性的目的 •衡量可用性 ...

  2. PostgreSQL Replication之第七章 理解Linux高可用(6)

    7.6 PostgreSQL和高可用性 数据库是我们日常数字生活的一部分,并期望它们快速工作. 您浏览网上论坛吗?那个帖子在数据库中.您看医生吗?您的医疗记录在数据库中.您在网上购物吗?那个货物,您的 ...

  3. PostgreSQL Replication之第七章 理解Linux高可用(3)

    7.3 高可用软件的历史 有大量的专有的和开源的高可用性软件.专有的例子有:Solaris Cluster (有时称为Sun 集群 or SunCluster), SteelEye LifeKeepe ...

  4. PostgreSQL Replication之第七章 理解Linux高可用(2)

    7.2 衡量可用性 可用性是提供商试图保证一定的可用性级别和客户可以期望的可用性或更多.在某些情况下(取决于服务合同) 收取罚款或减少申购费用是意外停机的原因. 可用性的质量使用百分数来衡量:例如,9 ...

  5. PostgreSQL Replication之第七章 理解Linux高可用(5)

    7.5 高可用性是所有冗余 让我们从一个不同的角度看一下前面的混合超市的例子.为了处理大量顾客无需长排队,无需关闭超市,混合超市雇用更多的出纳员以及安装许多(甚至更多)的收银机. 这样,如果一个收银机 ...

  6. PostgreSQL Replication之第三章 理解即时恢复(4)

    3.4 重放事务日志 一旦我们创建了一个我们自己的初始基础备份,我们可以收集数据库创建的XLOG.当时间到时,我们可以使用所有这些XLOG 文件并执行我们所期望的恢复进程.这就像本节描述的一样工作. ...

  7. PostgreSQL Replication之第三章 理解即时恢复(1)

    到现在为止,您已经掌握了一定的理论.因为生活不仅由理论组成(它可能同样重要),是时候深入实际的工作了. 本章的目标是让您明白如何恢复数据到一个给定的时间点.当您的系统崩溃或者有人意外地删除了一个表,不 ...

  8. 《Linux命令行与shell脚本编程大全》 第七章理解Linux文件权限

    Linux沿用了Unix文件权限的方法,允许用户和组根据每个文件和目录的安全性设置来访问文件. 用户权限通过创建用户时分配的用户ID(UID)来跟踪的.每个用户有唯一的ID,但是登录时用的不是UID, ...

  9. PostgreSQL Replication之第三章 理解即时恢复(3)

    3.3 做基础备份 在上一节中,您已经看到,启用归档只需要几行命令,并提供了极大的灵活性.在本节,我们将看到如何创建一个所谓的基础备份,稍后这可以使用XLOG.一个基本备份是一个最初的数据的拷贝. [ ...

随机推荐

  1. scikit-learn:3.5. Validation curves: plotting scores to evaluate models

    參考:http://scikit-learn.org/stable/modules/learning_curve.html estimator's generalization error can b ...

  2. ORA-01119、ORA-27040

    SQL> alter tablespace DRSYS add datafile '/ora_data/drsys02.dbf' size 1000m;alter tablespace DRSY ...

  3. 91.Bower : ENOGIT git is not installed or not in the PATH 解决方法

    转自:https://www.haorooms.com/post/bower_error 今天在用bower安装依赖的时候,出现了Bower : ENOGIT git is not installed ...

  4. Linux系统安装Redis数据库

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  5. Windows 10 Mobile 演示:插入耳机自动执行 APP

    Windows Mobile 10 新特性:插入外部设备自动动作(如插入耳机执行 APP.打开小工具):另外可以找到最后一次使用设备地点和时间: http://www.tudou.com/progra ...

  6. oracle查询优化之子查询条件优化

    环境:oracle 11g 现有a表与b表通过a01字段关联,要查询出a表的数据在b表没有数据的数据:sql如下 ) ) 因为flag是虚拟字段没有走不了索引导致这条sql执行起来特别慢 310W条数 ...

  7. selenium自动化(一).........................................搭建环境

    一  环境搭建 安装python(建议使用py3) py2和py3在语法上会有一定的差别 第三方插件逐步转向py3,很多py2的插件已经停止维护 本教程的所有代码基于py3 安装selenium插件 ...

  8. 垃圾回收器(GC)

    值类型占用的空间在方法执行结束后会被马上释放, 引用类型占用的空间在方法结束后不会被马上释放,具体什么时间释放由垃圾回收器(GC)来决定. GC(Garbage Collection):JAVA/.N ...

  9. POJ-2253 Frogger dijsktra查找间隔最小的路径

    题目链接:https://cn.vjudge.net/problem/POJ-2253 题意 一只Forg需要从节点1走到节点n 现要找一条各个间隔最小的路径 问间隔最小是多少 思路 用dijsktr ...

  10. 紫书 习题8-7 UVa 11925(构造法, 不需逆向)

    这道题的意思紫书上是错误的-- 难怪一开始我非常奇怪为什么第二个样例输出的是2, 按照紫书上的意思应该是22 然后就不管了,先写, 然后就WA了. 然后看了https://blog.csdn.net/ ...