keepalived安装和配置
keepalived安装
keepalived
安装包下载地址: https://www.keepalived.org/download.html ,我用的是https://www.keepalived.org/software/keepalived-2.0.19.tar.gz
版本,wget
获取,在解压后,进入目录,然后执行下列命令。
#配置检测
./configure --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --mandir=/usr/share
# 编译,编译安装
make && make install
如果在./confure
是报了openssl错误,可以参考这篇文章:
基本环境
两台机器,机器A,ip:192.168.1.102
,作为主机;机器B,ip:192.168.1.105
,作为备机,VIP(虚拟IP)为:192.168.1.101
。使用Tomcat作为服务器软件测试,直接使用Tomcat的ROOT项目进行测试。特别需要注意的是配置是interface
,这个需要根据ip a
查询看一下实际的网口名称,我这里是ens33
,很多机器实际会是eth0
这里需要根据自己实际设置。
配置主机的keepalived.conf
global_defs {
router_id NodeA
}
vrrp_instance VI_1 {
state MASTER #设置为主服务器
interface ens33 #监测网络接口
virtual_router_id 51 #主、备必须一样
priority 100 #(主、备机取不同的优先级,主机值较大,备份机值较小,值越大优先级越高)
advert_int 1 #VRRP Multicast广播周期秒数
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress{
192.168.1.101/24
}
}
配置备机的keepalived.conf
global_defs {
router_id NodeB
}
vrrp_instance VI_1 {
state BACKUP #设置为备机服务器
interface ens33 #监测网络接口
virtual_router_id 51 #主、备必须一样
priority 90 #(主、备机取不同的优先级,主机值较大,备份机值较小,值越大优先级越高)
advert_int 1 #VRRP Multicast广播周期秒数
authentication {
auth_type PASS #VRRP认证方式,主备必须一致
auth_pass 1111 #(密码)
}
virtual_ipaddress {
192.168.1.101/24 #VRRP HA虚拟地址
}
}
启动Keepalived
#启动keepalived服务(一般来说先启动master服务器的)
service start keepavlived
启动master后,可以通过tail -f /var/log/message
查看日志,如下所示:
通过ip a
可以查看我们的网口的IP,会多了个IP:192.168.1.101
,就是我们配置的虚拟IP(VIP),如下所示:
启动backup(备机)的Keepalived
服务,查看它的网口IP,显然不会有VIP:192.168.1.101
,因为它是备机,此时VIP在主机,如下所示:
启动Tomcat服务
这里就不说Tomcat的安装了,只要两台机器安装Tomcat服务,启动了就可以了,我这里就直接使用Tomcat自带的ROOT项目测试,即访问http://192.168.1.101:8080
来测试。
测试步骤
首先,此时VIP(192.168.1.101
)在master(192.168.1.102
)机器上,我们可以直接通过访问http://192.168.1.101:8080
访问首页如下所示:
然后,我们通过service keepalived stop
关闭master的keepavlied,然后再到backup(192.168.1.105
)备机通过ip a
会发现VIP(192.168.1.101
)漂移到了备机,可以查看备机的/var/log/message
看到备机获得VIP的日志,如下所示:
ip a
查看漂移后的结果如下所示:
再通过http://192.168.1.101:8080
,其实访问的是备机的Tomcat,为了排除可能还是访问的是master机器的Tomcat,我们可以关闭主机的Tomcat,就可以确定确实是通过VIP(192.168.1.101
)访问的backup的Tomcat,说明keepavliced是配置成功了。
最后,如果启动master的keepalived,则VIP又会自动的漂移会master。