LVS负载均衡在Ubuntu环境下部署详解

来源:互联网 发布:windows管理模板 编辑:程序博客网 时间:2024/05/29 04:40

一、本地环境介绍:

负载均衡的三台机器均为Ubuntu Server 14.04 64位系统,内核中已集成ipvs模块( modprobe -l | grep ipvs 查看 )。为演示LVS负载均衡后的效果,需先在其中两台机器中安装apache服务(apt-get install apache2),并将位置在/var/www/html/目录下index.html文件修改成不同内容(如主机名)。

二、部署架构:

主机名                 IP                  角色  UbuntuServerEn64    192.168.226.149     负载均衡服务器 directorUbuntuServerEn64_2  192.168.226.145     真实服务器 real server(已安装apache)UbuntuServerEn64_3  192.168.226.148     真实服务器 real server(已安装apache)VIP为192.168.226.150(VIP为对外提供的IP,并不是真实物理IP)

部署成功后,所有发送到VIP的请求包都会由director按照设置的算法分发到不同的real server进行处理。

三、部署过程:

1、负载均衡服务器(director)配置:

#由于内核已集成ipvs模块,只需要安装ipvsadm即可apt-get install ipvsadm#在director上建立一个虚拟的ip地址进行消息广播ifconfig eth0:0 192.168.226.150 netmask 255.255.255.0 broadcast 192.168.226.150#将虚拟地址添加到路由表route add -host 192.168.226.150 dev eth0:0#此指令暂没发现有啥用处echo "1">/proc/sys/net/ipv4/ip_forward #使用ipvsadm安装LVS服务ipvsadm -A -t 192.168.226.150:80 -s rr #增加真实服务器ipvsadm -a -t 192.168.226.150:80 -r 192.168.226.145 -gipvsadm -a -t 192.168.226.150:80 -r 192.168.226.148 -g

2、真实服务器 (real server)配置:

ifconfig lo:0 192.168.226.150 netmask 255.255.255.255 broadcast 192.168.226.150 uproute add -host 192.168.226.150 dev lo:0echo "1">/proc/sys/net/ipv4/ip_forward

director配置如下图所示:
这里写图片描述
这里写图片描述
(ipvsadm 命令未截图成功)

real server配置如下图所示:
这里写图片描述
这里写图片描述

四、负载均衡测试:
未使用LVS负载均衡前,在浏览器中输入各IP地址分别显示如下图
这里写图片描述
这里写图片描述

使用LVS负载均衡后,在浏览器中输入VIP地址分别显示如下图
这里写图片描述
这里写图片描述

浏览器显示不同内容代表发送到VIP的请求包可由director按照设置的算法分发到不同的real server进行处理。
至此,LVS负载均衡架构已搭建完成。

注:LVS是四层负载均衡,只能通过ip+port实现负载分发,可支持TCP&UDP。而Haproxy是七层负载均衡,可以实现更细粒度的负载分发,猷有专门的TCP和HTTP解决方案。但由于前者是操作系统层面支持,并发量和稳定性都表现较好而得到大量使用。

以上 2016/02/17

0 0
原创粉丝点击