现在,高可用已经是各行各业必须具备的能力里,那么我们怎么去实现高可用呢?keepalived 就是一个很好的选择,它采用 vrrp 虚拟路由冗余协议实现节点和服务的高可用,使用简单,非常适合追求简单轻量的系统。今天我们就一起从一个简单的试验走进 keepalived 的世界。
vip:virtual IP,虚拟IP的意思

以上,我们在两台虚拟机上分别部署
keepalived服务,他们通过vrrp协议实现路由冗余,默认vip运行在master节点上,用户通过vip就可以访问到后端的server-1服务。当master节点异常后,keepalived的backup节点会自动切换同时将vip在backup节点启动,用户通过vip可以访问到后端的server-2服务。
yum install keepalived# 下载地址
https://www.keepalived.org/download.html
tar -zxvf keepalived-2.2.4.tar.gz
cd keepalived-2.2.4
./configure
# 如果缺少依赖请按照提示安装
make && make intallsystemctl stop firewalld
systemctl diable firewalldvim /etc/keepalived/keepalived.conf

vim /etc/keepalived/keepalived.conf

vrrp_strict 意为严格遵循 vrrp 协议,我们平时使用需要将其注释。state 意为当前 keepalived 节点的角色,可选 MASTER、BACKUP。priority 意为优先级,通常和 state 配合使用,即 MASTER 的优先级要高于 BACKUP。virtual_address 意为虚拟 IP,可以有多个,我们测试和环境就一个,即如图中配置。两个节点分别执行systemctl start keepalived
理论上,如果配置正确,keepalived 服务启动成功,那么 MASTER 节点上的 eth0 口上会多出一个 IP,那就是 VIP。



我们通过另外一台虚机,作为客户端对 vip 进行访问测试。
测试前我们先在两台
keepalived节点上启动一个简易的web服务,对请求响应一段字符即可。

以上截图中的虚机
hostname是server并不代表什么意思,以上测试中,server虚机是充当了客户端的角色,对vip进行访问,而且拿到了来自master节点的相应。
我们将 master 节点的 keepalived 服务停掉。

查看 backup 的日志


客户端访问 vip 查看效果

至此,关于 keepalived 的介绍结束!