glcui 发表于 2018-12-29 09:24:12

再次测试配置keepalived,lvs和realserver

  再次测试配置keepalived,lvs和realserver
  

  熟能生巧嘛。
  

对keepalived和VRRP的理解:
keepalived: 高可用,更便捷的配置管理lvs
vrrp: 理解成局域网中增加了一个虚拟路由器组,其中有一个主机上的vrrp实例是master角色,上面启用了vip,组内其他都是backup角色,利用这个协议,可以让vip在局域网中同组的vrrp实例上漂移

一、需求
要使用keepalived配置vip来转发到后端的realserver上
vip:10.0.200.100
dip:
10.0.200.104(master)
10.0.200.105(backup)
rip:
10.0.200.101(haproxy)
10.0.200.102(haproxy)
rip_port: 10010(tcp)、10020(http)、10030(tcp)

测试keepalived环境的配置
tcpdump -i em1 vrrp
service keepalived start
service keepalived restart
service keepalived stop
tail /var/log/messages -f
ip a s dev em1

二、配置master
# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
   router_id LVS_200_104
}
vrrp_instance VIP_NSQ_100 {
    state MASTER
    interface em1
    virtual_router_id 100
    priority 100
    advert_int 1
    authentication {
      auth_type PASS
      auth_pass 12345
    }
    virtual_ipaddress {
      10.0.200.100
    }
}

virtual_server 10.0.200.100 10010 {   #设置虚拟服务器,需要指定虚拟IP地址和服务端口,IP与端口之间用空格隔开
   delay_loop 6                  #设置运行情况检查时间,单位是秒
   lb_algo rr                      #设置负载调度算法,这里设置为rr,即轮询算法
   lb_kind DR                      #设置LVS实现负载均衡的机制,有NAT、TUN、DR三个模式可选
   persistence_timeout 50          #会话保持时间,单位是秒。
   protocol TCP                  #指定转发协议类型,有TCP和UDP两种
   real_server 10.0.200.102 10010 {   #配置服务节点1,需要指定real server的真实IP地址和端口,IP与端口之间用空格隔开
       weight 1                  #配置服务节点的权值,权值大小用数字表示,数字越大,权值越高,设置权值大小可以为不同性能的服务器
                                 #分配不同的负载,可以为性能高的服务器设置较高的权值,而为性能较低的服务器设置相对较低的权值,这样才能合理地利用和分配系统资源
       TCP_CHECK {               #realserver的状态检测设置部分,单位是秒
         connect_timeout 10      #表示10秒无响应超时
         nb_get_retry 3          #表示重试次数
         delay_before_retry 3    #表示重试间隔
         connect_port 10010
       }
   }
   real_server 10.0.200.101 10010 {
       weight 1
       TCP_CHECK {
         connect_timeout 10
         nb_get_retry 3
         delay_before_retry 3
         connect_port 10010
       }
   }
}

virtual_server 10.0.200.100 10020 {   
   delay_loop 6                  
   lb_algo rr                     
   lb_kind DR                     
   persistence_timeout 50         
   protocol TCP                  
   real_server 10.0.200.102 10020 {   
       weight 1                  
       TCP_CHECK {               
         connect_timeout 10      
         nb_get_retry 3         
         delay_before_retry 3   
         connect_port 10020
       }
   }
   real_server 10.0.200.101 10020 {
       weight 1
       TCP_CHECK {
         connect_timeout 10
         nb_get_retry 3
         delay_before_retry 3
         connect_port 10020
       }
   }
}

virtual_server 10.0.200.100 10030 {   
   delay_loop 6                  
   lb_algo rr                     
   lb_kind DR                     
   persistence_timeout 50         
   protocol TCP                  
   real_server 10.0.200.102 10030 {   
       weight 1                  
       TCP_CHECK {               
         connect_timeout 10      
         nb_get_retry 3         
         delay_before_retry 3   
         connect_port 10030
       }
   }
   real_server 10.0.200.101 10030 {
       weight 1
       TCP_CHECK {
         connect_timeout 10
         nb_get_retry 3
         delay_before_retry 3
         connect_port 10030
       }
   }
}

二、配置backup
# diff keepalived.confbackup/keepalived.conf
4c4
<    router_id LVS_200_104
---
>    router_id LVS_200_105
8c8
<   state MASTER
---
>   state BACKUP
11c11
<   priority 100
---
>   priority 50
29c29
<
---
>

三、服务启动
在rip上也要启用vip:
之前介绍过这个脚本:lvs-realsvr.sh
拷贝到rip主机的启动脚本中:
# /etc/init.d/lvs-realsvr
# service lvs-realsvr start
# chkconfig lvs-realsvr on
10.0.200.102同上。
启动keepalived服务:
# service keepalived start
确认无误后,这个可别忘了:
# chkconfig keepalived on
10.0.200.105同理



四、调整2个Director的防火墙策略
1)因为iptables过滤了vrrp协议,它不属于任何端口,像icmp一样,需要单独放行。
-A INPUT -p vrrp -j ACCEPT

2)保存现在的策略
# iptables-save >/root/rc.firewall.txt

3)修改
例如,在上面的配置文件中,增加到/root/rc.firewall.txt中,icmp那条策略后
-A INPUT -p icmp -j ACCEPT
-A INPUT -p vrrp -j ACCEPT
页: [1]
查看完整版本: 再次测试配置keepalived,lvs和realserver