LVS负载均衡


项目背景

随着系统访问量的日益增加,单台主机性能越来越难以承受负载,纵向增加设备难以满足需求,横向拉伸成为当下最优解。如何让负载均衡到每一台服务器上是横向拉伸首要解决的问题。
旧技术:DNS轮询解析
缺点:
apache down,remove生效时间不可控
只支持WRR的调度策略
apache间负载不均衡
攻击防御能力弱


一、项目介绍

LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,其体系结构如图所示,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器。
在这里插入图片描述

3种工作模式:

NAT模式、TUN模式、以及DR模式。

10种调度算法:

1.轮询调度 RR
2.加权轮询调度 WRR
3.最小连接调度 LC
4.加权最小连接调度 WLC
5.基于局部的最少连接 LBLC
6.带复制的基于局部性的最少连接 LBLCR
7.目标地址散列调度 DH
8.源地址散列调度 SH
9.最短的期望的延迟 SED
10.最少队列调度 NQ

传输协议

TCP/UDP
基于传输层协议进行调度(4层Load Balance)

二、项目准备

三台Rhel7.6版本虚拟机,配置好网络、防火墙、selinux、地址解析、时间同步等准备工作。
一台测试机。

三、操作步骤

DR模式

# 调度器安装软件
yum install -y ipvsadm
添加VIP地址,确保IP地址没有被占用
ip addr add 192.168.56.200/24 dev ens33

# 编写LVS策略
ip addr add 192.168.213.200/24 dev ens33
ipvsadm -A -t 192.168.213.200:80 -s rr
ipvsadm -a -t 192.168.213.200:80 -r 192.168.213.102:80 -g
ipvsadm -a -t 192.168.213.200:80 -r 192.168.213.103:80 -g
ipvsadm -ln

在这里插入图片描述

# realserver上安装httpd服务用于测试
# server2:
yum install -y httpd
systemctl enable --now httpd
echo server2 > /var/www/html/index.html
server3:
yum install -y httpd
systemctl enable --now httpd
echo server3 > /var/www/html/index.html

# realserver上安装arptables软件,屏蔽ARP
# server2:
ip addr add 192.168.213.200/32 dev ens33
yum install -y arptables
arptables -A INPUT -d 192.168.213.200 -j DROP
arptables -A OUTPUT -s 192.168.213.200 -j mangle --mangle-ip-s 192.168.213.102
arptables-save > /etc/sysconfig/arptables
systemctl enable arptables.service
#server3:
ip addr add 192.168.213.200/32 dev ens33
yum install -y arptables
arptables -A INPUT -d 192.168.213.200 -j DROP
arptables -A OUTPUT -s 192.168.213.200 -j mangle --mangle-ip-s 192.168.213.103
arptables-save > /etc/sysconfig/arptables
systemctl enable arptables.service

#测试:
for i in {1..10}; do curl 192.168.56.200;done

在这里插入图片描述

# 查看调度器:
ipvsadm -ln
# 保存策略
ipvsadm-save > /etc/sysconfig/ipvsadm

在这里插入图片描述


总结

以上就是LVS的基本介绍和DR模式下LVS的实现方式,但是依旧存在以下问题:
当某台real server down了,怎么办?
当LVS本身down了,怎么办?

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值