!!! 本文已参与「新人创作礼」活动,一起开启掘金创作之路。更多干货文章,可以访问 菜鸟厚非
安装
Keepalived 安装较为简单,执行 yum 目录即可
yum install keepalived -y
主从模式
| 服务器 | 角色 |
|---|---|
| 192.168.91.135 | master |
| 192.168.91.136 | backup |
一、master
1 . 查 master 未启动 Keepalived 前 ip 信息,可看到只有当前一个主机 ip 192.168.91.135
2 . 配置 keepalived.conf
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.91.166/24 dev ens33 label ens33:1
}
}
3 . 启动且加入开机自启
systemctl start keepalived
systemctl enable keepalived
4 . 查看 IP,可以看到此时多了一个 ip ,即 vip 192.168.91.166
ip addr
二、backup
1 . 查 backup 未启动 Keepalived 前 ip 信息,可看到只有当前一个主机 ip 192.168.91.136
2 . 配置 keepalived.conf
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.91.166/24 dev ens33 label ens33:1
}
}
3 . 同上启动且开机自启
4 . 查看 IP,可以看到此时还是只有一个 ip 192.168.91.136,是因为当前节点 backup 节点,且主节点还在存活着
三、主备测试
经过 一、二 两个步骤 Keepalived 已经部署成功,可以看到 VIP 在 192.168.91.166 此时在 191.168.91.135 服务器。 1 . 停止 191.168.91.135 服务器 Keepalived ,并查看 ip 。可以看到 VIP 192.168.91.166 已经消失。
systemctl stop keepalived
ip addr
2 . 查看 191.168.91.136 服务器 ip ,可以看到 VIP 192.168.91.166 已经飘到了此服务器
双主模式
此模式是会有两个 VIP(192.168.91.166、192.168.91.167) 分别在不同的服务器,形成相互主备的模式
| 服务器 | 角色 |
|---|---|
| 192.168.91.135 | master、backup |
| 192.168.91.136 | backup、master |
135 服务器
1 . 在 191.168.91.135 修改 keepalived 配置文件,且重启
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.91.166/24 dev ens33 label ens33:1
}
}
vrrp_instance VI_2 {
state BACKUP
interface ens33
virtual_router_id 52
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 2222
}
virtual_ipaddress {
192.168.91.167/24 dev ens33 label ens33:2
}
}
systemctl restart keepalived
2 . 查看 ip ,可以看到,当前服务器拥有两个 VIP
136 服务器
1 . 在 191.168.91.136 修改 keepalived 配置文件,且重启 keepalived
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.91.166/24 dev ens33 label ens33:1
}
}
vrrp_instance VI_2 {
state MASTER
interface ens33
virtual_router_id 52
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 2222
}
virtual_ipaddress {
192.168.91.167/24 dev ens33 label ens33:2
}
}
systemctl restart keepalived
2 . 查看两台服务器 ip 可以看到各自拥有一个 VIP
配置详解
vrrp_instance
| 参数 | 说明 |
|---|---|
| interface | 实际网卡名 |
| virtual_router_id | VRRP 路由 ID实例,每个实例是唯一的 |
| priority | 优先级,备服务器设置比 master 小 |
| advert_int | 指定VRRP 心跳包通告间隔时间,默认1秒 |
| virtual_ipaddress | 虚拟IP(VIP) |
vrrp_script
指定检查nginx工作状态脚本(根据nginx状态判断是否故障转移)