Lvs 负载均衡 (VS/NAT模式)
一、LVS简介
LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器。这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www.linuxvirtualserver.org 现在 LVS 已经是 Linux 内核标准的一部分。使用 LVS 可以达到的技术目标是:通过 LVS 达到的负载均衡技术和 Linux 操作系统实现一个高性能高可用的 Linux 服务器集群,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的性能。LVS 是一个实现负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层、Server集群层和共享存储。
二、LVS的优点:
1、抗负载能力强。抗负载能力强、性能高,能达到F5硬件的60%;对内存和cpu资源消耗比较低2、工作在网络4层,通过vrrp协议转发(仅作分发之用),具体的流量由linux内核处理,因此没有流量的产生。
2、稳定性、可靠性好,自身有完美的热备方案;(如:LVS+Keepalived)
3、应用范围比较广,可以对所有应用做负载均衡;
4、不支持正则处理,不能做动静分离。
5、支持负载均衡算法:rr(轮循)、wrr(带权轮循)、lc(最小连接)、wlc(权重最小连接)
6、配置 复杂,对网络依赖比较大,稳定性很高。
三、三种模式
1.VS/DR 2.VS/NAT 3.VS/TUN
四、vs/NAT模式
VS/NAT模式

①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP(客户端IP),后面统称为CIP),目标地址为VIP(负载均衡器前端地址,后面统称为VIP)。
②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将客户端请求报文的目标地址改为了后端服务器的RIP地址并将报文根据算法发送出去。
③.报文送到Real Server后,由于报文的目标地址是自己,所以会响应该请求,并将响应报文返还给LVS。
④.然后lvs将此报文的源地址修改为本机并发送给客户端。
注意:
在NAT模式中,Real Server的网关必须指向LVS,否则报文无法送达客户端
优点:
集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址。
缺点:
扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会变慢!
相比于其他两种模式,配置简单,可以跨机房,性能相对来说最差
Start the experiment
>1准备环境
三台 虚拟机 , 一台 server端(充当调度器) 两台 REserver 端
$1> 配置环境
server端 :需要两块网卡,

网卡配置:
网卡1:用来连接外网

网卡二:用来连接内网

REserver1 端:

网卡配置:

REserver2端:

网卡配置:

2> 使用连接工具(xshell 或者 crt)
注: 连接server 端 (连接外网的网卡)

3> 下载安装 ipvsadm 包

安装完毕查看一下

4>server 端 作为调度器,需要开启路由转发功能
两种方法:
1.临时开启:

2,永久开启:
#1>

#2>写入

#3> 生效

5>配置nat 模式
@1>

@2>分发给REserver1 与 REserver2 (添加两台 REserver 主机)

-m 指定NAT 模式
@3>全都开启httpd 服务

6> 查看配置

7> 分别在 REserver1 与 REserver2 的网站跟目录下创建测试文件


8>抓取测试

成功!
注:#如果想让配置保存下来需要 #查看ipvsadm包的文件位置
[root@db1 ~]# rpm -ql ipvsadm-1.27-7.el7.x86_64
/etc/sysconfig/ipvsadm-config
/usr/lib/systemd/system/ipvsadm.service
/usr/sbin/ipvsadm /usr/sbin/ipvsadm-restore
/usr/sbin/ipvsadm-save /usr/share/doc/ipvsadm-1.27
/usr/share/doc/ipvsadm-1.27/README /usr/share/man/man8/ipvsadm-restore.8.gz
/usr/share/man/man8/ipvsadm-save.8.gz /usr/share/man/man8/ipvsadm.8.gz
#查看ipvsadm.service服务的结构可以看到配置未见在/etc/sysconfig/ipvsadm
[root@db1 ~]# cat /usr/lib/systemd/system/ipvsadm.service
那么我们只需要ipvsadm -S > /etc/sysconfig/ipvsadm就可以把配置文件保存在配置文件中
ipvsadm -R < /etc/sysconfig/ipvsadm就可以从配置文件中恢复到当前配置
@清空配置 ipvsadm -C
Lvs 负载均衡 (VS/NAT模式)的更多相关文章
- 20.LVS负载均衡群集—NAT模式实例
LVS负载均衡群集-NAT模式实例 目录 LVS负载均衡群集-NAT模式实例 群集引用概述 群集的含义 问题 解决方法 企业群集分类 群集的三种类型 负载均衡群集(Load Balance Clust ...
- LVS负载均衡之NAT模式部署
1.LVS的NAT模式介绍 参考自官网:http://www.linuxvirtualserver.org/zh/lvs3.html 由于IPv4中IP地址空间的日益紧张和安全方面的原因,很多网络使用 ...
- LVS负载均衡之DR模式原理介绍
LVS基本原理 流程解释: 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间 PREROUTING 链首先会接收到用户请求,判断目标 IP 确定是本机 IP ...
- LVS负载均衡之DR模式部署
1.LVS的DR模式介绍 参考自官网:http://www.linuxvirtualserver.org/zh/lvs3.html VS/DR利用大多数Internet服务的非对称特点,负 ...
- LVS负载均衡三种模式的实现
何为lvs负载均衡? lvs负载均衡(linux virtual server)又名linux虚拟服务器.由章文嵩博士主导的负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux ...
- LVS负载均衡IP隧道模式原理介绍以及配置实战
LVS 基本工作原理 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间 PREROUTING 链首先会接收到用户请求,判断目标 IP 确定是本机 IP,将数 ...
- 11.4.5 LVS负载均衡常见工作模式总结以及ipvsadm
NAT TUN DR RS any Tunneling Non-arp device RS network private LAN/WAN LAN RS number low(10-20) Hig ...
- LVS负载均衡群集(NAT)
----构建NAT模式的LVS群集----------client---------------LVS----------------WEB1-----------WEB2------------NF ...
- LVS 负载均衡——直接路由模式DR
一.配置的网络拓扑结构图 二.配置lvs服务器 配置虚拟网卡地址(VIP地址) [root@localhost ~]# ifconfig eno16777728: 192.168.200.253 ne ...
- LVS负载均衡NAT模式实现
LVS负载均衡之NAT模式配置 NAT 模式架构图: 操作步骤 实验环境准备:(centos7平台) 所有服务器上配置 # systemctl stop firewalld //关闭防火墙 # sed ...
随机推荐
- MySQL(MMM架构使用)
本案例要求基于普通版的MySQL服务器改造MMM架构,完成以下任务操作:启动MMM集群架构设置集群中服务器为online状态MySQL-MMM架构部署完成后需要启动,数据库端启动mmm-agent进程 ...
- JavaSE-17 泛型
学习要点 泛型接口 泛型类 泛型方法 多参数泛型类 泛型类的继承 泛型的定义 允许在定义类.接口.方法时使用类型形参,类型形参将会在声明变量.创建对象或者调用方法时候动态指定. 泛型接口 1 定义 ...
- jQuery中Ajax事件beforesend及各参数含义1
jQuery中Ajax事件beforesend及各参数含义 转自:http://blog.sina.com.cn/s/blog_609f9fdd0100wprz.html Ajax会触发很多事件. 有 ...
- 标量子查询中有ROWNUM=1怎么改?
碰到标量子查询中有ROWNUM=1怎么改? select to_date(o.postdate,'yyyymmdd'), (select cur.c_code from cur_tbl cur whe ...
- jQuery的ready与js的load事件的区别
摘自:http://www.cnblogs.com/see7di/archive/2011/07/15/2239677.html 为了理解这两个事件的异同,读者应该先了解HTML文档加载的顺序. DO ...
- C++解决大数组问题
今天写一个C++小程序,竟然出现:"VS 未经处理的异常: 0xC00000FD: Stack overflow" 查了一下,普通数组变量是在堆栈中保存的,而堆栈空间有限,故出此错 ...
- java 编码乱码问题
Tomcat的server.xml 文件Connector标签加上URIEncoding="utf-8": <Connector port=" protocol=& ...
- 关于必须添加对程序集“System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的引用异常问题
问题描述: 下午调试代码的时候突然发现页面突然异常了,原本以为是代码哪里写错了,后来通过定位发现MVC,UI界面的Linq异常,即关于必须添加对程序集“System.Runtime, Version= ...
- 关于.NET玩爬虫这些事 【初码干货】
这几天在微信群里又聊到.NET可以救中国但是案例太少不深的问题,我说.NET玩爬虫简直就是宇宙第一,于是大神朱永光说,你为何不来写一篇总结一下? 那么今天就全面的来总结一下,在.NET生态下,如何玩爬 ...
- Java Class 利用classpath来获取源文件地址
利用classpath来获取源文件地址 @author ixenos 应用场景 Properties props = new Properties(); /** * . 代表java命令运行的目录 * ...