【keepalived安装】
1、下载keepalived。
wget http://www.keepalived.org/software/keepalived-1.2.13.tar.gz
2、编译安装
yum install -y gcc openssl openssl-devel ipvsadm libnl-devel
tar zxvf keepalived-1.2.13.tar.gz
cd keepalived-1.2.13
./configure --sysconfdir=/etc && make && make install
libnl是为了方便应用程序使用netlink接口而开发的一个库。这个库为原始netlink消息传递以及不同的netlink family专用接口提供了一个统一的接口。
如果报错SO_MARK的头信息找不到,那就是内核版本太低了,你可以选择编译参数禁用或者升级内核。
【keepalived配置】
1、防火墙配置
MASTER以IP组播(组播地址:224.0.0.18)形式发送VRRP协议包,与BACKUP保持心跳连接,若MASTER不可用(或BACKUP接收不到VRRP协议包),则BACKUP通过竞选产生新的MASTER并继续对外提供路由服务,从而实现高可用。防火墙配置:
iptables –I INPUT –d 224.0.0.0/8 –j ACCEPT
iptables –A INPUT –p vrrp –j ACCEPT
2、应用配置
keepalived的配置都写在配置文件里面,而且支持的配置比较多。大致分为三类:全局配置、vrrp配置、lvs配置。(lvs配置可以省略,如果不用)
全局配置:
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS
}
#这里需要配置sendmail ,如果不需要的话,省略如下:
! Configuration File for keepalived
global_defs {
router_id LVS
}
vrrp配置:
这部分又分为两部分,一部分是同步组,一部分是实例组。
同步组是让几个实例直接状态同步切换。比如当包含两个网卡的时候(一个公网、一个内网),比如健康检查的是内网,但是公网出现故障了就会有问题了,同步后状态就能同步了。
这个一般都没用。
实例组配置如下:
#state 值vrrp初始状态。
#interface表示绑定的接口。
#virtual_router_id 表示vrrp的id
#priopity 表示权重值
#advert_int 检查评论
#authentication 表示认证
virtual_ipaddress 表示绑定的地址
#后面notify的是通知调用的脚本
lvs部分:
lvs默认的负载模式有rr|wrr|lc|wlc|lblc|sh|dh。
健康检测方式HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK
调度模式NAT|DR|TUN
这里的配置很多建议参考编译包里面的samples配置。
启动默认的配置就可以启动起来。
好了,编译的时候别加--enable-debug,不然你娃娃要遭。