lvs01

快捷键

LVS

同类软件 haproxy nginx
硬件设备:F5 netscaler radware

——————————————————————————————————————————————
1.lvs (linux virtual server) 可以代理TCP和UDP,并发量几万到10万。lvs 由内核态的ip_vs模块和用户态的ipvsadm/keepalived 组成

——————————————————————————————————————————————

协议 内 容
TCP HTTP,FTP,PROXY,SMTP,POP3,IMAP4,DNS,LDAP,HTTPS,SSMTP等
UDP DNS,NTP,ICP,视频、音频流播放协议等

项目介绍
集群的体系结构
集群中的ip负载均衡技术
集群中的负载调度

——————————————————————————————————————————————
2.术语
——————————————————————————————————————————————

VIP virtual ip address 虚拟ip地址
RIP real server ip address 真实的ip节点,web的地址
DIP director ip address 负载均衡器的内网ip
CIP client ip address 客户端的ip

——————————————————————————————————————————————
3.工作模式
——————————————————————————————————————————————

NAT模式 network address translation
TUN模式 tunneling
DR模式 direct routing 直接路由
FULLNAT模式 full network address translation

——————————————————————————————————————————————
3.1.DR模式direct routing 直接路由
——————————————————————————————————————————————

请求是修改目标的mac地址

  • 请求过程

    前提:集群主机处于同一局域网内
    负载均衡器 绑定vip
    realserver在lo 绑定vip,并修改内核 arp_ignore 和 arp_announce
    1.用户携带数据包(CIP:VIP)请求到达LVS(VIP),LVS根据调度算法选择一台realserver,并将vip对应的mac地址修改为该主机
    2.局域网通过mac将数据包传递给realserver,realserver发现数据包的目标地址是自己的vip,开始处理请求
    3.realserver 将数据包封装成(VIP:CIP)的形式,通过arp请求(eth0的ip:eth0的mac地址)到达网关,有网关发送给用户
  • 特点

    1.要求在同一二层网内
    2.负载均衡器只做了mac地址的转发,因此只能代理相同端口
    3.realserver 需要外网ip
    4.优点:并发很高

——————————————————————————————————————————————
3.2.NAT模式 network address translation
——————————————————————————————————————————————

请求时改目标ip,数据返回时修改源IP

  • 请求过程
前提:负载均衡器开启内核转发
realserver的 gateway 设置成负载均衡器的DIP
1.请求数据到达LVS(CIP:VIP)
2.LVS广播转发请求到一台RIP,并将数据包的目标ip修改成该RIP(CIP:RIP)
3.RIP处理后将数据包发送给网关(RIP网关必须为DIP)(RIP:CIP)
4.LVS转换源ip地址后转发给CIP(VIP:CIP)
  • 特点:
1.支持端口转化
2.realserver可以是内网
3.对LVS压力大
2.负载均衡开启内核转发net.ipv.ip_forward=1

——————————————————————————————————————————————
3.3.TUN模式 tunneling
——————————————————————————————————————————————

二次封装数据包.TUN模式 用在cache中

  • 请求流程

    前提:负载均衡器 绑定vip
    realserver在lo 绑定vip,并修改内核 arp_ignore 和 arp_announce
    1.数据到达LVS,LVS进行二次封装,在目标地址中添加新的IP指向RIP
    2.到达RIP,realserver 进行解包,获取到VIP(需要在 realserver的lo上添加辅助ip,同时
    抑制vip。类似DR模式)
    3.直接返回数据到客户端
  • 特点

    1.realserver 需要外网ip
    2.与DR模式相比可以跨网段,跨机房

3.4. fullnat模式
——————————————————————————————————————————————

fullnat Lvs同时修改源和目标地址,返回时同时修改源和目标地址。这样lvs可以是多台,在多台lvs之前的的路由器上使用OSPF技术聚合

——————————————————————————————————————————————
4.调度算法 有10种调度算法,常用4种
——————————————————————————————————————————————

rr 轮叫调度(Round-Robin Scheduling)
wrr 加权轮叫调度(Weighted Round-Robin Scheduling)
lc 最小连接调度(Least-Connection Scheduling)
wlc 加权最小连接调度(Weighted Least-Connection Scheduling)
lblc 基于局部性的最少链接(Locality-Based Least Connections Scheduling)
lblcr 带复制的基于局部性最少链接(Locality-Based Least Connections with Replication Scheduling)
dh 目标地址散列调度(Destination Hashing Scheduling)
sh 源地址散列调度(Source Hashing Scheduling)
sed 最短预期延迟(Shortest Expected Delay)
nq 永不排队(never queue schedure)
posted @   mingtian是吧  阅读(223)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示