keepalived的目的主要是为实现高可用,master和backup切换防止单点故障。
这里准备了两台服务器192.168.1.109 192.168.1.111
vip: 192.168.1.250 其中vip本身是不存在的是个虚拟的服务器。
一安装步骤
1.官网下载安装包 http://www.keepalived.org/download.html
2.解压安装包,安装需要的环境包,这一块可以在执行./configure --prefix=/usr/local/keepalived报错之后看缺少什么安装什么,我发现我只缺少openssl openssl-devel
yum -y install gcc make openssl openssl-devel wget kernel-devel
注意configure的参数prefix还是需要的因为后面执行cp的时候会用到这个目录
3.安装 make && make install
4.整理管理文件:
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ mkdir /etc/keepalived/ cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
5.修改配置文件
global_defs { notification_email { [email protected] [email protected] [email protected] } notification_email_from [email protected] smtp_server 127.0.0.1 smtp_connect_timeout 30 #Lvs负载均衡器标识,在一个网络里面,请保持他是唯一性。 router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER interface eth0 #同一个vrrp实例使用唯一的标识。即同一个vrrp_stance,MASTER和BACKUP的virtual_router_id是一致的,同时在整个vrrp内是唯一的。 virtual_router_id 51 priority 100 #MASTER与BACKUP负载均衡器之间同步检查的时间间隔 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.250/24 dev eth0 } }
6.启动keepalived /etc/init.d/keepalived start
可以通过日志查看
tail -f /var/log/messages
至此可以启动成功啦,可以启动下tomcat来试试访问
二主备切换
1.一样的安装步骤,拷贝配置文件 eth根据实际的端口填写。
scp keepalived.conf 192.168.1.111:/etc/keepalived/
global_defs { notification_email { [email protected] [email protected] [email protected] } notification_email_from [email protected] smtp_server 127.0.0.1 smtp_connect_timeout 30 #Lvs负载均衡器标识,在一个网络里面,请保持他是唯一性。 router_id LVS_DEVEL } vrrp_instance VI_1 { state BACKUP interface eth1 #同一个vrrp实例使用唯一的标识。即同一个vrrp_stance,MASTER和BACKUP的virtual_router_id是一致的,同时在整个vrrp内是唯一的。 virtual_router_id 51 priority 99 #MASTER与BACKUP负载均衡器之间同步检查的时间间隔 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.250/24 dev eth1 } }
2.启动 查看ip a和日志
我觉得这里是有问题的,因为backup起来之后就会抢占master的资源而backup的优先级没有master的高呀,看网上很多博客,这里其实不会绑定vip但是我这里不知道为何它抢占了master的资源,好奇怪。
3.既然backup现在成为了主,那我们现在就down掉backup
service keepalived stop
可以tomcat已经切换回master了
疑问:为何backup起来会抢占master呢,他们不是有优先级的吗?