linux高级技巧:heartbeat+lvs(一)

1.heartbeat一个简短的引论:

Heartbeat 项目是 Linux-HA project的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件。在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能。

这个集群方案是利用第三方软件搭建的,要比redhat自带的集群软件在功能上简化一些。可是搭建起来很的方便。并且是一种高速解决方式。

heartbeat的高可用集群採用的通信方式是udp协议和串口通信。并且heartbeat插件技术实现了集群间的串口、多播、广播和组播通信。

它实现了HA 功能中的核心功能——心跳,将Heartbeat软件同一时候安装在两台server上,用于监视系统的状态,协调主从server的工作。维护系统的可用性。它能侦測server应用级系统软件、硬件发生的故障,及时地进行错误隔绝、恢复;通过系统监控、服务监控、IP自己主动迁移等技术实如今整个应用中无单点故障,简单、经济地确保重要的服务持续高可用性。   Heartbeat採用虚拟IP地址映射技术实现主从server的切换对client透明的功能。

可是单一的heartbeat是无法提供健壮的服务的,所以我们在后台使用lvs进行负载均衡。

2.LVS简单介绍

LVSLinux Virtual Server的简写。意即Linux虚拟server,是一个虚拟的server集群系统。

章文嵩博士成立。

IPVS

说道lvs我们就得提到ipvs,IPVS 是 LVS 集群系统的核心软件,它的主要作用是:安装在 Load Balancer 上,把发往 Virtual IP 的请求转发到 Real Server 上。IPVS 的负载均衡机制有三种,这里使用 IP Tunneling 机制:

?

Virtual Server via NAT

?

Virtual Server via IP Tunneling

?

Virtual Server via Direct Routing

我们这次的实验採用最后一种直连的方式。

lvs的调度算法很的重要,大家一定要熟悉他们。在官方站点上有具体的解释:http://zh.linuxvirtualserver.org/

IPVS 的负载调度算法有十种:

轮叫(Round Robin)

加权轮叫(Weighted Round Robin)

最少链接(Least Connections)

加权最少链接(Weighted Least Connections)

基于局部性的最少链接(Locality-Based Least Connections)

带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)

目标地址散列(Destination Hashing )

源地址散列(Source Hashing)

最短期望延迟(Shortest Expected Delay)

无须队列等待(Never Queue)

凝视:我们採用较为简单的轮叫方式。

3.ldirectord简单介绍:

ldirectord是配合lvs作为一种健康检測机制。要不负载均衡器在节点挂掉后依旧没有检測的功能。

上面介绍了heardbeat、lvs和ldirectord的基本概念。

说再多不如搭建一个服务给大家展示效果。

4.搭建RHEL6.5+LVS+Linux-HA+Ldirectord服务(提供http和ftp服务作为样例)

注意:

1.系统:redhat6.5 ;

2.节点:一共要用到四个虚拟机作为节点,当中两个上面安装heartbeat和lvs。另外两个节点仅仅提供apache和vsftpd服务;

3.这四个节点之间的解析一定要做好。

4.防火墙关闭,时间同步,四个机子的系统版本号最好同样。

实验的环境如图下所看到的。第一个控制台是我真机的。其它四个为实验的四个节点,前两个安装heartbeat和lvs,后两个控制台提供apache和vsftpd服务。接下来我们分块来配置。

1. 安装heartbeat:

这个是第三方软件。不是redhat自带的,所以大家要自己去下载:。分别须要:

heartbeat-3.0.4-2.el6.x86_64.rpm

heartbeat-devel-3.0.4-2.el6.x86_64.rpm

heartbeat-libs-3.0.4-2.el6.x86_64.rpm

我的在本地的vsftpd服务上有,也能够在http://rpm.pbone.net/上查找。

两个节点上都应该有这个三个包。然后在自己定义的位置安装他们:

要是没有成功安装那么一定要又一次设置你的yum源:

vim    /etc/yum.repos.d/yum.repo

这个是heartbeat的三个配置文件:

、ha.cf        Main configuration file

haresources    Resource configuration file

authkeys    Authentication information

默认情况下配置文件中没有,我们得从其它地方拷贝一份:

vim ha.cf:

keepalive 2

设定heartbeat之间的时间间隔为2秒。

warntime 10

在日志中发出“late heartbeat“警告之前等待的时间,单位为秒。

deadtime 30

在30秒后宣布节点死亡。

initdead 120

在某些配置下,重新启动后网络须要一些时间才干正常工作。这个单独的”deadtime”选项能够处理这样的情况。

它的取值至少应该为通常deadtime的两倍。

udpport 694

使用port694进行bcast和ucast通信。这是默认的。而且在IANA官方注冊的port号。

默认在回复后自己主动回切:

有两个节点安装heartbeat:

用来測试节点的网络是否联通:

上述是ha.cf配置文件的改动。然后我们要来authkeys文件:

改动文件的訪问权限:

最后我们来改动haresources,我们要在当中加入一个apache服务,可是我们要给它一个虚拟的ip(这个ip一定是没有被别人占用的),让这两个节点作它的论寻。

在两边都安装httpd服务作为測试,为了区分,我们在他们的index.html中写入不同的内容(其实在生产环境中两者的内容当然是同样的,由于我们作的但是负载均衡么)

做完上述内容后开启两边的heartbeat服务:

然后我们来通过firefox检验效果:

然后我们让当前的节点heartbeat关闭,发现另外一个节点自己主动接管了:

再让刚才那个节点的heartbeat开启,由于它是主节点(server101.example.com),所以又接管回来了:

小结:

这样就起到了负载均衡的效果,可是这仅仅是单纯的heartbeat。我们还没有和lvs进行结合,在功能上不够完好。在接下来的帖子里会逐渐把两者结合起来。下一个帖子首先会让大家感受一下lvs单独使用时的效果,最后会把两者结合起来。

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-10-13 04:20:30

linux高级技巧:heartbeat+lvs(一)的相关文章

linux高级技巧:heartbeat+lvs

linux高级技巧:heartbeat+lvs Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能…… AD:2014WOT全球软件技术峰会北京站 课程视频发布 11月21日-22日 与WOT技术大会相约深圳 现在抢票 1.heartbeat简介: Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用

linux高级技巧:heartbeat+lvs(二)

上一个帖子介绍了heartbeat的单独使用,今天我们首先来介绍lvs的单独使用,最后将两者结合 起来.提供一个全面的服务. 1.LVS的三种负载均衡技术: 非常幸运的是kernel 2.6x 已经内建了LVS模块,而且在redhat6版本中也有LVS的安装包ipvsadm. 下面我们对LVS的三种负载均衡技术进行比较: 1.通过NAT实现虚拟服务器(VS/NAT): 由于IPv4中IP地址空间的日益紧张和安全方面的原因,很多网络使用保留IP地址.这些地址不在Internet上使用,而是专门为内

heartbeat+LVS

####heartbeat简介####Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能.这个集群方案是利用第三方软件搭建的,要比RedHat自带的集群软件在功能上简化一些,但是搭建起来非常的方便.而且是一种快速解决方案.heartbeat的高可用集群采用的通信方式是udp协议和串口通信,而且heartbeat插件技术实现了集群间的

heartbeat介绍与基于heartbeat+lvs

heartbeat工作原理 通过修改Heartbeat的配置文件,可以制定那一台Heartbeat服务器作为主服务器,则另一台将自动成为热备服务器.然后在热备服务器上配置Heartbeat守护程序来监听来自主服务器的心跳消息.如果热备服务器在指定时间内为监听到来自主服务器的心跳,就会启动故障转义程序,并取得主服务器上的相关资源服务的所有权,接替主服务器继续不间断的提供服务,从而达到资源以及服务高可用的目的.  以上的描述heartbeat的主备模式,heartbeat还支持主主模式,即两台服务器

Heartbeat+LVS+Ldirectord高可用&负载均衡

集群技术主要分为三大类: 高可用性(High Available Cluster),例:Linux-HA 负载均衡(Load balancing Cluster),例:LVS.MOSIX 高性能计算(High Performance Computing),例:Beowulf 我们这里使用 RHEL5.2,LVS,Linux-HA,Ldirectord,构造一个高可用的负载均 衡集群系统.如图: Load Balancer 是整个集群系统的前端,负责把客户请求转发到 Real Server 上.

linux高级技巧:rsync同步(二)

1.配置两个节点同步 上个帖子已经展示了同步一个主机的方法.这次我们再添加一个要同步的主机.方法上并无二质. 1.首先显示我们的控制台: 上次是192.168.2.103同步192.168.2.102的内容.这个我们让192.168.2.104的节点同步192.168.2.102的内容. 在192.168.2.104上先安装rsync和xinetd服务: 在xinetd的配置文件中启动rsync服务: 修改rsync的配置文件: 启动xinetd服务(为了启动rsync服务): 然后我们切换到主

linux高级技巧:rsync同步(一)

1.rsync简介 rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输.rsync中一项与其他大部分类似程序或协议中所未见的重要特性是镜像对每个目标只需要一次发送.rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝. 下面是rsync的图解: 2.搭建rsync服务: 注意事项: 1.做这个实验要使用三个节点,其中节点1作为向外同步的机器.另外两个同步节点1的内容. 2.做好时间同步,防火墙关闭,selinux也最好

linux高级技巧:heartbeat+lvs(三)

之前我们把LVS和heartbeat都单独进行了測试,是时候进行合并了 1.LVS+heartbeat: 首先显示我们的控制台: 让这两个软件可以互相协作,而且让该平台具有可以报警和拯救的机制,我们须要安装ldirectord软件. ldirectord-3.9.2-1.2.x86_64.rpm 在server101和server105上安装ldirectord(由于包和系统的包有依赖性,全部使用yum安装): 这些是ldirectord的相关文件位置,拷贝配置文件到heartbeat的配置文件

Linux的企业-LVS(Lvs+ldirectord+heartbeat+drbd)

一.LVS.DR简介 LVS 是Linux Virtual Server的简称,在实际环境中经常作为B/S结构的网络应用中的负载均衡器来使用,工作在7层网络模型中的,网络层,也就是通常说的IP层,由于数据的处理是在Linux内核态完成的,所以相对反向代理服务器来说,性能一般会高一些. DR 是Direct Routing直接路由的简称,应答包通过单独的路由方法返回给客户端.不需要隧道结构,因此可以使用大多数linux操作系统做为物理服务器.和NAT模式不同,DR的负载均衡调度器工作在网络七层协议