LVS_NAT实现负载均衡
简介:
基于NAT机制实现。当用户请求到达director之后,director将请求报文的目标地址(即VIP)改成选定的realserver地址,同时将报文的目标端口也改成选定的realserver的相应端口,最后将报文请求发送到指定的realserver;在服务器端得到数据后,realserver将数据返给director,而director将报文的源地址和源端口改成VIP和相应端口,然后把数据发送给用户,完成整个负载调度过程。
Client->VS(两个网卡,一个內网,一个交换机与RS互通,DNAT目标地址转换)->RS(SNAT源地址转换)->VS->Client
特点:
1. LVS-DR模型的特性
特点:保证前端路由将目标地址为VIP报文统统发给负载均衡器,而不是真实服务器
真实服务器可以使用私有地址,也可以是公网地址,如果使用公网地址,此时可以通过互联网对真实服务器IP进行直接访问
真实服务器跟负载均衡器必须在同一个局域网中
所有的请求报文经由负载均衡器,但响应报文必须不能进过负载均衡器
不支持地址转换,也不支持端口映射
真实服务器可以是大多数常见的操作系统
真实服务器的网关绝不允许指向负载均衡IP(因为我们不允许他经过director)
真实服务器上的lo接口配置VIP的IP地址
缺陷:真实服务器和负载均衡器必须在同一机房中
2.LVS-NAT模型的特性
真实服务器应该使用私有地址,且网关必须指向负载均衡IP
负载均衡IP和真实服务器IP必须在同一个网段内
请求和响应报文都需要经过负载均衡器,高负载场景中,负载均衡器容易成为性能瓶颈
支持端口映射
真实服务器可以使用任意操作系统
缺陷:对负载均衡器压力会比较大,请求和响应都需经过负载均衡器
3.LVS-Tun模型特性
真实服务器IP、VIP、负载均衡器IP全是公网地址
真实服务器的网关不会也不可能指向负载均衡器IP
所有的请求报文经由负载均衡器,但响应报文必须不能进过负载均衡器
不支持端口映射
真实服务器的系统必须支持隧道
LVS_NAT实验环境:
rhel6.5
test1(VS): 172.25.1.11 vip: 172.25.254.100
test2(RS): 172.25.1.12 网关:172.25.1.11
test3(RS): 172.25.1.13 网关:172.25.1.11
VS:
给test1添加网卡并添加vip:172.25.254.100
[root@test1 ~]# cd /etc/sysconfig/network-scripts/
[root@test1 network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@test1 network-scripts]# vim ifcfg-eth1 //当临时添加ip时需要执行ip link set up eth1来激活eth1
[root@test1 network-scripts]# /etc/init.d/network restart
[root@test1 ~]# yum install -y ipvsadm
[root@test1 ~]# /etc/init.d/iptables stop
[root@test1 ~]# ipvsadm -C
[root@test1 ~]# ipvsadm -A -t 172.25.254.100:80 -s wrr //wrr加权轮叫调度算法
[root@test1 ~]# ipvsadm -a -t 172.25.254.100:80 -r 172.25.1.12 -m -w 1
[root@test1 ~]# ipvsadm -a -t 172.25.254.100:80 -r 172.25.1.13 -m -w 1 // -m表示nat模式,-w设置权重
[root@test1 ~]# ipvsadm -ln
[root@test1 ~]# vim /etc/sysctl.conf //永久设置,打开ip转发功能;若临时开启,用sysctl -w net.ipv4.ip_forward=1
sysctl -a |grep ip_forward //查看是否为1
RS:
[root@test2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 //添加网关,指向调度器
GATEWAY=172.25.1.11
//临时添加用route add default gw 172.25.1.11
[root@test2 ~]# cat /var/www/html/index.html
[root@test2 ~]# /etc/init.d/httpd start
test3: 进行相同的步骤添加网关172.25.1.11
[root@test3 ~]# cat /var/www/html/index.html
[root@test3 ~]# /etc/init.d/httpd start
此时进行客户端测试:
实现了轮询,即负载均衡。
但若其中一个RS出现故障,则会出现以下问题:
[root@test2 ~]# /etc/init.d/httpd stop
此时:
LVS_NAT实现负载均衡相关推荐
- LB负载均衡集群 - NAT
前提: 客户机 : eth0 192.168.0.200 eth1 192.168.205.129 dir主机: eth0 192.168.0.166 eth1 1 ...
- 负载均衡集群介绍、LVS介绍、LVS调度算法、 LVS NAT模式搭建
负载均衡集群介绍 LVS介绍 lvs的NAT模式介绍 这种模式借助iptables的nat表来实现,用户的请求到分发器后,通过预设的iptables规则,把请求的数据包转发到后端的服务器上去,这些服务 ...
- 【LVS】负载均衡集群
LVS (Linux Virtual Server)是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术.LVS可以实现LINUX平台下的简单负载均衡. 其中LVS/NAT是一 ...
- 18.6 负载均衡集群介绍 18.7 LVS介绍 18.8 LVS调度算法 18.9/18.10 LVS NAT模式搭建
2019独角兽企业重金招聘Python工程师标准>>> 18.6 负载均衡集群介绍 实现负载均衡集群的软件有:LVS.Keepalived.Nginx.haproxy等.其中LVS属 ...
- 使用LVS实现负载均衡原理及安装配置详解
使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均 ...
- LVS负载均衡之NAT模式
LVS负载均衡之NAT模式 重点理解NAT方式的实现原理和数据包的改变. (a). 当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链. 此时报文的 ...
- 负载均衡集群介绍LVS介绍LVS调度算法LVS NAT模式搭建
2019独角兽企业重金招聘Python工程师标准>>> 18.6 负载均衡集群介绍 • 主流开源软件LVS.keepalived.haproxy.nginx等 • 其中LVS属于4层 ...
- 汇总-13台虚拟机搭建一个高可用负载均衡集群架构
要求 用13台虚拟机搭建一个高可用负载均衡集群架构出来,并运行三个站点,具体需求如下. 设计你认为合理的架构,用visio把架构图画出来 搭建lnmp.tomcat+jdk环境 三个站点分别为:dis ...
- linux 内核round-robin scheduler代码,用LVS构架负载均衡Linux集群系统 linux lvs
never queue scheduling --- IPVS application helper FTP protocol helper 以上所有项建议全部选择. (4)Networking op ...
最新文章
- docker run后台启动命令_Docker命令详解之run
- linux shell中的命令自动补全(compgen complete)与 命令行参数解析
- 设置公共请求参数_封装一个useFetch实现页面销毁取消请求
- HTML第一章:初始HTML
- c调用python脚本 效率,尝试用C调用Python脚本#
- 零基础物联网开发,踩坑无数,得到这份宝典 | 原力计划
- 安卓编译php,编译PHP
- cadence 常见pcb电阻_CADENCE从原理图到PCB步骤 精
- 用Java做一个及时翻译工具
- 面包机面包/蛋糕配方
- python中print的用法_Python中print用法里面% ,%s 和 % d 代表的意思
- 11gR2 新特性--待定的统计信息(Pending Statistic)
- npmnjs学习笔记-moddle description编写规则
- 基于微信小程序的学习记录与提醒应用设计与实现-计算机毕业设计源码+LW文档
- 操作系统采用可变分区分配存储管理方法期末复习题
- 工作随记-Java利用企业微信群机器人定时发送消息
- Python成长之路【第九篇】:Python基础之面向对象
- html语言星号,html星号怎么打
- 卡苹果6plus在线_流量卡首推172梦龙系列,性价比没得说
- 腾讯云联手宇信科技发布多个联合方案,全面助力金融科技自主可控