linux————LVS集群

目录

一、集群概述

一、负载均衡技术类型

二、负载均衡实现方式

二、LVS结构

一、三层结构

二、架构对象

三、LVS工作模式

四、负载均衡算法

一、静态负载均衡

二、动态负载

五、ipvsadm命令详解

六、LVS配置

一、基础配置

二、实现NAT模型搭建

配置IP地址

安装ipvsadm

开启路由转发功能

加载ip_vs模块

启动ipvsadm

配置负载分配策略

配置web服务

访问测试​编辑

​编辑

三、实现的模型搭建

调整ARP参数

配置虚拟ip

安装ipvsadm​编辑

启动ipvsadm服务​编辑​编辑

配置负载分配策略

配置web节点

访问测试


一、集群概述

一、负载均衡技术类型

四层负载均衡器 也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;

七层负载均衡器 也称为 7 层交换机,位于 OSI 的最高层,即应用层,此负载均衡器支持多种协议,如HTTP、FTP、SMTP 等。7 层负载均衡器可根据报文内容,配合一定的负载均衡算法来选择后端服务器,即"内容交换器"。如常见的 HAProxy、Nginx。

二、负载均衡实现方式

硬件负载均衡产品:F5 、深信服 、Radware

软件负载均衡产品: LVS(Linux Virtual Server)、 Haproxy、Nginx、Ats(apache traffic server)

二、LVS结构

一、三层结构

负载调度器

服务器池

共享存储

二、架构对象

|-----|-------------------------------------|
| VS | Virtual Server ,也称为Director,负载均衡服务器 |
| RS | Real Server,真正的服务器,集群中各节点 |
| VIP | Director 向外部提供服务的 IP |
| DIP | Director 向内部与 RS 通信的 IP |
| RIP | 真实服务器的 IP |
| CIP | 客户端的 IP |

三、LVS工作模式

LVS-NAT(NAT模式)

LVS-DR(直接路由模式)(应用最广泛)

LVS-TUN(IP隧道(Tunnel)模式,不常用)

FULL-NAT模式(双向转换模式,不常用)

四、负载均衡算法

一、静态负载均衡

rr(round robin,轮询 )

wrr(weight round robin,加权轮询)

sh(source hashing,源地址散列算法(HASH))

dh(destination hashing,目标地址 HASH)

二、动态负载

lc(leash-connection,最少连接 )

简单算法:active * 256 + inactive (谁的小选谁)

wlc(加权最少连接)

简单算法:(active * 256 + inactive) / weight(谁的小选谁)

sed(最少期望延迟)

简单算法:(active + 1) * 256 / weight (谁的小选谁)

nq(never queue,永不排队)

LBLC(基于局部性的最少连接 )

LBLCR(基于局部性的带复制功能的最少连接)

五、ipvsadm命令详解

|----|---------------|
| -A | 添加虚拟服务节点 |
| -D | 删除虚拟服务节点 |
| -L | 查看虚拟服务节点列表 |
| -a | 添加真实服务节点 |
| -d | 删除真实服务节点 |
| -l | 查看真实服务节点列表 |
| -t | 指定虚拟服务器IP地址 |
| -s | 指定调度算法 |
| -r | 指定真实服务器节点IP地址 |
| -w | 指定权重值 |
| -g | 直接路由模式(默认) |
| -i | 隧道模式(不常用) |
| -m | NAT模式 |

六、LVS配置

一、基础配置

修改主机名

关闭防火墙

关闭Selinux

关闭Networkmanager

配置IP地址

二、实现NAT模型搭建

配置IP地址

增加一块网卡(NET模式 ip192.168.100.3, vmnet1 ip 192.168.131.100)

安装ipvsadm

开启路由转发功能

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

或 cd /etc/sysctl.d &&touch route.conf

添加 net.ipv4.ip_forward = 1

加载 sysctl -p

加载ip_vs模块

modprobe ip_vs

lsmod |grep ip_vs

启动ipvsadm

创建对应的文件或目录

配置负载分配策略

ipvsadm -A -t 192.168.131.100:80 -s rr

ipvsadm -a -t 192.168.113.100:80 -r 192.168.100.4:80 -m

ipvsadm -a -t 192.168.131.100:80 -r 192.168.100.5:80 -m

ipvsadm-save > /etc/sysconfig/ipvsadm

配置web服务

安装nginx

修改网页页面

route add -net 0/0 gw 192.168.100.3

访问测试

深度刷新 ctrl+f5

三、实现的模型搭建

调整ARP参数

vim /etc/sysctl.conf

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects=0

net.ipv4.conf.ens33.send_redirects = 0

sysctl -p

配置虚拟ip

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens33:0

安装ipvsadm

加载iop_vs模块

modprobe ip_vs

lsmod |grep ip_vs

启动ipvsadm服务

配置负载分配策略

ipvsadm -A -t 192.168.115.200:80 -s rr

ipvsadm -a -t 192.168.115.200:80 -r 192.168.115.4:80 -g

ipvsadm -a -t 192.168.115.200:80 -r 192.168.115.5:80 -g

配置web节点

vim /etc/sysctl.conf

net.ipv4.conf.all.arp_ignore=1

net.ipv4.conf.all.arp_announce=2

net.ipv4.conf.default.arp_ignore=1

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce=2

sysctl -p

cd /etc/sysconfig/network-scripts/

cp ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0

DEVICE=lo:0

IPADDR=192.168.115.200

NETMASK=255.255.255.255

ONBOOT=yes

NAME=loopback:0

route add -host 192.168.115.200/32 dev lo:0

访问测试

深度刷新 ctrl+f5

相关推荐
JuiceFS4 分钟前
深度解析 JuiceFS 权限管理:Linux 多种安全机制全兼容
运维·后端
暗夜潜行6 分钟前
ubuntu + nginx 1.26 + php7.4 + mysql8.0 调优
linux·运维·ubuntu
IU宝10 分钟前
Linux下基础IO
linux·运维·服务器
鹅是开哥22 分钟前
ZZU-ARM汇编语言实验2
linux·运维·服务器
HEY_FLYINGPIG34 分钟前
解决华为云服务器无法ping通github问题
运维·服务器·华为云
Cyrus_柯39 分钟前
网络编程(数据库:SQLite)
linux·c语言·数据库·sqlite
AlenTech1 小时前
Linux 系统可视化管理工具
linux·运维·服务器
头发够用的程序员1 小时前
小米玄戒O1架构深度解析(二):多核任务调度策略详解
android·linux·arm开发·智能手机·架构·手机
韭菜钟1 小时前
在Linux下使用vscode使用交叉编译工具链的gdb对core文件进行堆栈、变量查看
linux·运维·vscode
緈福的街口2 小时前
【leetcode】36. 有效的数独
linux·算法·leetcode