现在,高可用已经是各行各业必须具备的能力里,那么我们怎么去实现高可用呢?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 intall
systemctl stop firewalld
systemctl diable firewalld
vim /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
的介绍结束!