Linux下部署Keepalived
测试环境:两台服务器,linux版本:Ubuntu 20.04.3;
介绍
Keepalived 是一种高性能的服务器高可用或热备解决方案, Keepalived 可以用来防止服务器单点故障的发生;Keepalived可以将多台服务器通过虚拟IP方式,对外提供同一个IP地址,这样,当其中某台服务器发生故障后,访问可转移到其它正常的服务器。
安装步骤
配置Master服务器
选择其中一台作为主服务器,进行以下操作:
1.更新源,下载Keepalived;服务器执行:
sudo apt-get update
sudo apt-get upgrade -- 如果安装不成功,再来执行升级
sudo apt-get install keepalived
2.安装成功后,进入到keepalived目录;
cd /etc/keepalived/
vi keepalived.conf
3.keepalived.conf输入以下内容:
global_defs {router_id LVS_MASTER # 唯一标识,主备节点需不同(如 LVS_BACKUP)
}vrrp_instance VI_1 {state MASTER # 主节点为 MASTER,备节点为 BACKUPinterface eth0 # 监听的网卡名称(使用 `ip a` 查看实际网卡)virtual_router_id 66 # 虚拟路由器 ID,主备节点需相同(范围 1-255)priority 100 # 优先级(主节点 > 备节点,如备节点设为 90)advert_int 1 # 心跳检查间隔(秒)authentication {auth_type PASS # 认证类型auth_pass 123456 # 认证密码(主备节点需相同)}virtual_ipaddress {192.168.1.100/24 # 虚拟 IP 地址(VIP),需与物理网卡同子网}
}
注意:
选择的virtual_ipaddress填写一个本地局域网没有使用的,不要和其它ip相同,造成ip地址冲突。
4.启动服务:
sudo systemctl start keepalived
sudo systemctl enable keepalived
5.检查服务状态:
sudo systemctl status keepalived
如果输出以下内容,则表明keepalived服务启动成功(Active:active):
配置Slave服务器
剩下的一台服务器中作为从服务器,操作步骤与配置主服务器完全相同,只是keepalived.conf文件的内容替换为如下所示:
global_defs {router_id LVS_BACKUP # 备用节点
}vrrp_instance VI_1 {state BACKUP # 主节点为 MASTER,备节点为 BACKUPinterface eth0 # 监听的网卡名称(使用 `ip a` 查看实际网卡)virtual_router_id 66 # 虚拟路由器 ID,主备节点需相同(范围 1-255)priority 90 # 优先级(主节点 > 备节点,如备节点设为 90)advert_int 1 # 心跳检查间隔(秒)authentication {auth_type PASS # 认证类型auth_pass 123456 # 认证密码(主备节点需相同)}virtual_ipaddress {192.168.1.100/24 # 虚拟 IP 地址(VIP),需与物理网卡同子网}
}
这样,两台keepalived服务器就配置好了。用本机电脑ping分配的虚拟ip地址:192.168.1.100,能够ping通,这个时候,把主节点服务器关机,可以看到,ping中断了1秒中左右,又会恢复,这是keepalived将访问服务路由到备用服务器上了。
另外,两台服务器的防火墙建议关闭。或者防火墙设置可能需要调整以允许VRRP流量通过;如下所示:
sudo ufw allow from any to any port 112 port 112 proto vrrp comment 'Allow VRRP traffic'