负载均衡集群介绍、LVS介绍、LVS调度算法、 LVS NAT模式搭建
负载均衡集群介绍
LVS介绍
lvs的NAT模式介绍
这种模式借助iptables的nat表来实现,用户的请求到分发器后,通过预设的iptables规则,把请求的数据包转发到后端的服务器上去,这些服务器接收到了请求之后处理请求,然后把处理请求结果在返给分发器,分发器在返回给用户,这样分发器就成为了一种瓶颈,当访问量非常大的时候分发器请求也非常的大,请求过来大,分发出去也大,最后还得把返回来的结果继续给用户,这样分发器就严重的影响了效率,所以说用NAT这种模式,请求量不能太大,一般的规模也就10台左右,除了说你的分发器的机器配置很高,网卡千兆网卡,用的网线千兆网线,甚至说万兆光纤,这样会大大提高效率
LVS IP Tunnel模式
分发器跟服务器建立了一个虚拟通道,叫做iptunnel,它实现原理更改了数据包的目的ip,比如说用户过来请求分发器,分发器和服务器他们有特殊的配置,叫做vip,这几个角色都需要配置一个公共的ip,这个公共ip的目的是为了个用户服务的,比如用户过来访问他得知道一个公网ip进行通信,通信的时候这个数据包里边就包含了目的ip,
LVS DR模式
LVS调度算法
轮询 Round-Robin 简称rr 最简单的也是最容易理解的,用户请求过来他均衡的把这些请求分发到服务器上他们没有任何的优劣之分。
加权轮询 Weight Round-Robin wrr,这个比第一种多个权重
最小连接 Least-Connection lc ,把请求量少的或者说这个服务器上连接数比较少的,那就会把新的请求分给连接数比较少的服务器上去
- 加权最小连接 Weight Least-Connection wlc ,跟上边的一样就是在加个权重
LVS NAT模式搭建
三台机器配置完ip后,把三台机器的防火墙关掉,在101和102机器上安装iptables
3台机器都停掉firewaad,
systemctl stop firewalld
systemc disable firewalld
rs1,rs2都安装 iptables.service
yum install iptables-services
安装 完后开启动服务
systemctl start iptables.service
systemctl enable iptables.service
分别执行以下命令
iptables -F
service iptables save
同时3台机器都要关闭selinux
昨关闭 setenforce 0
开机不再启动
vi /etc/selinux/config
开始配置
**在dir上安装ipvsadm是实现lvs的重要工具
[root@100xuni1 ~]# yum install -y ipvsadm
在dir上编写脚本,vim /usr/local/sbin/lvs_nat.sh//内容如下
[root@100xuni1 ~]# vim /usr/local/sbin/lvs_nat.sh ##写入以下内容
#! /bin/bash
# director 服务器上开启路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
# 关闭icmp的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
# 注意区分网卡名字,阿铭的两个网卡分别为ens33和ens37
echo 0 > /proc/sys/net/ipv4/conf/ens33/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/ens37/send_redirects
# director 设置nat防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.63.0/24 -j MASQUERADE
# director设置ipvsadm
IPVSADM='/usr/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.109.109:80 -s lc -p 3
$IPVSADM -a -t 192.168.109.109:80 -r 192.168.63.101:80 -m -w 1
$IPVSADM -a -t 192.168.109.109:80 -r 192.168.63.102:80 -m -w 1
执行下
[root@100xuni1 ~]# sh /usr/local/sbin//lvs_nat.sh ##没有输出就是没有错误
两台rs上都安装nginx,编辑主页
编辑主页
[root@101xuni2 ~]# vim /share/nginx/html/index.html ##两台rs都编辑主页为hanshuo2,和hanshuo3 方便测试区分
测试
curl 192.168.142.147,测试可看到分发的不均衡
更改配置文件再测试
[root@100xuni1 ~]# vim /usr/local/sbin/lvs_nat.sh ##$IPVSADM -A -t 192.168.142.147:80 -s wlc -p 3更改为$IPVSADM -A -t 192.168.142.147:80 -s rr
再测试,可以看到分发的很均衡,测试成功
扩展
lvs 三种模式详解 http://www.it165.net/admin/html/201401/2248.html
lvs几种算法 http://www.aminglinux.com/bbs/thread-7407-1-1.html
关于arp_ignore和 arp_announcehttp://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
lvs原理相关的 http://blog.csdn.net/pi9nc/article/details/23380589
转载于:https://blog.51cto.com/8043410/2171657
负载均衡集群介绍、LVS介绍、LVS调度算法、 LVS NAT模式搭建相关推荐
- LVS负载均衡集群介绍(4种工作模式10种调度算法)
文章目录 集群简介 集群的特点 集群的分类 负载均衡 负载均衡集群技术的实现 负载均衡分类 四层负载均衡(基于IP+端口的负载均衡) 七层的负载均衡(基于虚拟的URL或主机IP的负载均衡) 高可用性集 ...
- LVS 负载均衡集群详细介绍
目录 0 前言 1 什么是 LVS? 3 为什么要用 LVS? 4 LVS 的组成及作用 5 负载均衡的由来及所带来的好处 6 LVS 负载均衡集群的类型 7 DNS / 软硬件负载均衡的类型 8 L ...
- Nginx负载均衡集群介绍
第1章 集群介绍 1.1 集群简介 1.1.1 什么是集群 简单说,集群就是一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行 ...
- 超详细!一文带你了解 LVS 负载均衡集群!
作者 | JackTian 来源 | 杰哥的IT之旅(ID:Jake_Internet) 前言 如今,在各种互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求也越来越高,单台服务 ...
- LVS 负载均衡集群(一)| 超详细!一文带你了解 LVS 负载均衡集群
前言 如今,在各种互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求也越来越高,单台服务器也将难以无法承担所有的访问需求.当然了,除了使用性价比高的设备和专用负载分流设备外,还有 ...
- LB负载均衡集群--LVS
LB集群: LB集群是load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.keepalived ,商业的硬件负载设备F5.Netscale. ...
- 【负载均衡集群——保姆式教学】
负载均衡集群 负载均衡集群拓扑图 负载均衡器分类 负载均衡集群原理 LVS工作方式 1)NAT模式 LVS-NAT模式实验构建: Ⅰ 负载调度器(10.10.10.11.20.20.20.11) Ⅱ ...
- 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调度算法LVS NAT模式搭建
2019独角兽企业重金招聘Python工程师标准>>> 18.6 负载均衡集群介绍 • 主流开源软件LVS.keepalived.haproxy.nginx等 • 其中LVS属于4层 ...
最新文章
- 深度剖析Kubernetes API Server三部曲 - part 1
- spring boot: Bean的初始化和销毁 (一般注入说明(三) AnnotationConfigApplicationContext容器 JSR250注解)...
- Linux 之四 Ubuntu 20.04 WiFi 无法使用、设置无法显示、远程桌面、SSH、Git、PPA、FFmpeg 等各问题记录
- SparkProgrammingRDDs
- Spark基础学习笔记12:Scala内建控制结构
- mysql排序自段为字符串类型问题解决
- 在Scala IDEA for Eclipse或IDEA里程序编译实现与在Spark Shell下的对比(其实就是那么一回事)...
- 如何构建一个自己的代理ip池
- 正弦和余弦(角度到弧度)
- Android传感器、语音识别、定位系统、Google Map API、快捷方式、widget编程总结及示例
- sourcetree安装教程, sourtree新手入门 sourcetree使用教程 (不用太详细, 毕竟工作中用不到那么多, 就熟练使用常用的即可)
- Golang开发入门(一)
- MD5算法的编程实现
- java:对象比较的三种方法equals()方法,Comparator接口,Comparable接口
- 清除浮动影响的几种方法
- 初级会计实务--第五章第一节、收入
- loss与metric的区别 以及 optimizer的介绍
- Adobe新漏洞 金山清理专家急推专补工具
- 使用Paddleclas完成半导体晶圆图谱缺陷种类识别
- iteye上推荐的网站(转)
热门文章
- C#使用 SharpSSH
- 三、openstack安装之Glance篇
- 《Div+CSS 3.0网页布局案例精粹》扫描版[PDF]
- Robocopy.exe使用详例
- php提交字段打印,在隱藏的表單字段中提交的JSON編碼的PHP數組 - 在提交表單的頁面中打印時會產生奇怪的輸出...
- 将当前的head推送到远程_git 入门教程之远程仓库
- linux双机脚本pkg如何生效,linux里命令pkg config工具的使用
- select 统计 没有 为0_sql where 1=1和 0=1 的作用
- ajax send上传出错,Ajax在xmlhttp.send上出错
- python中使用html前端页面显示图像预测结果(改进)