前言
- 我之前的博客都写的很完善了,这里提供链接,有兴趣的同学可以去看看
- LVS+Keepalived 高可用群集
- 本文已对上一篇博客中搭建 keepalived 的步骤进行了优化,以下直接贴干货
一、环境
- 宿主机:Win10 专业工作站
- VMware:16Pro(16.1.0)
- CentOS 7
- 网络适配器:均为 NAT 模式
- 网卡配置:均为静态获取 IP
- YUM 源:本地
- 主 DR 服务器(负载调度器)(CentOS 7-1):192.168.126.11
- 从 DR 服务器(负载调度器)(CentOS 7-2):192.168.126.12
- Web 服务器 1(CentOS 7-3):192.168.126.13
- Web 服务器 2(CentOS 7-4):192.168.126.14
- NFS 服务器(CentOS 7-5):192.168.126.15
- VIP:192.168.126.166
- Win10 客户端:192.168.126.10
二、搭建步骤
- 本实验基于已经做好了 LVS-DR 负载均衡群集的基础上,只用再加上一台从调度器,配置与主调度器是一致的
- 看到这里需要跟着我之前的博客先搭建好 LVS+DR,再添加一台配置一样的从调度器即可,下面贴出链接
- 构建 LVS 负载均衡群集–直接路由模式(LVS-DR)
- 下面只贴出 Keepalived 的配置步骤
- 配置 CentOS 7-1
yum -y install keepalived
#安装软件包
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak
#备份
vim keepalived.conf
global_defs {
#定义全局参数
#第10行,邮件服务指向本地
smtp_server 127.0.0.1
#第12行,指定服务器(路由器)的名称,主备服务器名称须不同,主为LVS_01,备为LVS_02
router_id LVS_01
#注释该行!严格遵守VRRP协议,可能会阻止启动Keepalived
#vrrp_strict
}
vrrp_instance VI_1 {
#定义VRRP热备实例参数
#20行,指定热备状态,主为MASTER,备为BACKUP
state MASTER
#21行,指定承载vip地址的物理接口
interface ens33
#第22行,指定虚拟路由器的ID号,每个热备组保持一致
virtual_router_id 10
#第23行,指定优先级,数值越大优先级越高,主为100,备为99
priority 100
advert_int 1 #通告间隔秒数(心跳频率)
authentication {
#定义认证信息,每个热备组保持一致
auth_type PASS #认证类型
第27行,指定验证密码,主备服务器保持一致
auth_pass 123123
}
virtual_ipaddress {
#指定群集vip地址
192.168.126.166
}
}
#第34行,指定虚拟服务器地址(VIP)、端口,定义虚拟服务器和Web服务器池参数
virtual_server 192.168.126.166 80 {
delay_loop 6 #健康检查的间隔时间(秒)
lb_algo rr #指定调度算法,轮询(rr)
#第37行,指定群集工作模式,直接路由(DR)
lb_kind DR
persistence_timeout 50 #连接保持时间(秒)
protocol TCP #应用服务采用的是 TCP协议
#第41行,指定第一个Web节点的地址、端口
real_server 192.168.126.13 80 {
weight 1 #节点的权重
第43行,添加以下健康检查方式
TCP_CHECK {
connect_port 80 #添加检查的目标端口
connect_timeout 3 #添加连接超时(秒)
nb_get_retry 3 #添加重试次数
delay_before_retry 3 #添加重试间隔
}
}
real_server 192.168.126.14 80 {
#添加第二个Web节点的地址、端口
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
#删除后面多余的配置
}
scp keepalived.conf [email protected]:/etc/keepalived/
#先去从调度器安装好 keepalived ,再远程把主调度器配置好的配置文件传输过去
#只要改动几个参数即可,快捷且方便
systemctl start keepalived
#主和从一起开启服务
- 测试
ip addr
#查看 IP
- 首先,主、从都分别执行这个命令
- 可以看到,只有主有 VIP
- 然后我们关闭主的 keepalived 试试看
- VIP 漂移到从调度器上去了,我们随后再重新启动主调度器的 keepalived 又能发现,虚拟 IP 又回来了,这里跟之前设置的主从优先级有关
- 所以说验证了虚拟路由器的 IP 地址(VIP)可以在热备组内的路由器之间进行转移
- 我们最后再来验证下访问浏览器,这里客户端的默认网关不需要再指向 VIP