当前位置: 首页 > news >正文

【LVS集群】

目录

一、集群概述

1.负载均衡技术类型

2.负载均衡实现方式

二、LVS结构

1.三层结构

2.架构对象

三、LVS工作模式

四、LVS负载均衡算法

1.静态负载均衡

2.动态负载均衡

五、ipvsadm命令详解

1. -A

2. -D

3. -L

4. -a

5. -d

6. -l

7. -t

8. -s

9. -r

10. -w

11. -g

12. -i

13. -m

14. 案例

六、LVS配置案例

1.基础配置

2.实现NAT模型搭建

2.1 负载调度器配置

2.1.1 配置IP地址

2.1.2 配置本地yum源

2.1.3 安装ipvsadm

2.1.4 开启路由转发功能

2.1.5 加载ip_vs模块

2.1.6 启动ipvsadm服务

2.1.7 配置负载分配策略

2.1.8 保存策略

2.2 web节点配置

2.2.1 安装httpd

2.2.2 配置网关

2.3 测试

3.实现DR模型搭建

3.1 负载调度器配置

3.1.1 调整ARP参数

3.1.2 配置虚拟IP地址

3.1.3 安装ipvsadm

3.1.4 加载ip_vs模块

3.1.5 启动ipvsadm服务

3.1.6 配置负载分配策略

3.1.7 保存策略

3.2 web节点配置

3.2.1 调整ARP参数

3.2.2 配置虚拟IP地址

3.2.3 添加回环路由

3.2.4 安装httpd


一、集群概述

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结构

1.三层结构

  • 负载调度器
  • 服务器池
  • 共享存储

2.架构对象

  • 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命令详解

1. -A

添加虚拟服务节点

2. -D

删除虚拟服务节点

3. -L

查看虚拟服务节点列表

4. -a

添加真实服务节点

5. -d

删除真实服务节点

6. -l

查看真实服务节点列表

7. -t

指定虚拟服务器IP地址

8. -s

指定调度算法

9. -r

指定真实服务器节点IP地址

10. -w

指定权重值

11. -g

直接路由模式(默认)

12. -i

隧道模式(不常用)

13. -m

NAT模式

14. 案例

       ipvsadm -A -t 207.175.44.110:80 -s rr
       ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.1:80 -m
       ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.2:80 -m
       ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.3:80 -m
       ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.4:80 -m
       ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.5:80 -m

六、LVS配置案例

1.基础配置

  • 修改主机名
  • 关闭防火墙
  • 关闭Selinux
  • 关闭Networkmanager
  • 配置IP地址

2.实现NAT模型搭建

2.1 负载调度器配置

2.1.1 配置IP地址

增加一块网卡

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens36
vim ifcfg-ens36
删除UUID
NAME=ens36
DEVICE=ens36

2.1.2 配置本地yum源

2.1.3 安装ipvsadm

yum  install -y ipvsadm

2.1.4 开启路由转发功能

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

2.1.5 加载ip_vs模块

modprobe ip_vs
lsmod |grep ip_vs

2.1.6 启动ipvsadm服务

mkdir /etc/sysconfig/ipvsadm

systemctl start ipvsadm

2.1.7 配置负载分配策略

ipvsadm -A -t 192.168.100.3:80 -s rr
ipvsadm -a -t 192.168.100.3:80 -r 192.168.42.4:80 -m
ipvsadm -a -t 192.168.100.3:80 -r 192.168.42.5:80 -m

2.1.8 保存策略

ipvsadm-save > /etc/sysconfig/ipvsadm/ipvsadm

2.2 web节点配置

2.2.1 安装httpd

yum  install -y nginx

2.2.2 配置网关

route add -net 0/0 gw 192.168.42.3

2.3 测试

 

深度刷新

 

3.实现DR模型搭建

3.1 负载调度器配置

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

3.1.2 配置虚拟IP地址

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0

        TYPE=Ethernet
        BOOTPROTO=static
        NAME=ens33:0
        DEVICE=ens33:0
        ONBOOT=yes
        IPADDR=192.168.42.200
        PREFIX=24

3.1.3 安装ipvsadm

yum  install -y ipvsadm

3.1.4 加载ip_vs模块

modprobe ip_vs
lsmod |grep ip_vs

3.1.5 启动ipvsadm服务

mkdir /etc/sysconfig/ipvsadm

systemctl start ipvsadm

3.1.6 配置负载分配策略

ipvsadm -A -t 192.168.42.200:80 -s rr
ipvsadm -a -t 192.168.42.200:80 -r 192.168.42.4:80 -g
ipvsadm -a -t 192.168.42.200:80 -r 192.168.42.5:80 -g

3.1.7 保存策略

touch /etc/sysconfig/ipvsadm/ipvsadm

ipvsadm-save > /etc/sysconfig/ipvsadm/ipvsadm

3.2 web节点配置

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

3.2.2 配置虚拟IP地址

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0

        DEVICE=lo:0
        IPADDR=192.168.42.200
        NETMASK=255.255.255.255
        ONBOOT=yes
        NAME=loopback:0

 

3.2.3 添加回环路由

route add -host 192.168.42.200/32 dev lo:0

3.2.4 安装httpd

 

 深度刷新

http://www.lryc.cn/news/137863.html

相关文章:

  • 软考高级系统架构设计师系列之:论文题目类型、论文考试大纲、历年考试论文真题汇总、论文写作原则、论文写作常见问题、论文评分标准
  • 完整的application.xml
  • C语言:运算符优先级
  • Android GreenDao数据库升级(附Demo)
  • 剑指 Offer 32 - III. 从上到下打印二叉树 III
  • 【QT5-自我学习-线程qThread移植与使用-通过代码完成自己需要功能-移植小记3】
  • 后端开发12.商品模块
  • /usr/bin/containerd: Operation not permitted
  • 分析商务报表使用什么工具?
  • nginx文件配置
  • 视频云存储/安防监控EasyCVR视频汇聚平台如何通过角色权限自行分配功能模块?
  • 小程序定位到 胶囊的三个点大概中间
  • Maven详解
  • 音视频 ffplay命令-高级选项
  • [管理与领导-44]:IT基层管理者 - 个人管理 - 从掌握管理知识开始入门:管理的常识和基础
  • c#两个数进行交换
  • JVM——类加载与字节码技术—字节码指令
  • 同步与互斥——相互合作,相互制约
  • 7个改变玩法规则的ChatGPT应用场景
  • 软考高级系统架构设计师系列论文七十九:论软件产品线技术
  • Spring IOC容器:让Java对象的管理和配置更简单
  • 【C++小项目】实现一个日期计算器
  • Ext JS 之Microloader(微加载器)
  • 【科研】-- 如何将Endnote中参考文献格式插入到Word?
  • Python爬虫实战案例——第二例
  • 深入理解Spring的ImportBeanDefinitionRegistrar接口及其应用
  • 【面试题】你理解中JS难理解的基本概念是什么?
  • 微服务中间件--MQ服务异步通信
  • 爆火「视频版ControlNet」开源了!靠提示词精准换画风,全华人团队出品
  • 常用的数据可视化工具有哪些?要操作简单的