Keepalived概述:
keepalived 是一个类似于 layer3, 4 & 5 交换机制的软件,也就是我们平时说的第 3 层、第 4 层和第 5层交换。 Keepalived 的作用是检测 web 服务器的状态,如果有一台 web 服务器死机,或工作出现故障,Keepalived 将检测到,并将有故障的 web 服务器从系统中剔除,当 web 服务器工作正常后 Keepalived 自动将web 服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web 服务器。
拓展一下Keepalived工作原理:
Layer3,4&5 工作在 IP/TCP 协议栈的 IP 层, TCP 层,及应用层,。
Layer3: Keepalived 使用 Layer3 的方式工作式时, Keepalived 会定期向服务器群中的服务器发送一个 ICMP 的数据包(既我们平时用的 Ping 程序) , 如果发现某台服务的 IP 地址没有激活,Keepalived 便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。 Layer3 的方式是以服务器的 IP 地址是否有效作为服务器工作正常与否的标准。
Layer4: 主要以 TCP 端口的状态来决定服务器工作正常与否。如 web server 的服务端口一般是80,如果 Keepalived 检测到 80 端口没有启动,则 Keepalived 将把这台服务器从服务器群中删除。
Layer5: Layer5 就是工作在具体的应用层了,比 Layer3,Layer4 要复杂一点,在网络上占用的带宽也要大一些。 Keepalived 将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则 Keepalived 将把服务器从服务器群中剔除。
网络拓扑图:
环境准备以及规划:
Client IP: 192.168.50.24
VIP:192.168.50.50
Nginx负载均衡IP1,Keepalived MASTER节点:192.168.50.20
Nginx负载均衡IP2,Keepalived BACKUP节点:192.168.50.21
Web站点1:192.168.50.22
Web站点1:192.168.50.23
步骤一:nginx负载均衡器配置
1.安装Nginx部署可参考:
(176条消息) LNMP网站框架搭建(编译安装的方式)_zhangchang3的博客-CSDN博客
2 Nginx反向代理配置部分如下:
上面的upstream 后面的服务器组名abc_server ,upstream不能识别,要把下划线去掉,改为abcserver才可以,不然报错,服务起来不
安装Keepalived:
1. 使用yum 进行安装
yum install keepalived -y
2. 配置keepalived.conf,设置MASTER/BACKUP(主备)
MASTER配置:
备配置文件
直接远程复制 scp keepalived.conf 192.168.50.21:`pwd`,然后修改配置文件
编写Nginx检查脚本,给脚本赋执行权限
vim /etc/keepalived/nginx_check.sh
chmod 755 /etc/keepalived/nginx_check.sh
步骤二:节点服务器配置
192.168.50.22 和192.168.50.23yum安装http服务,做nginx调度器的节点服务器
systemctl stop firewalld
setenforce 0
yum -y install httpd
systemctl start httpd
准备网站首页文档
echo "<h1> this is web1 test side " > /var/www/html/index.html
echo "<h1> this is web2 test side " > /var/www/html/index.html
步骤三:实验验证
1 在客户机中输入VIP,有负载均衡的效果
2 关闭主调度器的nginx,同样在客户机中输入VIP访问