前言
现在,高可用已经是各行各业必须具备的能力里,那么我们怎么去实现高可用呢?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
的介绍结束!
评论区