当前位置: 首页 > 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.lryc.cn/news/586112.html

相关文章:

  • docker-compose方式搭建lnmp环境——筑梦之路
  • 【LeetCode】算法详解#8 ---螺旋矩阵
  • .gitignore
  • JVM 类加载过程
  • 安全初级作业1
  • Docker-镜像构建原因
  • 十三、K8s自定义资源Operator
  • Java面试基础:面向对象(1)
  • 快速建立UI网站
  • 面试150 翻转二叉树
  • Linux:信号
  • 免费用Claude code薅羊毛
  • c++11——移动语义的举例说明
  • 三维渲染中的抗锯齿技术
  • TinyBERT:知识蒸馏驱动的BERT压缩革命 | 模型小7倍、推理快9倍的轻量化引擎
  • 9.4 自定义SMC服务开发
  • STM32第二十一天定时器TIM
  • Windows环境下解决Matplotlib中文字体显示问题的详细指南
  • 人工智能之数学基础:多元逻辑回归算法的矩阵参数求导
  • Spring(四) 关于AOP的源码解析与思考
  • 【Flask】基础入门
  • Flutter、React Native、Uni-App 的比较与分析
  • 如何防范金融系统中的SQL注入攻击
  • 【LeetCode 热题 100】98. 验证二叉搜索树——(解法一)前序遍历
  • 初等行变换会改变矩阵的什么?不变改变矩阵的什么?求什么时需要初等行变换?求什么时不能初等行变换?
  • 【Go + Gin 实现「双 Token」管理员登录】
  • Linux/Ubuntu安装go
  • 客户资源被挖?营销方案泄露?企业经营信息保护避坑指南
  • Day 3·知识卡片|Python基础:print 函数还能这么玩?
  • 阿里开源AI大模型ThinkSound如何为视频配上灵魂之声