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

linux系统----LVS负载均衡集群(NET/DR)模式

目录

LVS-NAT模式配置

环境准备:

配置LVS调度器

配置web1

配置web2

测试

DR模式

负载调度器配置

调整ARP参数

配置虚拟IP地址

加载ip_vs模块

启动ipvsadm服务

配置负载分配策略

保存策略

web1节点配置

调整ARP参数

配置虚拟IP地址

添加回环路由

web1节点配置

调整ARP参数

配置虚拟IP地址

添加回环路由

测试


LVS-NAT模式配置

环境准备:

关闭防火墙和安全上下文

 systemctl stop firewalld
 setenforce 0

下载ipvsadm和nginx

三台机子

lvs:路由设置(两块网卡),vmnet1和NET

web1:vmnet1模式

web2:vmnet2模式

配置LVS调度器

1、三台机子,下载安装  ipvsadm

将lvs调成VMnet1

LVS不用配网关,因为它本身就是路由器

vmnet1IP:192.168.100.100

vim /etc/sysctl.conf

加载路由功能

sysctl  -p

ifdown ens33 && ifup ens33

systemctl   resart   NetworkManager

ip   a

192.168.100.100静态ip已经设置好了

添加网卡,NET模式

修改ens37配置,当作路由

192.168.158.100

ifdown ens37 && ifup ens37

systemctl  restart  NetworkManager

ip  a

配置web1

同上述操作

配置web1网卡,并下载ipvsadm和nginx

web1 的ip:192.168.100.10

vim  /etc/sysconfig/network-scripts/ifcfg-ens33

ifdown  ens33 && ifup ens33

systemctl  restart  NetworkManager

ip   a

vim  /etc/sysctl.conf

改为1

sysctl  -p   

测试连通性,ping   lvs的网关,如果能通,那和192.168.100.100ip也是通的  

ping  192.168.158.100

配置web2

同上述操作

配置web2网卡

配置ens33网卡ip

网关是lvs的ip

修改路由配置

net.ipv4.ip_forward=1

[root@web2 ~]# vim /etc/sysconfig/network-scripts/
[root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@web2 ~]# ifdown ens33 && ifup ens33

[root@web2 ~]# systemctl restart NetworkManager
[root@web2 ~]# ping 192.168.158.100

测试后端是否正常

启用nginx

切换lvs

访问web1和web2

[root@lvs ~]# curl 192.168.100.10
web1
[root@lvs ~]# curl 192.168.100.11
web2

添加一个虚拟服务,使用TCP协议,VIP为192.168.100.100,端口80,使用轮询(rr)调度算法:

ipvsadm -A -t 192.168.100.100:80 -s rr

在虚拟服务中添加真实服务器(使用NAT模式,):

ipvsadm -a -t 192.168.100.100:80 -r 192.168.100.10:80 -m

测试

DR模式

基于上述操作

DR模式不需要配置路由,也不需要NET模式

把net删除掉

[root@lvs ~]# vim /etc/sysctl.conf

关掉路由

[root@lvs ~]# sysctl -p

web1和web2同上操作把路由关掉

负载调度器配置

调整ARP参数

配置lvs

[root@lvs ~]# vim /etc/sysctl.conf

添加net.ipv4.conf.ens33.send_redirects = 0 

[root@lvs ~]# sysctl -p

配置虚拟IP地址

[root@lvs ~]# ifconfig ens33:0 192.168.100.101/24  #临时IP
[root@lvs ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:6a:66:62 brd ff:ff:ff:ff:ff:ffinet 192.168.100.100/24 brd 192.168.100.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet 192.168.100.101/24 brd 192.168.100.255 scope global secondary ens33:0valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe6a:6662/64 scope link noprefixroute valid_lft forever preferred_lft forever

加载ip_vs模块

modprobe ip_vs

启动ipvsadm服务

[root@lvs ~]# touch /etc/sysconfig/ipvsadm
[root@lvs ~]# systemctl enable --now ipvsadm[root@lvs ~]# ipvsadm -Ln

配置负载分配策略

[root@lvs ~]# ipvsadm -A -t 192.168.100.101:80 -s rr
[root@lvs ~]# ipvsadm -a -t 192.168.100.101:80 -r 192.168.100.10:80
[root@lvs ~]# ipvsadm -a -t 192.168.100.101:80 -r 192.168.100.11:80
[root@lvs ~]# ipvsadm -Ln

保存策略

[root@lvs ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@lvs ~]# cat /etc/sysconfig/ipvsadm
-A -t lvs:http -s rr
-a -t lvs:http -r 192.168.100.10:http -g -w 1
-a -t lvs:http -r 192.168.100.11:http -g -w 1

web1节点配置

调整ARP参数

作用:防止VIP在同一网络产生IP地址冲突

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=2sysctl -p

[root@web1 ~]# sysctl -p

配置虚拟IP地址

[root@web1 ~]# ifconfig lo:0 192.168.100.101/32

添加回环路由

[root@web1 ~]# route add -host 192.168.100.101/32 dev lo:0

web1节点配置

调整ARP参数

作用:防止VIP在同一网络产生IP地址冲突

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=2sysctl -p

[root@web2 ~]# sysctl -p

配置虚拟IP地址

[root@web2 ~]# ifconfig lo:0 192.168.100.101/32

添加回环路由

[root@web2 ~]# route add -host 192.168.100.101/32 dev lo:0

测试

http://www.xdnf.cn/news/1110853.html

相关文章:

  • Arduino 无线通信实战:使用 RadioHead实现 315MHz 433M模块数据传输
  • net.createServer详解
  • 【Flask】基础入门
  • 钉钉小程序开发环境配置与前端开发指南
  • 20250712-2-Kubernetes 应用程序生命周期管理-部署应用的流程_笔记
  • 009 ST表:静态区间最值的极致优化
  • OpenEuler操作系统测试USB摄像头
  • kettle从入门到精通 第101课 ETL之kettle DolphinScheduler调度kettle
  • 怎么在ComfyUI中查看别人训练的lora模型训练参数
  • 面试150 翻转二叉树
  • 26-计组-寻址方式
  • Git企业级开发(最终篇)
  • 手把手教你用YOLOv10打造智能垃圾检测系统
  • SpringBootloggers未授权访问漏洞处理
  • Java使用Langchai4j接入AI大模型的简单使用(四)--整合Springboot
  • 12.使用VGG网络进行Fashion-Mnist分类
  • 让 VSCode 调试器像 PyCharm 一样显示 Tensor Shape、变量形状、变量长度、维度信息
  • CSS flex
  • 安卓定制功能
  • 外设数据到昇腾310推理卡 之二dma_alloc_attrs
  • Linux系统编程——目录 IO
  • 理解小数的计算机表达
  • PyTorch神经网络实战:从零构建图像分类模型
  • 脉冲神经网络膜电位泄漏系数学习:开启时空动态特征提取的新篇章
  • 复现永恒之蓝
  • Linux - 安全排查 3
  • 飞算JavaAI:重新定义Java开发效率的智能引擎
  • python-for循环
  • 【TA/Unity】Shader基础结构
  • 强化学习、PPO和GRPO的通俗讲解