关于keepalived

专为LVS和HA设计的一款健康检查工具 支持故障自动切换(Failover) 支持节点健康状态检查(Health Checking) 官方网站:http://www.keepalived.org/

keepalived概述及安装

keepalived的热备方式 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议) 一主 + 多备,共用同一个IP地址,但优先级不同

安装及服务控制 -----先安装支持软件: kernel-devel、openssl-devel、popt-devel、ipvsadm -----再编译安装keepalived,需指定内核路径 --prefix、--with-kernel-dir= -----使用Keepalived服务

双机热备应用环境

案例环境 漂移地址:172.16.16.172 主、备服务器:172.16.16.173、172.16.16.174 提供的应用服务:FTP、Web

配置文件keepalived.conf 全局设置:global_defs { ... } 热备设置:vrrp_instance 实例名称 { ... } 样例文件位于:/etc/keepalived/samples/...

主服务器配置 state:设置本节点状态,MASTER、BACKUP priority:设置竞选优先级,数值越大优先级越高 virtual_ipaddress { ... }:设置漂移IP地址 …… 备用服务器配置 router_id设为自有名称 state设为BACKUP priority值低于主服务器 —— 其余所有配置均与主服务器相同 启用keepalived服务 主、备机中均启用keepalived服务 其中优先级最高的设备将获得VIP的控制权 VIP地址会由keepalived自动设置 测试双机热备的效果 主、备机均启用FTP、Web服务,内容相同 先后禁用、启用主服务器的网卡,执行以下测试 测试1:使用ping检测172.16.16.172的连通性 测试2:访问ftp://172.16.16.172/,确认可用性及内容变化 测试3:访问http://172.16.16.172/,确认可用性及内容变化 测试4:查看日志文件/var/log/messages中的变化

Keepalived双机热备实验步骤

楼主前言----keeplived是专门针对LVS设计的一款辅助工具,主要功能是实现故障切换,类似于我们以前学习过的HSRP热备份路由协议,HSRP是思科的私有协议,而VRRP是通用协议,都是为了实现故障切换,当一台路由器发生故障的时候,另一台马上接替工作,用户感觉不到服务器发生了问题,而且不会中断服务。我们今天学习的双机热备是就是利用了VRRP虚拟路由冗余协议,和HRSP一样都拥有一个虚拟的ip地址对外提供服务,而不是真正的服务器ip地址,也拥有一台主服务器和多台备份服务器,优先级高的做主路由器,备份服务器处于冗余状态,当主服务器发生故障的时候,从服务器会变成主服务器,当主服务器修好之后,会重新成为主路由器。这里和HSRP不同的是,HSRP需要配置占先权,而这里不用配置,默认都有占先权。

一、实验案例:LVS+Keepalived高可用群集

实验目标: 本实验的目的是实现双机热备的同时实现负载均衡群集,与上次的实验相比,多了一台从调度器,当主调度器发生故障的时候,从服务器会继续提供调度工作,保证用户的正常访问。 所以做这个实验之前需要把上次的lvs-DR负载均衡群集的实验做完,然后增加一台从调度器,添加两块网卡,配置从调度器和主调度器方法一样,但是在配置keepalived的时候从服务器优先级要设置的比主的低,主服务器修改成为MASTER,从服务器是BACKUP,服务器名称改成不一样的就可以,其他的配置一样。 在这里两台调度器的eth0的内网卡修改为vm1,eth1做外网卡修改为vm8,所以就是说192.168.7.0网段都是vm1,172.16.16.0网段都是vm8,ip地址如上图所示。 最终实验环境需要以下服务器和客户端,一共6台。 1、配置nfs服务器192.168.7.250 配置方法参考上一个博客,和上次的配置完全一样 在nfs服务器能看到上图所示内容就说明配置正确

2、配置web节点A web节点A的内网卡是192.168.7.177,外部网卡是172.16.16.177,整个服务器的配置依然参考上一个(lvs负载均衡群集)即可,除了不用配置eth0:0的地址以外,其它配置完全一样。 可以挂载到NFS服务器即可,本次实验挂载到了nginx网站主目录下

3、配置web节点B 与web节点A的步骤完全一样,注意外网卡是172.16.16.178,内网卡是192.168.7.178。

4、配置LVS主调度器 依然参考上次的博客即可,配置步骤完全一样。

5、配置LVS从调度器 与主调度器的配置一样

二、配置LVS+Keepalived高可用群集 1、配置主调度器 1)安装支持软件 2)编译安装Keepalived 3)使用Keepalived服务 Chkconfig --add keepalived Chkconfig keepalived on

4)配置主调度器 Vi /etc/keepalived/keepalived.conf 接上图 5)重启keepalived服务 6)从调度服务器的配置 首先安装keepalived,和主服务器一样,在配置的时候主要有三个地方不一样:优先级99,调度器名称R2,热备状态为BACKUP Vi /etc/keepalived/keepalived.conf 7)重新从服务器的Keepalived服务

注意:主从配置完成之后请把主从调度器的外网卡断掉,然后再连接上,重新加载一下。

8)测试lvs+keepalived群集 在客户机上访问http://172.16.16.172,可以正常访问,效果如下

然后把主调度器的外网卡断掉,如果客户端依然可以访问网站,说明成功。

再次访问网站 在从调度器上查看网卡配置,可以看到虚拟ip显示了,说明现在从服务器成为了主调度器。 9)测试负载均衡 为了测试效果明显,把web节点A取消挂载NFS,默认页面为nginx欢迎页面。 Web节点b的网页保持不变 在客户端上访问

每次访问的网页都不一样,说明负载均衡没问题。

10)测试联通性 在客户机上ping 172.16.16.172 -t,然后断掉主调度器的外网卡,发现断掉一下之后马上又恢复通信,说明今天的实验成功了,当然最关键还是当主服务器故障之后,用户访问网站没有感觉,web节点的网页也要完全一样。