怎么免费建设个人博客网站关于jsp网站开发的最新书籍
文章目录
- 前言
 - 一、集群概述
 - 1.负载均衡技术类型
 - (一)四层负载均衡器
 - (二)七层负载均衡器
 
- 2.负载均衡实现方式
 - (一)硬件负载均衡产品:
 - (二)软件负载均衡产品:
 
- 二、LVS结构
 - 2.三层结构
 
- 三、LVS工作模式
 - 四、LVS负载均衡算法
 - 1.静态负载均衡
 - 2.动态负载均衡
 
- 五、ipvsadm命令详解
 - 六、LVS配置案例
 - 1.基础配置
 - 2.实现NAT模型搭建
 - (一)负载调度器配置
 - (二)web节点配置
 
- 3.实现DR模型搭建
 - (一)负载调度器配置
 - (二)web节点配置
 
- 总结
 
前言
本篇将简述的内容:Linux系统下的LVS集群
一、集群概述
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结构
2.三层结构
1)负载调度器
 2)服务器池
 3)共享存储
架构对象
| 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.基础配置
关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
 
关闭Selinux
setenforce 0
 
关闭Networkmanager
systemctl stop NetworkManager && systemctl disable NetworkManager
 
配置IP地址
 vim /etc/sysconfig/network-scripts/ifcfg-ens33
2.实现NAT模型搭建
(一)负载调度器配置
配置IP地址
 增加一块网卡
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens37
 
vim ifcfg-ens37
NAME=ens38
DEVICE=ens38
 
安装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.16.100:80 -s rr
ipvsadm -a -t 192.168.16.100:80 -r 192.168.115.4:80 -m
ipvsadm -a -t 192.168.16.100:80 -r 192.168.115.5:80 -m
 
保存策略
ipvsadm-save > /etc/sysconfig/ipvsadm
 
(二)web节点配置
安装nginx
 配置网关
route add -net 0/0 gw 192.168.115.3
 
测试
3.实现DR模型搭建
| 负载调度配置器-ens33 | 192.168.115.3 | 192.168.115.2 | 192.168.115.2 | 
| 负载调度配置器-ens33:0 | 192.168.115.200 | / | / | 
| web1-ens33 | 192.168.115.4 | / | / | 
| web1-ifcfg-lo:0 | 192.168.115.200 | / | / | 
| web2-ens33 | 192.168.115.5 | / | / | 
| web2-ifcfg-lo:0 | 192.168.115.200 | / | / | 
(一)负载调度器配置
调整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.115.4:80 -g
ipvsadm -a -t 192.168.115.200:80 -r 192.168.115.5:80 -g
 
保存策略
 ipvsadm-save > /etc/sysconfig/ipvsadm
(二)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.115.200/32 dev lo:0
 安装httpd
 访问192.168.115.200
 进行验证
总结
LVS集群是一种强大的负载均衡解决方案,可以提高系统的可用性、性能和可扩展性。通过深入探索LVS集群的原理、架构和配置方法,我们可以更好地理解和应用这一技术,为构建高可用性的互联网应用提供有力支持。
