ubuntu系统:ldirectord+heartbeat介绍

  ldirectord+heartbeat介绍

  1.ldirectord的作用

  在Apache服务器的前端,我们要放置一台服务器专门来做负载调度的任务(为了称呼简单和便于理解,我们将这样的负载调度服务器简称为“导演”),用来把访问需求分发给两台Apache服务器。这个“导演”的任务,正是由ldirectord来完成的。

  “ldirectord”(Linux Director Daemon)可以对服务和物理服务器进行监测,被广泛地用于http和https等服务。它是专门为LVS(Linux Virtual Server)监控而编写的,不仅能从heartbeat的配置文件/etc/ha.d/xxx.cf中读取所有有关IPVS(IP Virtul Server)路由表配置的信息,还可以方便地被heartbeat管理(比如由heartbeat来启动和停止ldirectord服务)。

  2.heartbeat是怎么工作的

  因为我们要提供“高可用性”,所以要考虑到“导演”突然罢工的情形;因此我们要安排两个导演,也就是要有两个调度服务器节点。这两个节点的地位不同,其中一个是主节点,另外一个是辅节点(可以看成是一个“主导演”和一个“副导演”)。这两个节点正是用heartbeat来互相监测对方的。

  heartbeat可以通过以太网(或者串行接口)来监控节点的“健康”状况。如果有多个heartbeat节点(heartbeat 2.0及后续版本已经能够支持两个以上节点),我们既可以使用串行线又可以使用以太网连接它们,这样将大大提高系统的可用性。

  heartbeat的核心功能有两个部分:心跳监测和资源接管。通过心跳监测,节点之间相互“打招呼”(发送报文)来告诉对方自己当前的状态;如果在指定的时间内没“听”到对方“打招呼”(没收到报文),那么就认为对方罢工了,这时heartbeat会自动启动资源接管模块,运行相关的 shell 脚本来接管运行在对方主机上的资源或者服务。

  让内核支持IPVS

  首先,我们必须让mysql-lb1.mytest.com和mysql-lb2.mytest.com两台服务器的内核支持IPVS(IP Virtual Server)。通过IPVS,我们可以在Linux内核级别上实现传输层的负载均衡。

  在mysql-lb1.mytest.com和mysql-lb2.mytest.com上,执行下面的命令:

  ubuntu系统:ldirectord+heartbeat介绍

  然后,我们还需要修改/etc/modules,添加这些模块,以便系统在重新启动时能够自动加载它们。在mysql-lb1.mytest.com和mysql-lb2.mytest.com上,执行下面的命令:

  $ sudo nano /etc/modules

  在文件末尾,添加下列内容:

  ubuntu系统:ldirectord+heartbeat介绍

共3页。 1 2 3 下一页 末页
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值