LVS集群

目录

一、集群概述

二、LVS结构

三、LVS工作模式

四、LVS负载均衡算法

五、ipvsadm命令详解

六、搭建


一、集群概述

负载均衡技术类型

四层负载均衡器 也称为 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模式(双向转换模式,不常用)

四、LVS负载均衡算法

静态负载均衡

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模式

六、搭建

(一)实现NAT模型搭建

1)负载调度器配置

配置IP地址

增加一块网卡

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens37

vim ifcfg-ens37

配置本地yum源

安装ipvsadm yum install -y ipvsadm

开启路由转发功能

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

加载ip_vs模块

modprobe ip_vs

lsmod |grep ip_vs

启动ipvsadm服务 systemctl start ipvsadm(需要创建一个文件:/etc/sysconfig/ipvsadm)

配置负载分配策略

ipvsadm -A -t 192.168.100.3:80 -s rr

ipvsadm -a -t 192.168.100.3:80 -r 192.168.115.4:80 -m

ipvsadm -a -t 192.168.100.3:80 -r 192.168.115.5:80 -m

保存策略 ipvsadm-save > /etc/sysconfig/ipvsadm

2)web节点

安装nginx

配置网页文档

启动服务

配置网关 route add -net 0/0 gw 192.168.115.3

测试

(二)实现DR模型搭建

1)负载调度器配置

调整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

vimifcfg-ens33:0

安装ipvsadm yum install -y ipvsadm

加载ip_vs模块

modprobe ip_vs

lsmod |grep ip_vs

启动ipvsadm服务 systemctl start ipvsadm(需要创建一个文件:/etc/sysconfig/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

保存策略 ipvsadm-save > /etc/sysconfig/ipvsadm

2)web节点配置(2台虚拟机一样)

调整ARP参数

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

配置虚拟IP地址

cd /etc/sysconfig/network-scripts/

cp ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0

添加回环路由 route add -host 192.168.115.200/32 dev lo:0

安装nginx

配置网页文档

启动服务

测试

相关推荐
爱吃龙利鱼1 天前
rocky9.2的lvs的NAT模式下的基本使用的详细示例
lvs
单字叶2 天前
LVS+Keepalived高可用集群
lvs
小技与小术2 天前
lvs命令介绍
linux·运维·服务器·lvs
小技与小术2 天前
lvs-nat模式实验详解
linux·运维·服务器·网络·lvs
单字叶2 天前
LVS-DR
lvs
小技与小术5 天前
lvs-dr模式实验详解
linux·运维·网络·lvs
flytalei10 天前
负载均衡调度器--LVS
运维·负载均衡·lvs
大白菜和MySQL10 天前
lvs dr模式集群搭建
linux·lvs
大白菜和MySQL11 天前
keepalived和lvs高可用集群
linux·运维·lvs
码出钞能力14 天前
lvs DR模式调试
linux·lvs