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. What is the difference between Web Farm and Web Garden?

    https://www.codeproject.com/Articles/114910/What-is-the-difference-between-Web-Farm-and-Web-Ga Clien ...

  2. 关于Tool接口--------hadoop接口:extends Configured implements Tool 和 ToolRunner.run

    我们在写Hadoop--map/reduce程序时,遇到使用按文件url来分析文件----------多表连接的DistributedCache方式,看不懂使用extends Configured i ...

  3. TabPage判断重复添加Page

    ..... ........ ...........代码如下: bool isPag = true; foreach (TabPage page in tbpDynamicMenu.TabPages) ...

  4. accept-language

    Chrome: [zh-TW,zh;q=0.8,en-US;q=0.6,en;q=0.4]Safari: [zh-tw]FF: [zh-TW,zh;q=0.8,en-US;q=0.5,en;q=0.3 ...

  5. (转)script标签到底该放在哪里

    一般script标签会被放在头部或尾部.头部就是<head>里面,尾部一般指<body>里[4-5]. 将script放在<head>里,浏览器解析HTML,发现s ...

  6. SpringMVC-注解映射器和适配器_20190323

    1 注解映射器和适配器 1.1 注解映射器spring3.1之前默认加载映射器是org.springframework.web.servlet.mvc.annotation.DefaultAnnota ...

  7. js或者jq 使用cookie 时在谷歌浏览器不好使

    用js或者jq 写cookie时在谷歌浏览器上打开,cookie不能正常使用. 原因:浏览器没有开启cookie,打开cookie 就可以显示 其次,当将代码上传至服务器,再用浏览器打开时,cooki ...

  8. swift语言点评六-Numbers and Basic Values

    Topics Logical Values struct Bool A value type whose instances are either true or false. Numeric Val ...

  9. SpringBoot学习笔记(7)-----CORS支持解决跨域问题

    在实际应用开发中,跨域是一个比较常见的问题,解决方法可以用jsonp,frame,cors等, 这里示例的是SpringBoot对CORS的支持的三种实现方式 第一种:配置一种全局的支持,这种方式需要 ...

  10. BZOJ3796 Mushroom追妹纸(二分答案+后缀数组+KMP)

    求出一个串使得这个串是\(s1,s2\)的子串.串中不包含\(s3\). 如果没有这个\(s3\)就可以二分答案,然后height小于二分值分一组.看看每组里是不是出现过\(s1,s2\)的后缀.判断 ...