7.3 高可用软件的历史

有大量的专有的和开源的高可用性软件。专有的例子有:Solaris Cluster (有时称为Sun 集群 or SunCluster), SteelEye LifeKeeper, Evidian SafeKit, 和其它软件。我们不在本书中说它们。集群软件通常包含两个不同的层次:传输层和集群管理层。管理层负责在集群节点上启动和关闭服务。服务和健康信息通过传输层传输。

最初,有两个广为人知的开源高可用性软件,叫做OpenAIS and Linux-HA。这些都是互不兼容并且都有自己的优点和缺点的软件。后来,两个开发人员社区联手,在2007年12月7日,在 Linux-HA 上的用户邮件列表发布了一个内部公告。Linux-HA (当时叫CRM )的管理层被分裂出去支持原来的 Linux-HA and OpenAIS的传输层。2008 在渥太华的 Linux专题讨论会上有另外一个公告,OpenAIS 的传输层被分裂以更好地支持新的通用管理层。以前,两个软件的整体软件的整体结构变得更轻,兼容,并可互换。

共同努力实现的第一个稳定版本是:

• Heartbeat Version 3.0.2: 2010年2月1日,

• Corosync Version 1.0.0:2009年7月8日,

• Pacemaker Version 0.6: 2008 年1月16日,

7.3.1 OpenAIS 和 Corosync

OpenAIS 是第一个服务可用性论坛(www.saforum.org)规范的实现。这是一个全面的,也是一个复杂的集群软件栈,当时,Corosync是 OpenAIS的同义词。在 2008,该项目的开发者在渥太华的Linux 专题讨论会上宣布联合开发,结果是该软件被重构,其传输层成为 Corosync,OpenAIS 部分现在只包含 SAForum 的API。然而,在写本书时,SAForum 网站只列出了 OpenSAF (opensaf.org) 和 OpenHPI(www.openhpi.org) 作为它们规范的实现。

7.3.2 Linux-HA (Heartbeat) 和  Pacemaker

Linux-HA (www.linux-ha.org) 开始作为一个简单的集群实施,以提供一个简单的方法来建立一个双机集群。传输层被称为 Heartbeat,但它也由于上层传输被称为 Linux-HA 的同义词,集群管理没有一个特别的名字。一段时间后,Heartbeat的简单版本1.x被认为不够稳定,集群管理层被重写,并成为了所谓的集群资源管理(CRM)。OpenAIS 和 Linux-HA 联合开发之后,传输层就成了单独的软件, 保留了 Heartbeat 名称, CRM 被分离出来重命名为 Pacemaker。目前,Pacemaker 支持两个项目的传输层 (Heartbeat and Corosync) 并提供一个通用的集群管理层。对于一些应用程序来说,它甚至需要来自 OpenAIS 的管理层。 Heartbeat 和 Pacemaker当前的主页是 www.clusterlabs.org

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

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

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

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

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

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

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

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

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

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

    7.4 术语与概念 一组计算机被称为集群.集群内的一台计算机被称为一个节点. 当集群内的节点数量是 N (2,,3,等.) ,那么我们讨论一个N节点的集群. 高可用性软件,传输层和集群管理层都运行于每 ...

  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. simple_strtoul()分析

    此函数有以下几点值得注意:1.第一个参数中的const.一般在函数的形参中,如果我们只是希望调用者使用该参数,而不会去改变该参数内容(一般是指针指向的内容),则可以声明为const.2.第二个参数.C ...

  2. CoreData 从入门到精通(六)模型版本和数据迁移

    前面几篇文章中讲的所有内容,都是在同一个模型版本上进行操作的.但在真实开发中,基本上不会一直停留在一个版本上,因为需求是不断变化的,说不定什么时候就需要往模型里添加新的字段,添加新的模型,甚至是大规模 ...

  3. xBIM 基础06 将STEP物理文件转换为XML

    系列目录    [已更新最新开发文章,点击查看详细]  一.STEP标准简介 STEP,它是Standard for the Exchange of Product model data的缩写.产品数 ...

  4. ubuntu修改顶栏颜色

    title: ubuntu修改顶栏颜色 toc: false date: 2018-09-29 19:14:01 categories: methods tags: Ubuntu 编辑shell主题的 ...

  5. KMP算法中求next数组的实质

    在串匹配模式中,KMP算法较蛮力法是高效的算法,我觉得其中最重要的一点就是求next数组: 看了很多资料才弄明白求next数组是怎么求的,我发现我的忘性真的比记性大很多,每次看到KMP算法求next数 ...

  6. Java经典逻辑编程50题

    Java经典逻辑编程50题 2016-11-03 09:29:28      0个评论    来源:Alias_fa的博客    收藏   我要投稿 [程序1] 題目:古典问题:有一对兔子,从出生后第 ...

  7. (转载)android 一些工具类汇总

    android 一些工具类汇总 作者:曾田生z 字体:[增加 减小] 类型:转载 时间:2016-08-14我要评论 本文给大家汇总介绍了一些常用的Android工具类,非常的简单实用,有需要的小伙伴 ...

  8. 找出在使用临时表空间的SQL

    SELECT a.username, a.sid, a.serial#, a.osuser, b.tablespace, b.blocks, c.sql_text FROM v$session a, ...

  9. [备忘]js-xlsx 操作 Excel 插件

    github地址:https://github.com/SheetJS/js-xlsx oss地址:http://oss.sheetjs.com/js-xlsx/xlsx.full.min.js

  10. EasyUI Combotree只选择叶子节点

    EasyUI Combotree的方法拓展自Combo和Tree.而Tree有一个onBeforSelect事件来帮助我们实现只选择叶子节点的功能. Tree事件需要 'node' 参数,它包括下列属 ...