LVS(Linux Virtual Server)集群,(1)NAT模式

Cluster:集群,为了解决某个特定问题将多台计算机组合起来形成的单个系统。

集群分为三种类型:

LB(Load Balancing),负载均衡,多个主机组成,每个主机只承担一部分访问请求

HA(High Availiablity),高可用,避免单点故障

HPC(High-performance computing),高性能

LVS一共有三种工作模式:DR,Tunnel,NAT

轮询(Round Robin):将收到的访问请求按照顺序轮流分配给群集中的各节点。

加权轮询(Weighted Round Robin):根据调度器设置的权重值来分发请求,权重值越高,越优先获得任务并且分配的请求越多。

最少连接(Least Connections):根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点。

加权最少连接数(Weighted Least Connections):在服务器节点的性能差异较大的情况下,调度器根据节点服务器负载自动调整权重。

集群:同一个业务系统,部署在多台服务器上。

集群设计原则:

可扩展性---集群的横向扩展能力

可用性---无故障时间

性能---访问响应时间

容量---单位时间内的最大并发吞吐量

软件:

lvs:阿里四层SLB使用四层的nginx负载均衡软件,内核中的功能性能强,功能少,百万级别的并发。

nginx:支持七层调度,阿里七层SLB使用Tengine,4层,3-6w并发

haproxy:支持七层调度,反向,十万级别(不太会用到)

LVS:调度器,负载均衡软件,类似于nginx,4层协议的代理

IPVS sheduler调度算法

LVS,负载调度器,内核集成。阿里的四层SLB是基于LVS+keepalived实现。

LVS集群中的术语:

VS(Virtual Server,VS)代理服务器,DS(Director Server),Dispatcher调度器

RS(real Server,RS)真实服务器:upstream server(nginx),backend server(paproxy),真实服务器

CIP(Client IP):客户机IP

VIP(Virtual Server IP):代理服务器的IP,外网IP

DIP(Director IP)VS内网的IP,代理服务器的IP

RIP(Real server IP):真实服务器的IP地址

LVS调度算法,调度算法分为两种,静态方法和动态方法。

静态方法就是不管后端真实服务器的状态,根据自身算法进行调度。

动态方法是会根据后端服务器的状态来进行调度。

仅根据算法本身进行调度。

静态:

RR:RoundRobin,轮询,常用

WRR:加权轮询,常用,先算总权重,再用自己的权重去除以总权重

SH,实现session sticky,源IP地址hash,将来自于同一个IP地址的请求始终发往第一次挑中的RS,从而实现会话绑定

DH,目的地址哈希,第一次轮询调度至RS

动态:

一个参考值来确定服务器是否忙,值越小代表服务器越空闲,就会优先调度个空闲的服务器

根据RS当前的负载状态及调度算法进行调度Overhead=value值,小的值被调度

1.LC:适用于长连接应用,最小连接数,不考虑权重

公式:Overhead=activeconns*256+inactiveconns

值=活动连接*256+非活动连接。没有权重

2.WLC:带权重的,weight,默认调度,加权最小连接数,第一轮不合理,都是一样的优先级

公式:Overhead=(activeconns*256+inactiveconns)/weight

值=(活动连接*256+非活动连接)/权重。有权重

3.SED:初始连接高权重优先,只检查活动连接,而不考虑非活动连接,权重小的,空闲的

公式:Overhead=(activeconns+1)*256/weight

值=(活动连接+1)*256/权重。

4.NQ:第一轮均匀分配,后续SED

ipvsadm 工具,选项说明

-A:添加虚拟服务器

-D:删除整个虚拟服务器

-s:指定负载调度算法

-a:添加真实服务器(节点服务器)

-d:删除某一个节点

-t:指定VIP地址及TCP端口

-r:指定RIP地址及TCP端口

-m:表示使用NAT群集模式

ipvsadm -C #清空

ipvsadm -R #重载

ipvsadm -A -t 12.0.0.1:80 -s rr #添加虚拟服务器,代理服务器

#添加真实服务器

ipvsadm -a -t 12.0.0.1:80 -r 192.168.114.20:80 -m

ipvsadm -a -t 12.0.0.1:80 -r 192.168.114.30:80 -m

通过yum安装:

yum install ipvsadm -y

NAT模式,LVS负载均衡部署

需要四台机子

7-1作为LVS是调度服务器,7-2作为真实服务器1,7-3作为真实服务器2,7-4作为客户端。

一次访问可能是192.168.114.20,那么下一次可能是192.168.114.30

systemctl stop firewalld

setenforce 0

在7-2和7-3真实服务器上配置httpd,准备主页文件。和指定网关

root@Node3 \~\]#:yum install -y httpd \[root@Node3 \~\]#:systemctl start httpd \[root@Node3 \~\]#:echo "7-3" \> /var/www/html/index.html 7-2同理: \[root@Node2 \~\]#:yum install -y httpd \[root@Node2 \~\]#:systemctl start httpd \[root@Node2 \~\]#:echo "7-2" \> /var/www/html/index.html 这里,网页主页就配置好了,还需要修改两台的网关,设置为调度服务器的ens33网卡的地址 \[root@Node3 \~\]#:vim /etc/sysconfig/network-scripts/ifcfg-ens33 IPADDR=192.168.114.30 NETMASK=255.255.255.0 GATEWAY=192.168.114.10 \[root@Node3 \~\]#:systemctl restart network 7-2同理: \[root@Node2 \~\]#:vim /etc/sysconfig/network-scripts/ifcfg-ens33 IPADDR=192.168.114.20 NETMASK=255.255.255.0 GATEWAY=192.168.114.10 \[root@Node2 \~\]#:systemctl restart network 总结:httpd服务,主页面配置。网络配置,指定网关。

7-1上LVS调度服务器

添加一块网卡,设为仅主机模式

修改ens36网卡:(刚添加的网卡,我这里叫ens36)

root@Node1 \~\]#:cd /etc/sysconfig/network-scripts/ \[root@Node1 network-scripts\]#:cp ifcfg-ens33 ifcfg-ens36 -a \[root@Node1 network-scripts\]#:vim ifcfg-ens36 #把UUID删了,修改网卡名称为ens36 IPADDR=12.0.0.1 NETMASK=255.255.255.0 GATEWAY=12.0.0.1 \[root@Node1 network-scripts\]#:systemctl restart network #开启路由转发: \[root@Node1 network-scripts\]#:vim /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl -p\[root@Node1 network-scripts\]#:sysctl -p net.ipv4.ip_forward = 1 #添加真实服务器和虚拟服务器(节点服务器) \[root@Node1 \~\]#:yum install -y ipvsadm \[root@Node1 \~\]#:systemctl start ipvsadm Job for ipvsadm.service failed because the control process exited with error code. See "systemctl status ipvsadm.service" and "journalctl -xe" for details. #需要这个文件目录 \[root@Node1 \~\]#:ipvsadm-save \> /etc/sysconfig/ipvsadm \[root@Node1 \~\]#:systemctl start ipvsadm #添加虚拟服务器: \[root@Node1 \~\]#:ipvsadm -A -t 12.0.0.1:80 -s rr #添加两个真实服务器: \[root@Node1 \~\]#:ipvsadm -a -t 12.0.0.1:80 -r 192.168.114.20:80 -m \[root@Node1 \~\]#:ipvsadm -a -t 12.0.0.1:80 -r 192.168.114.30:80 -m

7-4作为客户端

改成主机模式:点确定

root@Node4 \~\]#:vim /etc/sysconfig/network-scripts/ifcfg-ens33 IPADDR=12.0.0.100 NETMASK=255.255.255.0 GATEWAY=12.0.0.1 #重启网络 \[root@Node4 \~\]#:systemctl restart network

测试:

实现NAT模式LVS负载均衡

------end------

相关推荐
落——枫9 分钟前
网络安全知识点2
服务器·安全·web安全
嘿rasa1 小时前
2025最新系统 Linux 教程(三)
linux·运维·服务器
网硕互联的小客服1 小时前
服务器风扇故障导致过热问题的解决方案
运维·服务器·chrome
Star Learning Python1 小时前
Linux系统-文本处理三剑客-grep命令、sed命令、awk命令
linux
facaixxx20241 小时前
应用镜像是什么?轻量应用服务器的镜像大全
linux·运维·服务器
火龙谷2 小时前
【hadoop】master一键启动hadoop集群(高可用)
linux·hadoop
noravinsc2 小时前
Linux 下 Module 工具的介绍与使用
linux·运维·服务器
Sunlight_7772 小时前
第五章 SQLite数据库:1、SQLite 基础语法及使用案例
java·linux·服务器·jvm·数据库·tcp/ip·sqlite
Silence4Allen2 小时前
Ubuntu 安装WPS Office
linux·ubuntu·wps
程序员JerrySUN3 小时前
驱动开发硬核特训 · Day 11(下篇):从 virtio_blk 看虚拟总线驱动模型的真实落地
linux·驱动开发·嵌入式硬件