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

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

backup 节点
vim /etc/keepalived/keepalived.conf

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

master 上 keepalived 的启动日志

backup 上的 keepalived 的启动日志

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

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

查看 backup 的日志


客户端访问 vip 查看效果

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