企业 - keepalived + lvs

                                 keepalived

keepalived是什么

keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障

那么什么是高可用呢

计算机系统的可用性用平均无故障时间(MTTF)来度量,即计算机系统平均能够正常运行多长时间,才发生一次故障。系统的可用性越高,平均无故障时间越长。

负载均衡服务器的高可用性

为了屏蔽负载均衡服务器的失效,需要建立一个备份机。主服务器和备份机上
都运行High Availability监控程序,通过传送诸如“I am
alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器的服务IP并继续提供服务;当备份管理器又
从主管理器收到“I am alive”这样的信息时,它就释放服务IP地址,这样的主管理器就开始再次进行
集群管理的工作了。为在主服务器失效的情况下系统能正常工作,我们在主、备份机之间实现负载集群系统配置信息的同步与备份,保持二者系统的基本一致。

keepalived工作原理

keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议

虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个
backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当
backup收不到vrrp包时就认为master宕掉了,这时就需要根据
VRRP的优先级选举一个backup当master。这样的话就可以保证路由器的高可用了。

keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。


工作原理

keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是第3层、第4层和第5层交换,分别工作在IP/TCP协议栈的IP层、TCP层、应用层,原理分别如下: Layer3:
Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器发送一个ICMP的数据包(既Ping),如果发
现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除(这种情况的典型例子是某台服务器被非法关机)。
Layer3方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。 Layer4: Layer4主要以TCP端口的状态来决定服务器工作正常与否。如web server的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。 Layer5: Layer5就是工作在具体的应用层了,比Layer3,Layer4要复杂,在网络上占用的带宽也要大一些。Keepalived将根据用户的设定检查服务器相应服务是否运行正常,如果没有正常运行,则Keepalived将把服务器从服务器群中剔除。


Keepalived主从切换

主从切换比较麻烦,需要将backup配置文件的priority选项的值调整的比master高50个点,然后reload配置文件就可以切换了。也可以将master的keepalived停止,这样也可以进行主从切换。
更多的是让keepalived根据VRRP协议自动切换不手动切换。

基于LVS博客做的此实验

先关掉ldirectord以免冲突,并设置开机不启动

在安装keepalived前,先解决依赖性

yum install -y libnfnetlink-devel-1.0.0-1.el6.x86_64.rpm
yum install -y openssl-devel libnl-devel iptables-devel

[[email protected] ~]# tar zxf keepalived-1.4.0.tar.gz  解压

[[email protected] keepalived-1.4.0]# ./configure --prefix=/usr/local/keepalived/ --with-init=SYSV  编译

编译完成,会生成makefile

make 编译
make install 安装

做软连接

[[email protected] keepalived-1.4.0]# ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
[[email protected] keepalived-1.4.0]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[[email protected] keepalived-1.4.0]# ln -s /usr/local/keepalived/etc/keepalived /etc/
[[email protected] keepalived-1.4.0]# ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin

加执行权限

[[email protected] keepalived]# /etc/init.d/keepalived start  开启服务

修改配置文件


[[email protected] keepalived]# /etc/init.d/keepalived reload   重新加载

打开server2,3的http服务

客户端测试

当关掉server2的http服务时,客户访问时会出现问题


下面做高可用
当主调度器故障,备用调度器启动

在开启一台server4 做备机,配置与server1一致

[[email protected] yum.repos.d]# vim rhel-source.repo  先配置yum源

在将1上的keepalived移动到4上,保持一样的配置

做软连接,加执行权限

修改配置文件

[[email protected] keepalived]# cd /etc/keepalived/
[[email protected] keepalived]# ls
keepalived.conf  keepalived.conf.bak  samples
[[email protected] keepalived]# vim keepalived.conf

修改 state 和 优先级

[[email protected] keepalived]# /etc/init.d/keepalived start  开启服务

[[email protected] keepalived]# yum install -y ipvsadm   安装

查看

[[email protected] local]# /etc/init.d/keepalived stop        #模拟server1挂掉

客户端测试,如下依旧不影响客户的访问

通过arp -an | grep 100

对比mac 地址来源,可知来自server4,实现了高可用

原文地址:http://blog.51cto.com/13362895/2083815

时间: 2024-10-06 22:03:53

企业 - keepalived + lvs的相关文章

深入理解keepalived+lvs

深入理解keepalived+lvs keepalived篇: master和bakeup之间的通信(vrrp协议) master : 172.25.88.1 bakeup :172.25.88.2 1.在matser上抓vrrp的包 [[email protected] ~]# /etc/init.d/keepalived startStarting keepalived:                                       [  OK  ][[email protec

keepalived+lvs

keepalived+lvs 前面我们讲解了使用LVS实现服务器的负载均衡,但是有两个问题我们没有解决分别是调度器的单点故障,第二个是服务器池的健康检查,今天我们使用keeplaved解决这两个问题,实际上keeplaved就是LVS的辅助工具. keeplaved主要实现的功能就是故障切换和健康检测来判断调度器和节点服务器的可用性,并及时隔离替换为新的服务器,当故障主机恢复时自动添加回来.官方站点位于http://www.keepalived.org/ 下载地址http://www.keepa

keepalived+LVS 实现双机热备、负载均衡、失效转移 高性能 高可用 高伸缩性 服务器集群

本章笔者亲自动手,使用LVS技术实现实现一个可以支持庞大访问量.高可用性.高伸缩性的服务器集群 在读本章之前,可能有不少读者尚未使用该技术,或者部分读者使用Nginx实现应用层的负载均衡.这里大家都可以阅读本章,即使部分读者使用Nginx负载均衡,但是在大流量下性能相对于工作在链路层的LVS真是不能同日而语,并且LVS不仅可以实现WEB方面的负载均衡,其他诸如数据库.FTP.Mail等都可以实现. 通常对于小型网站,很多都使用单台服务器,顶多在弄个缓存服务器.数据库服务器.但是一旦流量上来,单台

centos6中三台物理机配置nginx+keepalived+lvs

以下只是简单的安装配置,并没有测试这套负载,各种参数大家可以自己测试 vip:10.0.50.170 lvs server:10.0.50.183 real server:10.0.50.184/185 183/184/185同步时间,并且安装nginx # ntpdate time.nist.gov # yum install nginx # /etc/init.d/nginx start 在184/185上编写测试页面/usr/share/nginx/html/index.html 183上

keepalived+lvs简单搭建

 实现Keepalived+Lvs , 主要做 RealServer 健康检查及LoadBalance 主机与Master,Backup 主机正常运行,其中一部分主机做高可用,另一部分做负载均衡.通过在HA 主机上安装 keepalived 服务形成主备形式并进行 rr 轮询调度,使用VIP 来 Director向客户端提供服务 IP,Keepalived 能在服务器出现故障时将其从系统中剔除并将服务改换至其他正常节点,当坏掉的节点恢复正常时能够将其加入到服务器集群中,并在实时发现故障时能够发送

Keepalived+LVS+Nginx负载均衡之高可用

Keepalived+LVS+Nginx负载均衡之高可用 上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx负载均衡出现单机故障时,系统正常运行的需求.所以系统架构引入Keepalived组件,实现系统高可用. 一.Keepalived介绍 Keepalived是分布式部署系统解决系统高可用的软件,结合LVS(Linux Virtual Serve

keepalived lvs 实现lvs高可用

keepalived 简介 keepalived是借用VRRP协议来实现高可用性的,VRRP协议是解决单点故障,使路由器和层三交换机实现冗余功能. keepalived启动后会有三个进程 父进程:内存管理,子进程管理等等 子进程:VRRP子进程 子进程:healthchecker子进程 从图上可以看出,两个子进程都被系统WatchDog看管,两个子进程各自操作自己的事,healthchecker子进程负责检查各自服务器的健康程度,例如HTTP,LVS等等,如果healthchecker子进程检查

集群---Keepalived+lvs

****************** Keepalived+lvs ****************** 服务器 IP 分配: 服务器: ip地址 Load Balancer: 172.25.7.1 Backup: 172.25.7.4 Real Server 1: 172.25.7.2 Real Server 2: 172.25.7.3 主.备机上的软件包安装与配置: # tar zxf keepalived-1.3.5.tar.gz # cd keepalived-1.3.5 # ./con

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