heartbeat+ldirectord+lvs实现高可用负载

Lvs + heartbeat+ldirectord高可用测试

1、实验环境

OS:centos 6.7 mini

LVS mode :DR

Heartbeat: version 2.1.4

Iptables:off

Selinux:disabled

Lvs master ip:192.168.6.122

Lvs backup ip:192.168.6.123

Realserver1:192.168.6.42:15080

Realserver2:192.168.6.46:15080

VIP:192.168.6.66

2、拓扑图

如附件一示

1) 用户对vip发起访问请求

2) Heartbeat定义VIP在master上

3) Lvs master接受用户的请求

4) Lvs backup在master工作时不提供VIP和后端服务

5) Realserver提供真实服务并响应用户请求

3、实验需求

1、实现lvs高可用

2、当lvs master出现故障时,有lvs backup接管vip和服务

4、安装相关依赖关系

yum install -y vim wget ntp net-snmp-libs libnet PyXML  gettext gcc make automake autoconf flex rpm-build kernel-devel libxslt libxslt-devel bzip2-devel pam-devel Python-devel swig gnu tls libtool glib2-devel libxml2-devel  e2fsprogs-devel  libtool-ltdl-devel docbook-dtds docbook-style-xsl pygtk2-libglade

5、安装LVS

参考上一篇LVS DR模式

6、安装heartbeat

注意事项:

1) Master与backup间要时间同步

2) Master与backu 间要互信登陆

3) 关闭系统防火墙,selinux状态为disabled

4) 绑定/etc/hosts,master与backup相同

heartbeat-2.1.4-12.el6.x86_64.rpm

heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm

heartbeat-stonith-2.1.4-12.el6.x86_64.rpm

heartbeat-gui-2.1.4-12.el6.x86_64.rpm

heartbeat-pils-2.1.4-12.el6.x86_64.rpm

rpm -ivh heartbear-pils-2.1.4-12.el6.x86_64.rpm

rpm ivh heartbeat-2.1.4-12.el6.x86_64.rpm

yum localinstall heartbeat-*

7、heartbeat配置文件

Vim /etc/ha.d/ha.cf

#日志文件位置

logfile /var/log/ha-log

#指定主备服务器多久发送一次心跳

keepalive 2

#指定30秒没有收到对方心跳就认为对方已经down机

deadtime 10

#10秒没有收到心跳,便发出警报。

warntime 10

#对方DOWN后120秒重新检测一次。

initdead 11

#指定监听端口

udpport 694

#心跳监听网口,这里为eth1

bcast eth0

#去掉后面#linux

#备份机的心跳线接口与接口IP

ucast eth0 192.168.6.123

#主节点恢复后,自动收回资源。

auto_failback on

#指定主备服务器的主机名称,即在hosts文件中指定的。第一个node为主服务器,第二个node为备服务器。

node lvs1.okooo.cn

node lvs2.okooo.cn

#当192.168.8.0、10.10.0.254这两个IP都不能ping通时,对方即开始接管资源。

ping_group group1 10.10.0.254 192.168.8.0

#启用ipfail脚本

respawn root /usr/lib64/heartbeat/ipfail

#指定运行ipfail的用户。

apiauth ipfail gid=root uid=root

Vim /etc/ha.d/authkey

auth 1

1 crc

#2 sha1 okooo

#3 md5 Hello!

Vim /etc/ha.d/haresource

lvs1.okooo.cn 192.168.6.66/32/eth0:0 ldirectord

Vim /etc/ha.d/conf/ldresource.cf

# Global Directives

checktimeout=3

checkinterval=1

#fallback=127.0.0.1:80

autoreload=yes

logfile="/var/log/ldirectord.log"

#logfile="local0"

quiescent=yes

# Sample for an http virtual service

virtual=192.168.6.66:80

real=192.168.6.42:80 gate 2

real=192.168.6.46:80 gate 3

fallback=127.0.0.1:80 gate

service=http

request="index.html"

receive="woshi"

virtualhost=lvs1.okooo.cn

scheduler=wrr

persistent=5

netmask=255.255.255.255

protocol=tcp

checktype=negotiate

checkport=80

request="index.html"

receive="woshirongqi"

virtualhost=

PS:

① heartbeat 的配置文件master 与 backup之间的区别在于心跳监测地址不同,其他均为相同。

② 测试方法是关掉master上的heartbeat服务,backup会接管VIP和资源池,从而不影响终端用户的体验。

8、逻辑关系

Heartbeat有三个配置文件:

1) ha.cf是主配置文件

2) Authkey决定了配置密钥

3) Haresource文件列出集群所提供的服务和服务默认所有者

4) Ldirect.cf文件列出了后端lvs的详细规则

PS:

a) 在服务启动时,顺序为heartbaet-----ldirectord-----lvs

b) Heartbeat定义vip,调用ldirectord,ldirectord定义lvs规则

9、与keepalived对比

1) Heartbeat是基于主机或网络的服务的高可用方式

2) keepalived目的是模拟路由器的双机

3) heartbeat目的是用户service的双机

4) lvs的高可用建议用keepavlived

5) 业务的高可用用heartbeat

Keepalived使用更简单:从安装、配置、使用、维护等角度上对比,Keepalived都比Heartbeat要简单得多,尤其是Heartbeat2.1.4后拆分成3个子项目,安装、配置、使用都比较复杂,尤其是出问题的时候,都不知道具体是哪个子系统出问题了;而Keepalived只有1个安装文件、1个配置文件,配置文件也简单很多;

Heartbeat功能更强大:Heartbeat虽然复杂,但功能更强大,配套工具更全,适合做大型集群管理,而Keepalived主要用于集群倒换,基本没有管理功能;

协议不同:Keepalived使用VRRP协议进行通信和选举,Heartbeat使用心跳进行通信和选举;Heartbeat除了走网络外,还可以通过串口通信,貌似更可靠;

使用方式基本类似:如果要基于两者设计高可用方案,最终都要根据业务需要写自定义的脚本,Keepalived的脚本没有任何约束,随便怎么写都可以;Heartbeat的脚本有约束,即要支持service start/stop/restart这种方式,而且Heartbeart提供了很多默认脚本,简单的绑定ip,启动apache等操作都已经有了;

时间: 2024-10-10 18:00:58

heartbeat+ldirectord+lvs实现高可用负载的相关文章

heartbeat+ldirector+lvs实现高可用集群

7.heartbeat+ldirector+lvs实现高可用集群 在lvs的DR模式基础下进行该实验. heartbeat工作原理: heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来 告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务. 两台 调度服务器 :    Heartbeat仅仅是个HA软件,它仅能完成

(2)LVS+Keepalived高可用负载均衡架构原理及配置

1.keepalived 介绍2.keepalived 优缺点3.keepalived 应用场景4.keepalived 安装配置5.keepalived+lvs 高可用6.keepalived+nginx 高可用7.keepalived 切换原理8.性能优化9.常见故障 一.keepalived 介绍 1.keepalived 定义keepalived是一个基于VRRP(virtual route redundent protocol)协议来实现的LVS服务高可用方案,可以利用其来避免单点故障

DNS+keepalived+lvs实现高可用负载均衡集群

1.目的: 部署两台lvs调度器并利用keepalived实现主主模型,DNS添加两条A记录指向lvs调度器实现轮询,最终实现高可用负载均衡集群效果 2.拓扑规划: 3.配置实践 (1)同步所有机器时间 在每台机器实行ntp同步: [[email protected] ~]# ntpdate 10.1.0.1 26 Oct 20:10:57 ntpdate[5533]: step time server 10.1.0.1 offset -32408.643564 sec (2)先配置RS,在RS

搭建LVS+Keepalived高可用负载集群

搭建LVS+Keepalived高可用负载集群 最近,本屌接到公司的任务,公司新上20台服务器,需要搭建一整套架构来运行公司的业务,其中有应用服务器,认证服务器,数据库服务器等.服务器基础架构中的应用服务器集群要有高可用性,且需要负载均衡.当我接到这个任务的时候,脑子里第一个想法就是LVS+Keepalived. 由于公司资金有限,直接上硬件的负载均衡设备是不可能的了,所以只好使用软件来实现,LVS在负载均衡集群中无疑是一种很好的方案,使用LVS可以同时分发10台以下的设备,用在我们这个项目中是

Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境】

1.环境说明: 系统版本:Ubuntu 14.04 LVS1物理IP:14.17.64.2   初始接管VIP:14.17.64.13 LVS2物理IP:14.17.64.3   初始接管VIP:14.17.64.14 真实web服务器IP:14.17.64.4-12 实现效果:去往14.17.64.13或14的报文,转发给14.17.64.4-12中的一台服务器处理,实现负载均衡. 要求1:当一台真实web服务器故障后,自动把该IP从负载均衡中踢除,恢复后自动加入集群. 要求2:当一台LVS服

LVS+Keepalived高可用负载均衡集群架构

实验环境: LVS和keepalived介绍: 1.keepalived的设计目标是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器,管理服务器池,而不仅仅用来做双机热备. 使用keepalived构建LVS群集更加简便易用,主要优势体现在: 对LVS负载调度器实现热备切换,提高可用性: 对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入. 2.在基于LVS+Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,两台以上的节点服务器,

Keepalived+LVS(dr)高可用负载均衡集群的实现

一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2.13-7.el7.x86_64ipvsadm-1.27-7.el7.x86_64httpd-2.4.6-45.el7.centos.x86_64mariadb-5.5.52-1.el7.x86_64php-5.4.16-42.el7.x86_64 二 原理及拓扑图 1.vrrp协议vrrp(Vir

lvs+keepalived 高可用负载均衡模式分析

1. 前言 在<keepalived 双机热备>这篇文章中,我写了利用keepalived 这个开源软件实现高可用的功能,以及keepalived 高可用所使用的协议--利用vrrp 协议,在高可用网络组内广播自己的优先级,优先级最高的就能抢占vip资源,充当MASTER 主机,提供服务.在今天这篇文章,我们来看看lvs 如何与keepalived 的高可用功能结合,实现对负载均衡调度器的高可用. 经过<lvs_nat 负载均衡模式及抓包分析> 和<lvs_dr 负载均衡模式

Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境部署】

1.环境说明: 系统版本:Ubuntu 14.04 LVS1物理IP:14.17.64.2   初始接管VIP:14.17.64.13 LVS2物理IP:14.17.64.3   初始接管VIP:14.17.64.14 真实web服务器IP:14.17.64.4-12 实现效果:去往14.17.64.13或14的报文,转发给14.17.64.4-12中的一台服务器处理,实现负载均衡. 要求1:当一台真实web服务器故障后,自动把该IP从负载均衡中踢除,恢复后自动加入集群. 要求2:当一台LVS服