博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LVS
阅读量:6715 次
发布时间:2019-06-25

本文共 1687 字,大约阅读时间需要 5 分钟。

hot3.png

LVS即Linux Virtual Server,L4 负载均衡实现,高性能,稳定可靠,已成为Linux内核一部分,国人章文嵩的著名开源项目

架构

输入图片说明

工作流

User > LoadBalancer(包括一组Director调度器) > ServerArray(包括一组Realserver业务机) > SharedStorage

模块组成

  • IPVS内核调度模块:部署在Director,对外暴露一个VIP,接受访问流量转发到RealServer
  • Ipvsadm用户空间管理模块:部署在Director,配置lvs调度方式并指定后端服务

IPVS模块工作模式

  • VS/NAT
  • VS/TUN
  • VS/DR:性能最好,但要求Director和Realserver在同一网段

负载均衡算法

静态类

  • RR:Round Robin循环调度
  • WRR:Weighted Round Robin加权循环调度
  • SH:SourceIP Hash源地址哈希调度
  • DH:Destination Hash目标地址哈希调度

动态类

  • LC:Least Connections最小链接数调度
  • WLC:Weighted Least Connection加权最小链接数调度
  • SED:Shortest Expection Delay最小期望延迟
  • NQ:Never Queue空闲服务器调度
  • LBLC:locality based least connection
  • LBLCR:locality based least connection with replication

VS/DR模式配置实例

IP约定

  • CIP:用户IP
  • VIP:Director面向外部用户的IP
  • DIP:Director面向后端业务机的IP
  • RIP:业务机IP
### 网络约定 #### 192.168.0.99(VIP)、192.168.0.100(DIP)# 192.168.0.101(RealServer1)sudo yum install -y ipvsadm## Director配置IP ##ifconfig eth0:0 192.168.0.99/32 broadcast 192.168.0.99 up #网卡绑定VIProute add -host 192.168.0.99 dev eth0:0 #网卡增加路由echo 1>/proc/sys/net/ipv4/ip_forward #启动IP包转发## Director配置IPVS调度规则 ##ipvsadm -C #ipvsadm重置ipvsadm -A -t 192.168.0.99:80 -s rr #添加VIPipvsadm -a -t 192.168.0.99:80 -r 192.168.0.101:80 -g #添加RealServer记录(-g为VS/DR模式)ipvsadm -L -n #启动LVS服务并罗列规则## RealServer配置 ##ifconfig lo:0 192.168.0.99/32 broadcast 192.168.0.99 up #回环设备绑定VIProute add -host 192.168.0.99 dev lo:0 #回环设备增加路由echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore #禁用ARPecho 1 >/proc/sys/net/ipv4/conf/all/arp_ignore #禁用ARPecho 2 >/proc/sys/net/ipv4/conf/lo/arp_announce #禁用ARPecho 2 >/proc/sys/net/ipv4/conf/all/arp_announce #禁用ARP## 访问服务 ##curl 192.168.0.99:80

Keepalived

sudo yum install -y keepalived

转载于:https://my.oschina.net/u/2400083/blog/1799431

你可能感兴趣的文章
No sleep, no sex, no life,程序员这次忍不了了
查看>>
Android 反编译的使用
查看>>
【翻译】asp.net core中使用MediatR
查看>>
Linux 安装Maven
查看>>
PostgreSQL技术周刊第6期:PostgreSQL 11 新特性解读
查看>>
使用git迁移git项目并保留提交记录
查看>>
关于ListBox在Grid中无法充满的问题
查看>>
jQuery系列 第四章 jQuery框架的选择器
查看>>
apt
查看>>
Android Dagger2依赖注入
查看>>
FullPage.js全屏插件文档及使用方法
查看>>
修改chrome插件
查看>>
Spring Boot(06)——参数配置机制
查看>>
【WPF】右下角弹出自定义通知样式(Notification)——简单教程
查看>>
keras 使用笔记
查看>>
Android中主要类的继承关系梳理汇总
查看>>
webApp爬坑之路(1)
查看>>
分享代码片段:web集群全局唯一request id生成算法, 替代uuid等“通用”方案
查看>>
[Arm] ARM汇编语言调用C函数之参数传递(转)
查看>>
SpringMVC源码分析迷你书
查看>>