标签(空格分隔): linux

笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流

前言

LVS一共四种工作模式。其中,DR模式是比较常用的模式之一,配置较麻烦,这里重点记录一下它的核心要点及优化。先看工作流程,上图:


实战配置一台LVS负载均衡服务器

一、主机列表

主机名 IP地址 角色
lb01 10.0.0.5/24 调度器
web01 10.0.0.7/24 RS服务器
web02 10.0.0.8/24 RS服务器

二、安装

# lb01操作
yum install ipvsadm -y
rpm -qa ipvsadm
lsmod |grep ip_vs
ln -s /usr/src/kernels/`uname -r` /usr/src/linux#注意Centos 6.X安装lvs,使用1.26版本。并且需要先安装yum install libnl* popt* -y
执行ipvsadm(modprobe ip_vs)把ip_vs模块加载到内核[root@lb01 ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn#IP Virtual Server version 1.2.1 ---- ip_vs    内核模块版本

三、配置LVS服务器

lb01添加虚拟IP

ifconfig eth0:0 10.0.0.3/24 up #==>简便写法
[root@lb01 ~]# ipvsadm-save     #保存当前的lvs的规则,可以用ipvsadm-restore恢复
[root@lb01 ~]# ipvsadm -C     #clear the whole table 清空lvs的所有规则
[root@lb01 ~]# ipvsadm --set 30 5 60        #设置tpc tcpfin udp超时时间
[root@lb01 ~]# ipvsadm -A -t 10.0.0.3:80 -s wrr -p 20
-A        # add virual service with options
[root@lb01 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.0.3:80 wrr persistent 20
-t   tcp服务
-s   指定轮询算法  rr  wrr  wlc
-p   指定会话保持时间

添加服务员RS服务器

[root@lb01 ~]# ipvsadm -a -t 10.0.0.3:80 -r 10.0.0.7:80 -g -w 1
[root@lb01 ~]# ipvsadm -a -t 10.0.0.3:80 -r 10.0.0.8:80 -g -w 1
[root@lb01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.0.3:80 wrr persistent 20-> 10.0.0.7:80                  Route   1      0          0         -> 10.0.0.8:80                  Route   1      0          0  
[root@lb01 ~]# ipvsadm-save
-A -t www.etiantian.org:http -s wrr -p 20
-a -t www.etiantian.org:http -r 10.0.0.7:http -g -w 1
-a -t www.etiantian.org:http -r 10.0.0.8:http -g -w 1 

参数说明

-a   #添加rs服务器
-r   #real  server  RS  ip
-g   #dr 模式
-w   #l   weight  权重
-t   #10.0.0.3:80    使用tcp协议,负载均衡的ip地址是10.0.0.3:80

四、手工在RS端绑定

1.在每台real server端执行
绑定vip

ip addr add 10.0.0.3/32 dev lo label lo:0

2.手工在RS端抑制ARP响应

cat >>/etc/sysctl.conf<<EOF
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
EOF
sysctl -p

五、浏览器测试


四种工作模式

  • DR(Direct Routing)
  • NAT(Network Address Translation)
  • TUN(Tunneling)
  • FULLNAT(Full Network Address Translation)

建议日1000千万到2000千万PV或并发请求1万以下都可以考虑用haproxy/nginx或(LVS-NAT模式),DR模式效率很高,但配置麻烦。

核心要点:

  • 因后端服务器上同样配置了虚拟IP,如果在客户端进行ARP请求时,后端服务器以自身的MAC地址进行了回复,则起不到负载均衡的效果,此时客户端直接连到了某台后端服务器上。

  • 后端服务器的虚拟IP必须绑定到lo:0上,同时指定子网掩码是255.255.255.255,否则ARP禁用会出现异常。

  • 持久连接(Persistence)的问题。持久连接使同一个客户端在超时时间内(ipvsadm-p参数指定,keepalived中的persistence_timeout指令)会持续地连接到同一台后端服务器,这个是4层上的持久连接。来自客户端的每个新的连接会重置该超时时间。

  • Keepalived对后端服务器的健康检查,推荐使用应用层检查方式,另外可以配置Keepalived使用管理员自定义的脚本进行健康检查(MISC_CHECK指令)

  • 负载均衡器之间使用vrrp协议进行高可用设置时,禁用iptables或者打开对vrrp协议的支持。

  • LVS集群中的负载均衡器,推荐使用16GB及以上内存,同时采用多队列网卡提高网卡吞吐量减少处理延时。

  • LVS集群中的后端服务器,根据IO密集型和CPU密集型2类,可以分别使用RAID10、SSD及高频多核CPU来优化。

参考书籍【Linux运维最佳实践】

转载于:https://www.cnblogs.com/Csir/p/6754077.html

LVS-DR模式(原理图详解)相关推荐

  1. lvs dr 模型配置详解

    lvs dr 模型配置详解 [学习笔记] 前期准备: 两台服务器 note01(lvs服务器) note02(real sever) 1 首先在note01配置子网卡: ifconfig eth0:2 ...

  2. 运维企业专题(5)LVS高可用与负载均衡中篇——VS/DR模式配置详解

    实验准备 1.下面的实验使用的是rhel6系列(rhel6.5)的虚拟机,因此你需要有对应的镜像和yum源 2.准备三台虚拟机,为了区分主机名与IP分别为 server1 172.25.6.1 ser ...

  3. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

  4. LVS DR模式负载均衡

    高并发场景 LVS 安装及高可用实现 分类: 运维基本功,故障解决 转载自 惨绿少年   https://www.cnblogs.com/clsn/p/7920637.html 1.1 负载均衡介绍 ...

  5. LVS——DR模式(负载均衡)

    1. DR模式(直接路由模式:Virtual Server via Direct Routing) DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接 ...

  6. LVS负载均衡--知识详解

    一. 集群的概念 服务器集群简称集群是一种服务器系统,它通过一组松散集成的服务器软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台服务器. 集群系统中的单个服务器通常 ...

  7. python类是实例的工厂_Python设计模式之工厂方法模式实例详解

    本文实例讲述了Python设计模式之工厂方法模式.分享给大家供大家参考,具体如下: 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类, ...

  8. OSPF中DR选举机制详解

    OSPF中DR选举机制详解--对于这方面不太清楚的可以看看附件 转载于:https://blog.51cto.com/gauyanm/226882

  9. LVS DR模式 负载均衡服务搭建

    LVS 负载均衡 最近在研究服务器负载均衡,阅读了网上的一些资料,发现主要的软件负载均衡方案有nginx(针对HTTP服务的负载均衡),LVS(针对IP层,MAC层的负载均衡).LVS模式工作在网络层 ...

  10. ​十六周一次课(4月11日) 学习完成 18.11 LVS DR模式搭建 18.12 keepalived + LVS

    2019独角兽企业重金招聘Python工程师标准>>> 18.11 LVS DR模式搭建 准备工作:三台机器 分发器,也叫调度器(简写为dir) 192.134 rs1 192.13 ...

最新文章

  1. java新特性对数组的支持
  2. SQLStoredProc调用数据库存储过程
  3. 工作中如何使用线程池的?自己如何定义一个线程池?
  4. html中相同结构标签怎么区分,html标签结构总结
  5. 大厂在用的Python反爬虫手段,破了它!
  6. LeetCode 187. 重复的DNA序列
  7. 深度学习主流框架介绍(PyTorch、TensorFlow、Keras、Caffe、Theano、MXNET)
  8. Chrome 73 稳定版正式发布,macOS 支持暗色主题
  9. mysql安装sql文件怎么打开_sql文件用什么打开?如何打开sql文件?
  10. postgresql 身份证、手机号、营业执照验证脚本
  11. 愿你出走半生,归来仍是少年——2017年半年总结(下)
  12. 【洛谷】P1878 舞蹈课
  13. 读《创业36条军规》(五)放下身段死缠烂打
  14. Linux虚拟主机管理系统---wdcp
  15. Getting Real ——把握现实
  16. 超标量处理器设计 姚永斌 第7章 寄存器重命名 摘录
  17. 【python练习笔记】神秘的王宫
  18. RNA_seq表达分析
  19. python 儿童 游戏_防止孩子玩游戏的Python小程序
  20. 合同法律风险管理 合同签字后果

热门文章

  1. Oracle忘记用户名和密码的解决方案
  2. Jquery动画效果--地铁站名指示等效果
  3. Entity Framework中IQueryable, IEnumerable, IList的区别(转自网络)
  4. BorderContainer的圆角问题
  5. 云计算概念诠释:18个权威人士的定义
  6. html中响应式查询,css 响应式(媒介查询)
  7. myeclipse10.7激活
  8. 【Python学习系列十一】Python实现决策树实现C4.5(信息增益率)
  9. 修改mdev配置支持SD卡自动挂载
  10. 算法谜题 php,JavaScript实现N皇后问题算法谜题解答_javascript技巧