LVS负载均衡器(三种模型、完整配置步骤)

一、LVS简介

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。
LVS的核心思想是将传入的网络流量分配到后端的多个真实服务器上。对于每个客户端请求,LVS会选择最适合该请求的服务器,并将其转发到该服务器。这样做可以提高系统的可伸缩性和负载均衡能力。

二、LVS相关术语

1、 DS:Director Server。指的是前端负载均衡器节点。

2、 RS:Real Server。后端真实的工作服务器。

3、 VIP:Visual Server IP,向外部直接面向用户请求,作为用户请求的目标的IP地址。

4、 DIP:Director Server IP,主要用于和内部主机通讯的IP地址。

5、 RIP:Real Server IP,后端服务器的IP地址。

6、 CIP:Client IP,访问客户端的IP地址

三、LVS调度算法

  • 静态调度
    rr(Round Robin): 轮询
    wrr(weight):加权
    sh(source hashing): 源地址散列
    dh(Destination Hashing): 目标地址散列
  • 动态调度
    lc(Least-Connection): 最少连接
    wlc(Weighted Least-Connection): 加权最少连接
    sed(Shortest Expected Delay): 最短期望延迟
    nq(never queue): 永不排队
    LBLC(Locality-Based Least Connection): 基于本地的最少连接
    LBLCR(Locality-Based Least Connections withReplication): 基于本地的带复制功能的最少连接

四、LVS三种工作模式

LVS有三种主要的负载均衡策略:IP隧道、NAT和直接路由。其中,IP隧道和NAT在LVS的工作方式方面比较相似,它们都需要LVS作为数据包的中间人来重定向流量。而直接路由则更加简单,因为它不需要对数据包进行操作或修改。

NAT模式

NAT(Network Address Translation,网络地址转换)是一种将私有网络地址转换为公网地址的技术。在互联网中,NAT允许多个设备使用同一个公共IP地址来访问互联网,通过在路由器或防火墙上配置NAT规则,将私有IP地址转换为公共IP地址,从而使局域网内的设备可以访问互联网,同时保护了局域网内的设备不受来自互联网的攻击。

  • S.NAT
    S.NAT是一种将源IP地址和端口号进行修改的技术,它通常用于在私有网络和公共网络之间进行通信时,将私有网络内的IP地址转换为公共网络的IP地址,以保护私有网络的安全性。S.NAT可以使私有网络内的主机访问公共网络上的服务,同时隐藏了私有网络的真实IP地址,增加了网络安全性。
  • D.NAT
    D.NAT是一种将目标IP地址和端口号进行修改的技术,它通常用于在公共网络和私有网络之间进行通信时,将公共网络的IP地址转换为私有网络的IP地址。D.NAT可以使公共网络上的主机访问私有网络内的服务,同时隐藏了私有网络的真实IP地址,增加了网络安全性。
    LVS运用了D.NAT(Destination NAT)技术。在LVS中,使用D.NAT将客户端请求的目标IP地址和端口号改为LVS集群中一个真实服务器的IP地址和端口号,使得客户端看到的是LVS集群中的一个真实服务器在提供服务,而不是LVS本身。这样可以实现负载均衡和高可用性。而S.NAT(Source NAT)则是将客户端的源IP地址改为LVS的IP地址,这种方式在LVS中并不常用。
    在这里插入图片描述

DR模式

DR(Direct Routing)模式通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变。在DR模式下,LVS负载均衡器只对客户端请求进行处理和响应,并将数据包直接转发到后端服务器。
在这里插入图片描述

TUN模式

LVS收到客户端请求,进行IP Tunnel封装,在原有的包头加上IP Tunnel的包头,然后发送给服务器,服务器根据Tunnel协议解开包头,得到真实客户端请求并进行处理,最终以VIP地址为源IP地址返回给客户端
在这里插入图片描述

五、完整配置步骤

以DR模型为例
node01配置DIP(eth0:1网卡)

ifconfig  eth0:8 192.168.150.100/24

修改node02~node03内核,并配置VIP(lo虚拟网卡)

#1)修改内核:
    echo 1  >  /proc/sys/net/ipv4/conf/eth0/arp_ignore 
    echo 1  >  /proc/sys/net/ipv4/conf/all/arp_ignore 
    echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce 
    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
#2)设置隐藏的vip:
    ifconfig  lo:3  192.168.150.100  netmask 255.255.255.255

node02~node03安装http服务并初始化页面

#  1)安装httpd服务
  yum install httpd -y
#  2)启动http服务
  service httpd start
#  3)编辑index.html
  vi   /var/www/html/index.html
#  4)页面内容,:wq 保存退出
    from node02

node01安装ipvsadm

  yum install ipvsadm

node01配置入口

#TCP协议 入口地址 指定调度算法,这里是轮询调度(Round Robin)算法
  ipvsadm -A  -t  192.168.150.100:80  -s rr

node01配置出口

#TCP协议 映射入口和出口地址 -g表示开启网关模式,-w 1表示设置权重值为1
  ipvsadm -a  -t 192.168.150.100:80  -r  192.168.150.12 -g -w 1
  ipvsadm -a  -t 192.168.150.100:80  -r  192.168.150.13 -g -w 1

查看配置的负载规则

#查看配置的负载规则
  ipvsadm -ln
#查看负载均衡记录(访问了请求之后的偷窥记录本)
  ipvsadm -lnc
#查看socket连接状态,node01看不到socket连接,node02~node03有很多socket连接
  netstat -natp

整体拓扑图如下
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值