keepalived介绍
1、 keepalived 是lvs 的扩展项目,因此它们之间具备良好的兼容性。
2、 通过对服务器池对象的健康检查,实现对失效机器/服务的故障隔离。
3、 负载均衡器之间的失败切换failover,是通过VRRPv2(Virtual Router Redundancy Protocol)stack 实现的。
在这个结构图里,处于下端的是内核空间,它包括ipvs 和NETLINK 两个部分。Ipvs 的作用在前面的章节已经做过描述,不再重复叙述;netlink 提供高级路由及其他相关的网络功能,如果我们在负载均衡器上启用netfilter/iptable,将会直接影响它的性能。出于图形上方的组件为用户空间,由它来实现具体的功能,下面选取几个重要的来做说明:
1、 WatchDog 负责监控checkers 和VRRP 进程的状况。
2、 Checkers 负责真实服务器的健康检查healthchecking,是keepalived 最主要的功能。换句话说—可以没有VRRP Stack,但健康检查healthchecking 是一定要有的。
3、 VRRP Stack 负责负载均衡器之间的失败切换FailOver.如果只用一个负载均衡器,则VRRP 不是必须的。
4、 IPVS wrapper 用来发送设定的规则到内核ipvs 代码。
5、 Netlink Reflector 用来设定 vrrp 的vip 地址等。
安装keepalived(因为比较简单,不做详细介绍)
1、 下载最新稳定版 http://www.keepalived.org/software/keepalived-1.2.23.tar.gz
2、 解包 tar zxf keepalived-1.2.23.tar.gz
3、 切换目录 cd keepalived-1.2.23
4、 安装依赖包 yum install -y libnfnetlink-devel openssl-devel
5、 配置并编译安装./configure ; make ; make install
6、 拷贝相应文件到/etc下,命令如下:
1 cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
2 cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
3 cp /usr/local/sbin/keepalived /usr/sbin/
4 mkdir /etc/keepalived -p
5 cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
7、启动并查看keepalived
[root@LVS-DR-Backup script]# /etc/init.d/keepalived start
正在启动 keepalived: [确定]
[root@LVS-DR-Backup script]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.200.100:https rr persistent 50
-> 192.168.201.100:https Masq 1 0 0
TCP 10.10.10.2:connlcli rr persistent 50
-> 192.168.200.2:connlcli Masq 1 0 0
-> 192.168.200.3:connlcli Masq 1 0 0
TCP 10.10.10.3:connlcli rr persistent 50
-> 192.168.200.4:connlcli Masq 1 0 0
-> 192.168.200.5:connlcli Masq 1 0 0
[root@LVS-DR-Backup script]#