LVS负载均衡在Ubuntu环境下部署详解
一、本地环境介绍:
负载均衡的三台机器均为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环境下部署详解的更多相关文章
- LVS负载均衡集群--DR模式部署
目录: 一.LVS-DR数据包流向分析 二.DR 模式的特点 三.LVS-DR中的ARP问题 四.DR模式 LVS负载均衡群集部署 一.LVS-DR数据包流向分析 1.为方便进行原理分析,将clien ...
- LVS负载均衡集群--NAT模式部署
目录: 一.企业群集应用概述 二.负载均衡群集架构 三.负载均衡群集工作模式分析 四.关于LVS虚拟服务器 五.NAT模式 LVS负载均衡群集部署 一.企业群集应用概述 1.群集的含义 Cluster ...
- Ubuntu环境下部署Django+uwsgi+nginx总结
前言 这是我在搭建Django项目时候的过程,拿来总结记录,以备不时之需. 项目采用nginx+uwsgi的搭配方式. 项目依赖包采用requirements.txt文件管理的方式. 本地准备工作 确 ...
- tensorflow安装过程-(windows环境下)---详解(摆平了很多坑!)
一, 前言:本次安装tensorflow是基于Python的,安装Python的过程不做说明(既然决定按,Python肯定要先了解啊):本次教程是windows下Anaconda安装Tensorflo ...
- tensorflow安装过程-(windows环境下)---详解
一, 前言:本次安装tensorflow是基于Python的,安装Python的过程不做说明(既然决定按,Python肯定要先了解啊):本次教程是windows下Anaconda安装Tensorflo ...
- LVS负载均衡之DR模式部署
1.LVS的DR模式介绍 参考自官网:http://www.linuxvirtualserver.org/zh/lvs3.html VS/DR利用大多数Internet服务的非对称特点,负 ...
- LVS负载均衡之NAT模式部署
1.LVS的NAT模式介绍 参考自官网:http://www.linuxvirtualserver.org/zh/lvs3.html 由于IPv4中IP地址空间的日益紧张和安全方面的原因,很多网络使用 ...
- LVS负载均衡群集部署——DR模式
LVS负载均衡群集部署--DR模式 1.LVS-DR概述 2.部署实验 1.LVS-DR概述: LVS-DR(Linux Virtual Server Director Server)工作模式,是生产 ...
- LVS负载均衡群集部署——NAT模式
LVS负载均衡群集部署--NAT模式 1.群集应用概述 2.NAT模式LVS负载均衡群集部署 1.群集应用概述: 存在的问题: 互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求 ...
随机推荐
- Codeforces 380E Sereja and Dividing
题面 洛谷传送门 题解 博客 有精度要求所以只用求几十次就差不多了 CODE #include <bits/stdc++.h> using namespace std; typedef l ...
- [Dart] final vs const
void main() { ; print(a); ; print(b); final c = 'Hello'; // c = 'Hello again'; // Uncomment to throw ...
- Ftp客户端需要TSL功能的文件上传
Ftp客户端需要TSL功能 1.由于最近做了一个项目,需要把打包的文件传输到对方的FTP服务器上,但是用普通的java连接ftp客户端总是连接不上去,对方却说ftp客户端需要开通TSL功能. 直接上代 ...
- Linux分区格式化
格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除.格式化通常分为低级格式化和高级格式化.如果没有特别指明, ...
- Ubuntu 18.04安装NVIDIA显卡驱动教程
最近遇到了在Ubuntu 18.04上安装NVIDIA显卡驱动的情况,看到一篇教程讲解的很好,拿来收藏. 安装NVIDIA显卡驱动风险极大,新手注意. 在Ubuntu 18.04上安装 ...
- [TJOI2013]松鼠聚会 曼哈顿距离
[TJOI2013]松鼠聚会 luogu P3964 首先容易得到两点间距离是\(max(|x_1-x_2|, |y_1-y_2|)\)(即切比雪夫距离) 然后有个套路:原\((x,y)\)求曼哈顿距 ...
- P4316 绿豆蛙的归宿 期望DP
P4316 绿豆蛙的归宿 期望DP DAG上,每条边有边权,走向相连每条路的概率相等,问从起点到终点所经过的路径总长度期望 因为发现终点走到终点期望为0,定义\(f[i]\)从终点走到\(i\)所经过 ...
- Codeforces 704E Iron Man [树链剖分,计算几何]
Codeforces 这题--真是搞死我了-- 好不容易下定了决心要不颓废,要写题,结果一调就调了十几个小时-- 思路 我们发现在树上做非常不舒服,于是树链剖分之后一次在重链上的移动就可以看做是在df ...
- nmon服务器性能结果报告分析
一.nmon命令 ./nmon_x86_64_centos7 -f -s 10 -c 60 -m ./log/ 命令的含义是: -f :按标准格式输出文件名称:<hostname>_YY ...
- JavaScript 取两位小数有效数字
a=2.33332.3333a.toFixed(2)"2.33"