LVS集群 (四十四)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、集群概述

[1. 负载均衡技术类型](#1. 负载均衡技术类型)

[2. 负载均衡实现方式](#2. 负载均衡实现方式)

二、LVS结构

三、LVS工作模式

四、LVS负载均衡算法

[1. 静态负载均衡](#1. 静态负载均衡)

[2. 动态负载均衡](#2. 动态负载均衡)

五、ipvsadm命令详解

六、LVS配置案例

[1. 基础配置](#1. 基础配置)

[2. 实现NAT模型搭建](#2. 实现NAT模型搭建)

[3. 实现DR模型搭建](#3. 实现DR模型搭建)

总结



前言

LVS(Linux Virtual Server)是一个基于Linux操作系统的高性能、可扩展的服务器集群技术。它通过将多台服务器组织成一个逻辑集群,提供负载均衡、高可用性和扩展性等功能。


提示:以下是本篇文章正文内容,下面案例可供参考

一、集群概述

1. 负载均衡技术类型

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

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

2. 负载均衡实现方式

硬件负载均衡产品: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负载均衡算法

1. 静态负载均衡

rr(round robin,轮询 )

wrr(weight round robin,加权轮询)

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

dh(destination hashing,目标地址 HASH)

2. 动态负载均衡

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配置案例

1. 基础配置

修改主机名

关闭防火墙

关闭Selinux

关闭Networkmanager

配置IP地址

2. 实现NAT模型搭建

2.1 负载调度器配置

配置IP地址

增加一块网卡

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens37

vim ifcfg-ens37

删除UUID

NAME=ens37

DEVICE=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

配置负载分配策略

ipvsadm -A -t 192.168.142.100:80 -s rr

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

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

保存策略

ipvsadm-save > /etc/sysconfig/ipvsadm

2.2 web节点配置

配置网关

route add -net 0/0 gw 192.168.115.3

测试访问:192.168.23.100

3. 实现DR模型搭建

原理图

3.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

安装ipvsadm

yum install -y ipvsadm

加载ip_vs模块

modprobe ip_vs

lsmod |grep ip_vs

启动ipvsadm服务

systemctl start ipvsadm

配置负载分配策略

ipvsadm -A -t 192.168.115.200:80 -s rr

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

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

3.2 web节点配置(两台一样的配置)

调整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.156.200/32 dev lo:0

测试


总结

LVS集群具有以下优点:

高可用性:通过使用多个服务器节点,当某个节点故障时,其他节点可以继续提供服务,保证系统的可用性。

负载均衡:将客户端请求分发给集群中的多个服务器节点,使得各个节点的负载相对均衡,提高系统的性能和吞吐量。

扩展性:可以根据需求方便地添加或移除服务器节点,实现集群的横向扩展。

总的来说,LVS集群是一种成熟的、可靠的服务器集群技术,广泛应用于大规模的互联网服务、电子商务等领域。

相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式