LVS四层负载均衡配置

一、LVS简介

        LVS支持第四层负载均衡‌,即在OSI模型的传输层上进行负载均衡。
        LVS的工作原理主要包括以下几种模式:
        NAT模式‌:请求报文由LVS接收并修改目标IP地址为后端服务器的IP地址,然后转发给后端服务器。后端服务器响应时,响应报文直接返回给客户端,不经过LVS‌。
        DR模式‌:LVS只负责接收请求并将其MAC地址改为后端服务器的MAC地址,后端服务器直接响应客户端,响应报文不经过LVS‌。
        TUN模式‌:LVS将请求封装在自己的IP包中,通过IP隧道发送给后端服务器。后端服务器解封装后直接响应客户端,响应报文不经过LVS‌。
        Full-NAT模式‌:全NAT模式,类似于NAT模式,但支持更多的配置选项和灵活性‌。
        本次演示配置为NAT模式
        LVS的调度包含以下算法:
        静态调度算法:轮询、加权轮询、源地址散列、目的地址散列
        动态调度算法:最小连接、权重最小连接、最短期望连接、最少队列以及其他算法
        本次演示简单使用静态轮询

二、环境准备
1、网络准备:

        负载均衡:一台centos7.6服务器,双网卡,192.168.3.67对外提供服务,192.168.5.108对内与真实节点通信(5.108这个网卡不要配置网关,否则容易产生默认路由与3.67的默认路由冲突);
        节点1、2:任意两台服务器,网卡网关配置为5.108。
2、节点服务准备
        两节点搭建简易web服务,标题不同,用于后续区分负载是否生效。


二、搭建部署负载均衡
        #负载均衡节点
        两张网卡,配置如下,记住网卡名称
        外网口,ens224,192.168.3.67

        内网口,ens192,192.168.35.108(网关留空)

#自己更新yum
yum install -y ipvsadm
#创建ens224网卡文件,编辑内容如下,注意网卡名称、IP地址与实际对应
vi  /etc/NetworkManager/system-connections/ens224.nmconnection
[connection]
id=ens224
type=ethernet
interface-name=ens224
[ipv4]
address1=192.168.3.67/27
method=manual
dns=8.8.8.8
#执行下面命令(网络可能短暂断开)
nmcli connection reload
nmcli connection up ens224
#创建ens192网卡文件,编辑内容如下,注意网卡名称、IP地址与实际对应
vi  /etc/NetworkManager/system-connections/ens192.nmconnection
[connection]
id=ens192
type=ethernet
interface-name=ens192
[ipv4]
address1=192.168.5.108/24
method=manual
dns=8.8.8.8
#执行下面命令(网络可能短暂断开)
nmcli connection reload
nmcli connection up ens192
#查看路由转发情况
sysctl -a | grep ip_forward

vi /etc/sysctl.conf
#尾部添加
net.ipv4.ip_forward=1
如图:

#使生效
sysctl -p
 
#查看当前负载情况(当前无任何负载配置)
ipvsadm -Ln

#配置负载信息(由于使用命令配置,信息临时生效,如遇服务器重启会丢失,因此用脚本执行,顺便设置个开机自启更方便)
#随便创建个脚本取名lvs.sh
cd /root
touch lvs.sh
chmod +x lvs.sh
vi lvs.sh
#添加以下内容(前端负载IP及端口,后端节点IP及端口,一定要加sudo,已踩坑)
#!/bin/bash
#配置信息
sudo ipvsadm -A -t 192.168.3.67:80 -s rr
sudo ipvsadm -a -t 192.168.3.67:80 -r 192.168.5.109:80 -m
sudoipvsadm -a -t 192.168.3.67:80 -r 192.168.5.110:80 -m

#执行脚本先测试一下
./lvs.sh
#再次查看负载情况
ipvsadm -Ln

#通过前端IP访问节点web服务http://192.168.3.67(负载均衡服务器防火墙和节点防火墙记得放通80端口)
#多次新建窗口打开网页,首页在109和110节点服务切换,测试成功(不要在一个界面用刷新测试)

# crontab将脚本写入开机自动执行
crontab -e
#写入
@reboot /root/lvs.sh
#重启前测试端口正常如下图(网页访问测试也行),这个时候重启一下负载服务器
reboot

#重启后,负载服务自启成功(重启过程网络丢包后开机恢复)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值