LVS和Ipvsadm做Web负载均衡

在Linux下用LVS和Ipvsadm做Web负载均衡,本例子用的操作系统是:Ubuntu;LVS是在linux操作系统基础上建立虚拟服务器,实现服务节点之间的负载均衡。它是基于linux内核实现的,2.6.X内核默认集成了lvs模块,LVS常用负载均衡的实现是基于ip协议的,所以一般称为IPVS。

     本例子有三台Ubuntu服务器,192.168.0.111、192.168.0.197、192.168.0.198,那么我们把192.168.0.111作为负载均衡服务器使用,那么首先需要检查下操作系统是否已经集成了LVS,可以在命令行执行:modprobe -l | grep ipvs,如果出现:
kernel/net/netfilter/ipvs/ip_vs.ko
kernel/net/netfilter/ipvs/ip_vs_rr.ko
kernel/net/netfilter/ipvs/ip_vs_wrr.ko
kernel/net/netfilter/ipvs/ip_vs_lc.ko
kernel/net/netfilter/ipvs/ip_vs_wlc.ko
kernel/net/netfilter/ipvs/ip_vs_lblc.ko
kernel/net/netfilter/ipvs/ip_vs_lblcr.ko
kernel/net/netfilter/ipvs/ip_vs_dh.ko
kernel/net/netfilter/ipvs/ip_vs_sh.ko
kernel/net/netfilter/ipvs/ip_vs_sed.ko
kernel/net/netfilter/ipvs/ip_vs_nq.ko 
kernel/net/netfilter/ipvs/ip_vs_ftp.ko
则说明已经有了LVS,就不需要重新编译安装了,如果是其它Linux系统,没有内置LVS的,也可以到网上搜索下安装,也不是很复杂。

那么接下来需要安装ipvsadm,直接运行apt-get install ipvsadm命令,安装成功后,运行命令:
ipvsadm
会看到提示: 
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

则说明已经安装成功。

二、负载均衡器配置

接下来就是配置LVS,就是在负载均衡器(192.168.0.111)上建一个虚拟ip,然后用ipvsadm建立转发规则:
ifconfig eth0:0 192.168.0.112 netmask 255.255.255.255 broadcast 192.168.0.112
echo "1" >/proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -A -t 192.168.0.112:8888 -s rr
ipvsadm -a -t 192.168.0.112:8888 -r 192.168.0.197 -g -w 1
ipvsadm -a -t 192.168.0.112:8888 -r 192.168.0.198 -g -w 1

注意:192.168.0.197和192.168.0.198分别运行了一个Web服务器,端口都是8888,在此之前一定要确保这两个Web服务器通过浏览器可以正常访问到。

如上命令执行完毕之后,可以再次运行命令:
ipvsadm

如果看到如下信息,则说明配置成功:
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  eric-app-server.local:8888 rr
  -> ubuntu-2.local:8888          Route   1      0          0         
  -> ubuntu.local:8888            Route   1      0          0 

三、真实服务器配置

那么接下来就需要配置真实服务器192.168.0.197和192.168.0.198,分别在这两个服务器上运行如下命令:
ifconfig lo:0 192.168.0.112 netmask 255.255.255.255 broadcast 192.168.0.112
route add default gw 192.168.0.112
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
sudo sysctl -p

四、配置完毕看效果

那么此时整个负载均衡配置基本就完成了,在浏览器输入:http://192.168.0.112:8888/index.html,就会看到

Hello Word-1111111111111111111! 或者

Hello Word-222222222222222222222! ,

因为http://192.168.0.197:8888/index.html页面的内容就是:Hello Word-1111111111111111111!,http://192.168.0.197:8888/index.html页面的内容就是:

Hello Word-222222222222222222222!

另外刚开始走了一个弯路,就是最开始找的三台服务器不在同一个局域内,还有是虚拟机,因此是配置不成功的。基于这种模式做负载均衡必须要求负载均衡服务器有双网卡,一个对内网,另一个对外网,并且还需要和后面的真实服务器是在同一个局域内。

    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值