1、实验环境
主机名 | IP地址 | 身份 |
openEuler-1 | 192.168.93.10 192.168.23.10(心跳检测) |
Master |
openEuler-2 | 192.168.93.11 192.168.23.11(心跳检测) |
Banckup |
openEuler-3 | 192.168.93.12 | RS |
openEuler-4 | 192.168.93.13 | RS |
Rocky-1 | 192.168.93.20 | client |
2、配置nginx的反向代理
[root@openEuler-1 ~]# cd /etc/nginx/conf.d/
[root@openEuler-1 conf.d]# vim lb.conf
upstream webs {
server 192.168.93.12:80;
server 192.168.93.13:80;
}
server {
location / {
proxy_pass http://webs;
}
}
[root@openEuler-1 conf.d]# scp lb.conf 192.168.121.12:$PWD
# 重启nginx服务
3、配置keepalived
[root@openEuler-1 conf.d]# cd /etc/keepalived/
[root@openEuler-1 keepalived]# vim keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_1
}
vrrp_script check_nginx {
script "killall -0 nginx"
}
vrrp_instance VI_1 {
state MASTER
interface ens33
lvs_sync_daemon_interface ens37
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
check_nginx
}
virtual_ipaddress {
192.168.93.100
}
}
[root@openEuler-2 keepalived]# vim keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_2
}
vrrp_script check_nginx {
script "killall -0 nginx"
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
lvs_sync_daemon_interface ens37
virtual_router_id 51
priority 80
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
check_nginx
}
virtual_ipaddress {
192.168.93.100
}
}
4、测试
[root@openEuler-1 conf.d]# systemctl stop nginx.service
Jul 9 10:40:08 openEuler-2 Keepalived_vrrp[2746]: (VI_1) Backup received priority 0 advertisement
Jul 9 10:40:08 openEuler-2 Keepalived_vrrp[2746]: (VI_1) Backup received priority 0 advertisement
Jul 9 10:40:09 openEuler-2 Keepalived_vrrp[2746]: (VI_1) Receive advertisement timeout
Jul 9 10:40:09 openEuler-2 Keepalived_vrrp[2746]: (VI_1) Entering MASTER STATE
Jul 9 10:40:09 openEuler-2 Keepalived_vrrp[2746]: (VI_1) setting VIPs.
Jul 9 10:40:09 openEuler-2 Keepalived_vrrp[2746]: (VI_1) Sending/queueing gratuitous ARPs on ens33 for 192.168.93.100
Jul 9 10:40:09 openEuler-2 Keepalived_vrrp[2746]: Sending gratuitous ARP on ens33 for 192.168.93.100
Jul 9 10:40:09 openEuler-2 Keepalived_vrrp[2746]: Sending gratuitous ARP on ens33 for 192.168.93.100
Jul 9 10:40:09 openEuler-2 Keepalived_vrrp[2746]: Sending gratuitous ARP on ens33 for 192.168.93.100
Jul 9 10:40:09 openEuler-2 Keepalived_vrrp[2746]: Sending gratuitous ARP on ens33 for 192.168.93.100
Jul 9 10:40:09 openEuler-2 Keepalived_vrrp[2746]: Sending gratuitous ARP on ens33 for 192.168.93.100
Jul 9 10:40:09 openEuler-2 kernel: [ 1986.411925] IPVS: stopping backup sync thread 2748 ...
Jul 9 10:40:09 openEuler-2 kernel: [ 1986.413813] IPVS: sync thread started: state = MASTER, mcast_ifn = ens37, syncid = 0, id = 0
Jul 9 10:40:14 openEuler-2 Keepalived_vrrp[2746]: (VI_1) Sending/queueing gratuitous ARPs on ens33 for 192.168.93.100
Jul 9 10:40:14 openEuler-2 Keepalived_vrrp[2746]: Sending gratuitous ARP on ens33 for 192.168.93.100
Jul 9 10:40:14 openEuler-2 Keepalived_vrrp[2746]: Sending gratuitous ARP on ens33 for 192.168.93.100
Jul 9 10:40:14 openEuler-2 Keepalived_vrrp[2746]: Sending gratuitous ARP on ens33 for 192.168.93.100
Jul 9 10:40:14 openEuler-2 Keepalived_vrrp[2746]: Sending gratuitous ARP on ens33 for 192.168.93.100
Jul 9 10:40:14 openEuler-2 Keepalived_vrrp[2746]: Sending gratuitous ARP on ens33 for 192.168.93.100