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集群是一种成熟的、可靠的服务器集群技术,广泛应用于大规模的互联网服务、电子商务等领域。

相关推荐
aidroid14 分钟前
git github仓库管理
linux·运维·docker
学习3人组31 分钟前
集群服务器主机实现主机名与IP绑定
运维·服务器·tcp/ip
三朝看客35 分钟前
k8s自动清理pod脚本分享
linux·docker
it技术分享just_free37 分钟前
基于 K8S kubernetes 搭建 安装 EFK日志收集平台
运维·docker·云原生·容器·kubernetes·k8s
2407-2 shw1 小时前
weblogic CVE-2018-2894 靶场攻略
java·运维·服务器·安全·weblogic
奇点 ♡1 小时前
【线程】线程的控制
linux·运维·c语言·开发语言·c++·visual studio code
向往风的男子2 小时前
【devops】devops-ansible之介绍和基础使用
运维·ansible·devops
学习3人组2 小时前
CentOS安装Hadoop系列
linux·hadoop·centos
xiaojiesec3 小时前
第159天:安全开发-Python-协议库爆破&FTP&SSH&Redis&SMTP&MYSQL等
运维·安全·ssh