typora-root-url: tu
LVS+KEEPALIVED+WEB-server
- 工作模式图:
-
实验环境:
- LVS: (VIP)172.16.109.198/32
- RS-1: (RIP) 172.16.109.130/24
- RS-2: (RIP) 172.16.109.134/24
-
LVS的部署
-
LVS的部署注意点:
- 网卡上只绑定虚拟VIP,且与keepalived中一定要相同
- 以VIP建立规则去增加IP记录也就是RS.
-
RS的部署(每一台相同步骤)
- 部署好web服务(略过不描述)
- 绑定IP在lo回环上
- ip addr add dev lo 172.16.109.198/32
- ip a show lo //检查是否都以生效
- 忽略客户端的arp请求,以及回给客户端最好IP
- echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore
- echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
- echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce
- echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
- sysctl -p //使设置生效
-
keepalived的部署
-
环境的部署 yum -y install keepalived
-
分LVS-M和LVS-S去部署主备: vim /etc/keepalived/keepalived.conf
- 主: ```shell #/etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id lvs-keepalived-master #辅助改为lvs-backup } vrrp_instance VI_1 { state MASTER interface ens33 #VIP绑定接口 virtual_router_id 80 #VRID 同一组集群,主备一致 priority 100 #本节点优先级,辅助改为50 advert_int 1 #检查间隔,默认为1s authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.16.109.198/24 } } virtual_server 172.16.109.198 80 { #LVS配置 delay_loop 3 lb_algo rr #LVS调度算法 lb_kind DR #LVS集群模式(路由模式) nat_mask 255.255.255.0 persistence_timeout 20 #持久性连接 protocol TCP #健康检查使用的协议 real_server 172.16.109.130 80 { weight 1 inhibit_on_failure #当该节点失败时,把权重设置为0,而不是从IPVS中删除 TCP_CHECK { #健康检查 connect_port 80 #检查的端口 connect_timeout 3 #连接超时的时间 } } real_server 172.16.109.134 80 { weight 1 inhibit_on_failure TCP_CHECK { connect_timeout 3 connect_port 80 } } } ``` - 备: ```shell ! Configuration File for keepalived global_defs { router_id lvs-keepalived-slave } vrrp_instance VI_1 { state BACKUP interface ens33 nopreempt #不抢占资源 virtual_router_id 80 priority 50 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.16.109.198/24 } } virtual_server 172.16.109.198 80 { delay_loop 3 lb_algo rr lb_kind DR nat_mask 255.255.255.0 persistence_timeout 20 protocol TCP real_server 172.16.109.134 80 { weight 1 inhibit_on_failure TCP_CHECK { connect_port 80 connect_timeout 3 } } real_server 172.16.109.130 80 { weight 1 inhibit_on_failure TCP_CHECK { connect_timeout 3 connect_port 80 } } } ```
-
-
-
MASTER宕掉后,VIP会根据keepalived的优先级漂移,而客户端访问不受影响,32位的VIP是保证数据的发送与请求都经过DR