centos7+lvs+keepalived(NAT) 多活负载均衡配置

先上图


centos7+lvs+keepalived(NAT) 多活负载均衡配置_第1张图片
image.png

5台机器,我准备了6台,3个router,3个realserver业务服务器。

首先模式是 3个router带外网及内网ip的网卡,3个realserver仅需要内网网卡,因为我们是nat模式。

第一步

       设定router
            1:安装lvs  
            yum install -y  ipvsadm
            2:安装keepalived
            yum install -y keepalived

第二步

          配置router上面的keepalived

          master
          /etc/keepalived/keepalived.conf
          #全局
          global_defs {                        
             router_id LVS_01                  
             #vrrp_skip_check_adv_addr         
             #vrrp_garp_interval 0             
             #vrrp_gna_interval 0              
          }                                    
          #vip 1 外网                                  
          vrrp_instance VI_1 {                 
              state MASTER                     
              interface ens01                  
              virtual_router_id 51             
              priority 100                     
              advert_int 1                     
              authentication {                 
                  auth_type PASS               
                  auth_pass 1111               
              }                                
              virtual_ipaddress {              
                  192.168.8.100                
              }                                
          }                                    
          #vip 2 内网                                      
          vrrp_instance LAN_GATEWAY {          
              state MASTER                     
              interface ens02                  
              virtual_router_id 52             
              priority 100                     
              advert_int 1                     
              authentication {                 
                  auth_type PASS               
                  auth_pass 1111               
              }                                
              virtual_ipaddress {              
                  10.168.2.1/24                
              }                                
          }                                    
          #配置业务端口                                    
          virtual_server 192.168.8.100 8080 {  
              delay_loop 6                     
              lb_algo rr                       
              lb_kind NAT                      
              persistence_timeout 50           
              protocol TCP                     
              real_server 10.168.2.100 8080 {  
                  weight 10                    
                  TCP_CHECK {                  
                     connect_timeout 3         
                     #nb_get_retry 3           
                     delay_before_retry 3      
                     connect_port 8080         
                  }                            
              }                                
              real_server 10.168.2.101 8080 {  
                 weight 10                     
                 TCP_CHECK {                   
                 connect_timeout 3             
                 #nb_get_retry 3               
                 delay_before_retry 3          
                 connect_port 8080             
                 }                             
              }                                
              real_server 10.168.2.102 8080 {  
                 weight 10                     
                 TCP_CHECK {                   
                 connect_timeout 3             
                 #nb_get_retry 3               
                 delay_before_retry 3          
                 connect_port 8080             
                 }                             
              }                                
          }                
          注意,同一个virtual_router_id 主备必须一致。
          router2上面把state修改成BACKUP  priority值修改小一点的 其他一样。  

第三步

          配置realserver
          把网关配置成vip内网的10.168.2.1
          配置web业务端口是8080

第四步

           测试
           curl http://192.168.8.100:8080
           得到结果

第五步

修改日志输出,默认是message中查看不方便。

1:vi /etc/sysconfig/keepalived
 把KEEPALIVED_OPTIONS=”-D” 修改为 KEEPALIVED_OPTIONS=”-D -d -S 0”
 其中 -S 指定 syslog 的 facility
2:vi /etc/rsyslog.conf 
   添加
   # save keepalive message also to keepalived.log
   local0.*             /var/log/keepalived.log
3:重启
        systemctl restart rsyslog
        systemctl restart keepalived

注意事项:

整体都非常简单非常明了,但是一件事要注意就是要开启防火墙的情况下要vrrp协议通过 
因为 VRRP 使用 224.0.0.18 这个组播地址

firewall配置
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface ens01--destination 224.0.0.18 --protocol vrrp -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 --out-interface ens01 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
firewall-cmd --reload
  
iptables
-A INPUT -i ens01 -p vrrp -s 192.168.1.0/24  -j ACCEPT
or
-A INPUT  -p vrrp  -j ACCEPT

 tcpdump -i eth0 vrrp -n

你可能感兴趣的:(centos7+lvs+keepalived(NAT) 多活负载均衡配置)