为了丰富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。
查看调度器上的链接情况:
中间可能有个别朋友遇到一些报错,这里简单记录下我之前遇到的报错解决思路:
配置完以后不能访问问题:定向到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 } }
转载请注明:云速博客www.ysidc.top» Linux(centos 6.X)环境下LVS-DR模式高可用负载均衡集群系统快速配置
https://www.ysidc.top 云速博客,数据库,云速,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top