Linux(centos 6.X)环境下LVS-DR模式高可用负载均衡集群系统快速配置 – 21运维
通知: .-...

Linux(centos 6.X)环境下LVS-DR模式高可用负载均衡集群系统快速配置

LVS 21运维 2993浏览 0评论

为了丰富21运维网站内容和记录下配置服务器步骤,本文简单记录下Linux环境下lvs-dr模式(基于请求包mac地址欺骗)负载均衡简单配置,揭开这个神秘东西的面纱,让你10钟搞定配置lvs。
环境配置:    三台centos 6.5
调度器:        DIP:192.168.1.11   VIP:192.168.1.110
web服务器: RIP:192.168.1.9     RIP:192.168.1.10

一,前期服务器环境搭建
(1) 配置lamp环境,这里不做演示。
(2)关闭selinux和所有web服务器上的iptables
(3)设置时间同步,保证服务器时间一致(后期nfs或数据同步用到,包括session同步需要)
二,配置LVS
1,调度器安装ipvsadm和keepalived
首先安装依赖包:

yum -y install gcc make openssl-devel openssl net-snmp net-snmp-devel popt popt-devel

安装ipvs和keepalived:
yum install ipvsadm  keepalived  -y 并设置下:
chkconfig ipvsadm on
chkconfig keepalived on

修改keepalived.conf配置文件:

global_defs {
  router_id LVSTEST                #负载均衡器标识,同一网段内,可以相同
 }

 vrrp_instance LVSTEST {
   state MASTER                       #主调度器
   interface eth0                    #实例绑定的网卡
   #lvs_sync_daemon_inteface eth0    #主备间的监控接口
   virtual_router_id 61                #vrrp唯一ID,主备id一致
   priority 100                     #优先级
   advert_int 10                    #主备间同步检查/秒
   authentication {
       auth_type PASS
       auth_pass 1111
   }
   virtual_ipaddress {
       192.168.1.110               #vip,可以多个ip,每行一个
   }
 }
virtual_server 192.168.1.110 80 {    #定义一个虚拟服务器
   
   delay_loop 6                        #健康检测间隔/秒
   lb_algo wlc                        #调度算法
   lb_kind DR                        #模式
   persistence_timeout 30            #回话保持时间
   protocol TCP                     #转发协议
   
   #多个real_server重复本节点即可   
   real_server 192.168.1.9  80 {    #定义一台真实服务器
       weight 3                        #权重
       TCP_CHECK {                    #通过tcpcheck判断真实服务器状态
       connect_timeout 10            #连接超时
       nb_get_retry 3                #重试次数
       delay_before_retry 3            #重试间隔
       connect_port 80                #检测端口
       }
   }
   real_server 192.168.1.10  80 {  
       weight 3                       
       TCP_CHECK {                    
       connect_timeout 10            
       nb_get_retry 3                
       delay_before_retry 3            
       connect_port 80                
       }
   }
 }

配置完以后启动keepalived:
service keepalived start

启动以后ipvsadm  -L 可以查看vip以及rip绑定情况。如果和keepalived配置一致,那么设置正常。如果不一致或无IP信息加载,则需检查。

2,RIP服务器配置VIP和arp禁止响应
vip就是上边的vip添加网卡的命令,写入rc.loca启动中。

/sbin/ifconfig lo:0 192.168.1.110 broadcast 192.168.1.110 netmask 255.255.255.255 up
/sbin/route add -host 192.168.1.110 dev lo:0

arp禁止响应:
vi /etc/rc.local
/usr/local/sbin/realserver.sh stop
/usr/local/sbin/realserver.sh start
保存。
创建禁止arp响应脚本

touch /usr/local/sbin/realserver.sh
chmod 755 /usr/local/sbin/realserver.sh
#!/bin/bash
WEB_VIP=192.168.1.110

. /etc/rc.d/init.d/functions

case "$1" in
start)
      ifconfig lo:0 $WEB_VIP netmask 255.255.255.255 broadcast $WEB_VIP
     #/sbin/route add -host $WEB_VIP dev lo:0这行有问题,需要注释
      echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
      echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
      echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
      echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
      sysctl -p >/dev/null 2>&1
      echo "RealServer Start OK"

      ;;
stop)
      ifconfig lo:0 down
      #route del $WEB_VIP >/dev/null 2>&1 这行有问题需要注释
      echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
      echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
      echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
      echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
      echo "RealServer Stoped"
      ;;
*)
      echo "Usage: $0 {start|stop}"
      exit 1
esac
exit 0

好了,域名host定向到vip,安装一个dz论坛测试看下效果。已经OK。

1
查看调度器上的链接情况:
1
中间可能有个别朋友遇到一些报错,这里简单记录下我之前遇到的报错解决思路:
配置完以后不能访问问题:定向到RIP不可以访问,说明RIP本身设置的有问题。如果rip可以访问,那么是vip或lvs调度器配置有问题。

拓展部分:
如果需要进行nfs系统配置,请参考《Linux下网络文件系统NFS的配置实现数据共享
如果要进行mysql主从配置,请参考《mysql数据库如何设置互为主从

 

补充LVS添加url检测防止假死:

real_server 192.168.1.120 80  {
     weight  50
     HTTP_GET {
     	url {
     		path   /ok.php
     		status_code 200
     	}
     	connect_timeout  10
     	nb_get_retry 3
     	delay_before_retry 3
     }
}

转载请注明:21运维 » Linux(centos 6.X)环境下LVS-DR模式高可用负载均衡集群系统快速配置

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址