负载均衡LVS安装配置

mtain 2022年05月25日 93次浏览

一、简介

LVS( Linux Virtual Server)是一种负载均衡(LB,Laod Balance)技术,采用IP负载均衡技术和基于内容请求分发技术。具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行。LVS是一套组件(ipvs与ipvsadm),类似与iptables,ipvs相当于netfilter,是能将用户请求转发的框架,需要依赖以规则完成转发,工作于内核中的INPUT链上,并依赖于规则进行转发,而ipvsadm是用来定义规则的工具。LVS工作在TCP/UDP协议的四层,能根据用户请求的IP与PROT进行转发,即LVS能实现四层交换、四层路由。

ipvsadm:用户空间的命令行工具,规则管理器,用于管理集群服务及RealServer
ipvs:工作于内核空间的netfilter的INPUT钩子之上的框架

二、工作模式

  1. NAT模式(地址转化模式)
  2. TUN模式(IP隧道模式,效率最高)
  3. DR模式(直接路由模式,最推荐)

LVS工作模式

三、安装

yum install -y ipvsadm

ipvsadm -Ln    #集群配置查看

四、配置

相关概念

DIP—>LVS-真实IP
RIP—>服务-真实IP
VIP—>访问IP

LVS的几种转发方式

-g LVS-DR
-i LVS-TUN
-m LVS-NAT

LVS的几种调度算法

-s rr 循环法
-s wrr 带权重的循环法
-s lc 最少连接法
-s wlc 带权重的最少连接法
-s lblc 基于本地的最少连接法
-s dh 目标散列法
-s sh 源散列法
-s sed 最短预期延迟法
-s nq 永不排队法

1. Nat模式配置

未经实际测试是否可用

lvs-nat.sh

#!/bin/bash
VIP=192.168.1.101
RIP1=192.168.1.102
RIP2=192.168.1.103
echo 1 > /proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -At $VIP:80 -s rr
ipvsadm -at $VIP:80 -r $RIP1:80 -m
ipvsadm -at $VIP:80 -r $RIP1:80 -m
ipvsadm -L -n

2. DR模式配置

未经实际测试是否可用

该模式下,必须要配置VIP
参考视频:https://www.bilibili.com/video/BV18Q4y1m7zK

lvs-dr.sh

#!/bin/bash
VIP=192.168.1.101
RIP1=192.168.1.102
RIP2=192.168.1.103
/sbin/ifconfig eth0:1 $VIP broadcast $VIP netmask 255.255.255.255 up
ipvsadm -C
ipvsadm -At $VIP:80 -s rr
ipvsadm -at $VIP:80 -r $RIP1:80 -g
ipvsadm -at $VIP:80 -r $RIP1:80 -g
ipvsadm -L -n

real-server-dr.sh

# 设置
VIP=192.168.1.101
BROADCAST=192.168.1.255
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $BROADCAST up

# 取消
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce