实验前期准备:
5台虚拟机:4台当做服务器,1台当做客户机(当然,也可以使用主机的浏览器),4台服务器中,2台服务器当做后端真实访问服务器;另外2台服务器当做负载均衡服务器。
并且关闭所有防火墙及核心防护
systemctl stop firewalld
setenforce 0
后端真实服务器1:
yum -y install epel-release
yum -y install nginx
echo '自定义内容1'>/usr/share/nginx/html/index.html
systemctl start nginx
curl 127.1 #查看nginx内容
自定义访问内容
后端真实服务器2:
yum -y install epel-release
yum -y install nginx
echo '自定义内容2'>/usr/share/nginx/html/index.html
systemctl start nginx
curl 127.1 #查看nginx内容
自定义访问内容(建议2者不要一样,方便可以观察变化)
负载均衡器1:
yum -y install epel-release
yum -y install nginx
vim /etc/nginx/nginx.conf
[#http模块下
upstream web {
server 真实服务器1;
server 真实服务器2;
}
#server模块下
location / {
proxy_pass http://web;
}
]
systemctl start nginx
先做好负载均衡可以使用 'curl 127.1' 命令,查看是否是真实服务1,2的自定义内容。
yum -y install keepalive
vim /etc/keepalive/keepalive.conf
[
global_defs {
router_id LVS_01
#vrrp_strict
}
vrrp_script check_down {
script "/etc/keepalived/ng.sh"
interval 1
weight -30
fall 3
rise 2
timeout 2
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 50
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.174.188
}
track_script {
check_down
}
}
]
vim /etc/keepalived/ng.sh
{
killall -0 nginx
}
systemctl start keepalived.service
systemctl start nginx.service
主配置内容:
全局配置:自定义当前路由器唯一标识符为“LVS_01” ;注释掉严格模式检查。
vrrp健康检查:健康检查路径;每秒执行一次;当脚本检测失败优先级降低30;连续3次失败,鉴定为故障;连续2次成功,鉴定为恢复正常;脚本执行等待时间为2秒。
vrrp配置:初始为主设备;使用ens33网卡;虚拟路由组为50(主从一致);起始优先级为100;vrrp通告间隔为1秒;认证设置为密码认证,密码为1111(主从一致);定义的虚拟IP地址为192.168.174.188;关联的健康检查脚本为check_down。
负载均衡器2:
yum -y install epel-release
yum -y install nginx
vim /etc/nginx/nginx.conf
[#http模块下
upstream web {
server 真实服务器1;
server 真实服务器2;
}
#server模块下
location / {
proxy_pass http://web;
}
]
systemctl start nginx
先做好负载均衡可以使用 'curl 127.1' 命令,查看是否是真实服务1,2的自定义内容。
yum -y install keepalive
vim /etc/keepalive/keepalive.conf
[
global_defs {
router_id LVS_02
#vrrp_strict
}
vrrp_script check_down {
script "/etc/keepalived/ng.sh"
interval 1
weight -30
fall 3
rise 2
timeout 2
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 50
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.174.188
}
track_script {
check_down
}
}
]
vim /etc/keepalived/ng.sh
{
killall -0 nginx
}
systemctl start keepalived.service
systemctl start nginx.service
从配置内容:
全局配置:自定义当前路由器唯一标识符为“LVS_02” ;注释掉严格模式检查。
vrrp健康检查:健康检查路径;每秒执行一次;当脚本检测失败优先级降低30;连续3次失败,鉴定为故障;连续2次成功,鉴定为恢复正常;脚本执行等待时间为2秒。
vrrp配置:初始为从设备;使用ens33网卡;虚拟路由组为50(主从一致);起始优先级为99;vrrp通告间隔为1秒;认证设置为密码认证,密码为1111(主从一致);定义的虚拟IP地址为192.168.174.188;关联的健康检查脚本为check_down。
实验验证:
使用浏览器访问192.168.174.188
关闭主配置,再来查看是否对访问造成影响:
此时的从设备:获得了虚拟IP地址
我们重新打开主设备来查看主从的变化: