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

摘要:
为了演示LVS负载平衡的效果,需要首先在其中两台机器上安装Apache服务,然后修改索引。位于/var/www/html/目录中的html文件转换为不同的内容。1.部署架构:主机名IP角色Ubuntu ServerEn64192.168.226.149负载平衡服务器目录Ubuntu ServerEn64_ 2192.168.226.145真实服务器Ubuntu ServerEn64 _ 3192.168.226.148真实服务器RealserverVIP为192.168.226.1501234567。部署成功后,发送给VIP的所有请求包将由控制器分发给不同的realserver,以便根据设置的算法进行处理。到目前为止,LVS负载平衡架构已经构建完成。

一、本地环境介绍:

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

主机名 IP 角色

UbuntuServerEn64 192.168.226.149 负载均衡服务器 director
UbuntuServerEn64_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)
1
2
3
4
5
6
7
部署成功后,所有发送到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 -g
ipvsadm -a -t 192.168.226.150:80 -r 192.168.226.148 -g
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2、真实服务器 (real server)配置:

ifconfig lo:0 192.168.226.150 netmask 255.255.255.255 broadcast 192.168.226.150 up

route add -host 192.168.226.150 dev lo:0

echo "1">/proc/sys/net/ipv4/ip_forward
1
2
3
4
5
director配置如下图所示:


(ipvsadm 命令未截图成功)

real server配置如下图所示:

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

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

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

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

免责声明:文章转载自《LVS负载均衡在Ubuntu环境下部署详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇金蝶云星空使用WebAPI来新增单据开源物联网平台(Thingsboard)--使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

VC++ ListCtrl Report使用

  1、在VC++ 6.0中新建基于对话框的MFC应用程序ListCtrl;   2、在主对话框上添加一个List Control至合适的位置及大小;      3、在对话框OnInitDialog中初始化ListCtrl,代码如下: // 设置ListCtrl的风格及扩展风格 LONG lStyle; lStyle = Get...

TiDB配置HAProxy负载均衡

1、简介 HAProxy是一个C语言编写的免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。 HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。 2、配置使用 2.1、下载安装 https://www.haproxy.org/download/1.9/src/ 此处使用的是1.9版本 解压安装:tar -...

nginx+tomcat负载均衡搭建

一、      单独部署tomcat和nginx Nginx版本:nginx-1.13.5 Tomcat版本:apache-tomcat-8.5.8 操作系统:win10 必须先部署一个tomcat服务器。Tomcat服务器部署好后,登录tomcat服务器:localhost:8080 显示如下界面,说明部署成功。关于tomcat的部署就不详细介绍了。  ...

LVS简介

负载均衡LVS(Linux Virtual Server)... 1 第1章 LVS负载均衡集群简介... 1 1.1 为什么要学LVS. 1 1.2 LVS网站资料:... 1 1.3 LVS内核模块ip_vs介绍... 1 第2章 LVS-DR直接路由模式... 2 2.1 DR直接路由模式说明... 2 2.1.1 DR-原理图片...

kubernetes的网络代理模式

  在k8s中,如果想ping svc以及ip,发现无法ping通,使用测试环境为k8s 1.6,后来k8s升级到1.12版本,发现ping svc以及ip可以ping通,这里分析一下原因。   后来发现是由于1.8的代理模式不是ipvs(1.6版本没有引入ipvs),1.12可以配置iptables和ipvs,而1.12版本配置使用的是ipvs。   这里...

Nginx配置upstream实现负载均衡--引用别人的文章

如果Nginx没有仅仅只能代理一台服务器的话,那它也不可能像今天这么火,Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用。具体配置过程如下: 1. 在http节点下,添加upstream节点。 upstream linuxidc {       server 10.0.6.108:7080;       server 10.0.0....