LVS部署 (下)---KeeaAlived 高可用

地址规划:

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登录 验证

 

 

 

可以看出,两个站点都可以被轮询

 

posted @ 2020-07-12 23:18  abel2020  阅读(227)  评论(0编辑  收藏  举报