地址规划:
LVS1
DIP 192.168.100.101 ens33
virtual_ipaddress 192.168.100.200
virtual_server 192.168.100.200 //即virtual_ipaddress
LVS2
DIP 192.168.100.102 ens33
virtual_ipaddress 192.168.100.200
virtual_server 192.168.100.200
RIP1 192.168.100.11
virtual_server 192.168.100.200
RIP2 192.168.100.12
virtual_server 192.168.100.200
-----------------
RS配置部分:
//rs修改修改arp接受和通告规则
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
//rs配置ip
ifconfig lo:0 192.168.100.200/32 up
ip a
//rs修改路由
route add -host 192.168.100.200 dev lo:0
route -n
-----------------------------------------
//配置lvs
ipvsadm -A -t 192.168.100.200:80 -s rr
ipvsadm -a -t 192.168.100.200:80 -r 192.168.100.11:80 -g
ipvsadm -a -t 192.168.100.200:80 -r 192.168.100.12:80 -g
-----------------------------------
// keepalived 配置文件:
! Configuration File for keepalived # global_defs { # notification_email { # acassen@firewall.loc # failover@firewall.loc # sysadmin@firewall.loc # } # notification_email_from Alexandre.Cassen@firewall.loc # smtp_server 192.168.200.1 # smtp_connect_timeout 30 router_id LVS_DEVEL vrrp_skip_check_adv_addr # vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state BACKUP interface ens33 virtual_router_id 1 priority 90 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.100.200/32 } } virtual_server 192.168.100.200 80 { delay_loop 6 lb_algo rr # lb_kind NAT lb_kind DR persistence_timeout 50 protocol TCP # # sorry_server 192.168.200.200 1358 # real_server 192.168.100.11 80 { weight 1 HTTP_GET { url { path / status_code 200 # digest 640205b7b0fc66c1ea91c463fac6334d } } } real_server 192.168.100.12 80 { weight 1 HTTP_GET { url { path / status_code 200 # digest 640205b7b0fc66c1ea91c463fac6334d } } } }
验证:
1 检查keepalive 状态:
[root@lvs1 keepalived]# systemctl status keepalived -l
● keepalived.service - LVS and VRRP High Availability Monitor
Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)
Active: active (running) since Sun 2020-07-12 11:21:02 EDT; 4s ago
Process: 2928 ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 2929 (keepalived)
CGroup: /system.slice/keepalived.service
├─2929 /usr/sbin/keepalived -D
├─2930 /usr/sbin/keepalived -D
└─2931 /usr/sbin/keepalived -D
Jul 12 11:21:02 lvs Keepalived_vrrp[2931]: VRRP sockpool: [ifindex(3), proto(112), unicast(0), fd(10,11)]
Jul 12 11:21:02 lvs Keepalived_vrrp[2931]: VRRP_Instance(VI_1) Transition to MASTER STATE
Jul 12 11:21:03 lvs Keepalived_vrrp[2931]: VRRP_Instance(VI_1) Entering MASTER STATE
Jul 12 11:21:03 lvs Keepalived_vrrp[2931]: VRRP_Instance(VI_1) setting protocol VIPs.
Jul 12 11:21:03 lvs Keepalived_vrrp[2931]: Sending gratuitous ARP on ens33 for 192.168.100.200
Jul 12 11:21:03 lvs Keepalived_vrrp[2931]: VRRP_Instance(VI_1) Sending/queueing gratuitous ARPs on ens33 for 192.168.100.200
Jul 12 11:21:03 lvs Keepalived_vrrp[2931]: Sending gratuitous ARP on ens33 for 192.168.100.200
Jul 12 11:21:03 lvs Keepalived_vrrp[2931]: Sending gratuitous ARP on ens33 for 192.168.100.200
Jul 12 11:21:03 lvs Keepalived_vrrp[2931]: Sending gratuitous ARP on ens33 for 192.168.100.200
Jul 12 11:21:03 lvs Keepalived_vrrp[2931]: Sending gratuitous ARP on ens33 for 192.168.100.200
[root@lvs2 keepalived]# systemctl status keepalived -l
● keepalived.service - LVS and VRRP High Availability Monitor
Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)
Active: active (running) since Sun 2020-07-12 11:07:28 EDT; 14min ago
Process: 3386 ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 3387 (keepalived)
CGroup: /system.slice/keepalived.service
├─3387 /usr/sbin/keepalived -D
├─3388 /usr/sbin/keepalived -D
└─3389 /usr/sbin/keepalived -D
Jul 12 11:08:13 lvs Keepalived_vrrp[3389]: Sending gratuitous ARP on ens33 for 192.168.100.200
Jul 12 11:08:18 lvs Keepalived_vrrp[3389]: Sending gratuitous ARP on ens33 for 192.168.100.200
Jul 12 11:08:18 lvs Keepalived_vrrp[3389]: VRRP_Instance(VI_1) Sending/queueing gratuitous ARPs on ens33 for 192.168.100.200
Jul 12 11:08:18 lvs Keepalived_vrrp[3389]: Sending gratuitous ARP on ens33 for 192.168.100.200
Jul 12 11:08:18 lvs Keepalived_vrrp[3389]: Sending gratuitous ARP on ens33 for 192.168.100.200
Jul 12 11:08:18 lvs Keepalived_vrrp[3389]: Sending gratuitous ARP on ens33 for 192.168.100.200
Jul 12 11:08:18 lvs Keepalived_vrrp[3389]: Sending gratuitous ARP on ens33 for 192.168.100.200
Jul 12 11:21:02 lvs Keepalived_vrrp[3389]: VRRP_Instance(VI_1) Received advert with higher priority 100, ours 90
Jul 12 11:21:02 lvs Keepalived_vrrp[3389]: VRRP_Instance(VI_1) Entering BACKUP STATE
Jul 12 11:21:02 lvs Keepalived_vrrp[3389]: VRRP_Instance(VI_1) removing protocol VIPs.
切换和抢占 ok
2 web登录 验证
可以看出,两个站点都可以被轮询
原文:https://www.cnblogs.com/abel2020/p/13290637.html