Keepalived配置原理和工作说明

2016年2月25日22:03:44 发表评论 886 views
本文最后更新于2018年1月19日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

一,介绍

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

Keeplived的作用是检测web服务器的状态,如果有一台web服务器死机或者工作出现状况,Keepalived将检测到,并将所有有故障的web服务器从系统中剔除,当web服务器工作正常后,Keepalived自动将web服务器加入到服务器群中,这些都是自动完成,不需要人为干涉。

二,工作原理

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

虚拟路由冗余协议,即将N台提供相同功能的路由器做成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip,master会发组广播,当backup收不到vrrp包时就认为master宕掉了,这时就根据VRRP的优先级选择一个backup当master,这样就保证路由的高可用。

三,作用

主要作用于RealServer的健康状态检查以及LoadBalance(负载均衡)主机(Master)和备机(Backup)之间的心跳检测。

四,安装

从49服务器下载最新安装包:

keepalived-1.2.19.tar.gz

解压并进行编译安装:

Tar zxf keepalived-1.2.19.tar.gz

根据报错安装:

yum install openssl-devel gcc gcc-c++ libnl-devel -y

编译:

./configure --prefix=/usr/local/keepalived

Make && make install

安装完成后,进入安装目录:/usr/local/keepalived

将安装目录发送给备机:

Scp -r keepalived/ 172.25.49.2:/usr/local

 

五,配置文件

ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

ln -s /usr/local/keepalived/etc/keepalived /etc/

ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin

Vim /etc/keepalived/keepalived.conf

 

 

完成后,将配置文件发送给背机server2.example.com

Scp keepaloived.conf 172.25.49.2:/etc/keepalived/

!!~~注意:server2为背机,需要对配置文件做以下几处修改:

1,state BACKUP                                    ##状态,BACKUP为备用模式

2,priority 50                                          ##优先级,背机优先级必须低于主机

启动服务:

/etc/init.d/keepalioved start

六,测试

1. 高可用测试:停止 master 上的 keepalived 服务,看 backup 是否接管

2. 负载均衡测试:访问 http://172.25.49.100,看到页面在两个 realserver 上切换表示成功!你也可以通过 ipvsadm -Ln 查看详细连接情况.

3. 故障切换测试:任意关闭 realserver 上的 httpd 服务,Keepalived 监控模块是否能及时发现,然后屏蔽故障节点,同时将服务转移到正常节点来执行。

关于代码:persistence_timeout 50

在realserver  server3.example.com和server4.example.com安装vsftp,并且在发布目录/var/ftp/下建立检测区分文件:server3和server4,然后在主机上编辑keepalived.conf

在最后增加以下代码:

如果不打开 persistence_timeout 50 ,在测试时,无法正常访问ftp,加入后重新加载keepalived后测试

  • 微信小程序
  • 关注微信小程序
  • weinxin
  • 微信公众号
  • 关注微信公众号
  • weinxin
Honest1y

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: