LVS-DR群集

news2024/12/24 21:27:07

文章目录

  • LVS-DR群集
    • 1 DR模式
      • 1.1 数据包流向分析
      • 1.2 DR模式的特点
      • 1.3 ARP问题
    • 2 DR模式部署
      • 2.1 部署192.168.146.60(做nfs共享)
      • 2.2 部署192.168.146.30(启动nginx服务)
      • 2.3 部署192.168.146.50(启动nginx服务)
      • 2.4 部署192.168.146.20做LVS调度器
      • 2.5 测试

LVS-DR群集

1 DR模式

1.1 数据包流向分析

(1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间
(2)Director Server 和 Real Server 在同一个网络中,数据通过二层数据链路层来传输
(3)内核空间判断数据包的目标IP是本机VIP,此时IPVS(IP虚拟服务器)比对数据包请求的服务是否是集群服务,是集群服务就重新封装数据包,修改源 MAC 地址为 Director Server 的 MAC地址,修改目标 MAC 地址为 Real Server 的 MAC 地址,源 IP 地址与目标 IP 地址没有改变,然后将数据包发送给 Real Server
(4)到达 Real Server 的请求报文的 MAC 地址是自身的 MAC 地址,就接收此报文,数据包重新封装报文(源 IP 地址为 VIP,目标 IP 为 CIP),将响应报文通过 lo 接口传送给物理网卡然后向外发出
(5)Real Server 直接将响应报文传送到客户端

1.2 DR模式的特点

(1)Director Server 和 Real Server 必须在同一个物理网络中
(2)Real Server 可以使用私有地址,也可以使用公网地址。如果使用公网地址,可以通过互联网对 RIP 进行直接访问
(3)Director Server作为群集的访问入口,但不作为网关使用
(4)所有的请求报文经由 Director Server,但回复响应报文不能经过 Director Server
(5)Real Server 的网关不允许指向 Director Server IP,即Real Server发送的数据包不允许经过 Director Server
(6)Real Server 上的 lo 接口配置 VIP 的 IP 地址

1.3 ARP问题

  • 问题一
    • 负载均衡器和节点服务器配置相同VIP地址导致紊乱
    • 负载均衡器和节点服务器连接相同网络,都会接收到ARP广播

对节点服务器进行处理,使其不响应针对VIP的ARP请求

  • 使用虚接口lo:0承载VIP地址
  • 设置内核参数arp_ignore=1:代表系统只响应目的IP为本地IP的ARP请求
  • 问题二
    • 重新封装报文,需要先获得路由器MAC地址,而发送ARP请求时,Linux默认使用IP包的源IP地址即VIP地址作为ARP请求包的源IP地址

对节点服务器进行处理,设置内核参数arp_announce=2:代表不使用IP包的源地址来设置ARP请求的源地址,而选择发送ens33接口的IP地址

修改/etc/sysctl.conf文件
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce =2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce =2

2 DR模式部署

准备四台虚拟机:

192.168.146.20做LVS调度器

192.168.146.30做nginx

192.168.146.50做nginx

192.168.146.60做nfs共享存储

2.1 部署192.168.146.60(做nfs共享)

#检查两个服务是否已经安装,如果未安装,可以用yum直接安装
rpm -q nfs-utils rpcbind
systemctl start rpcbind nfs
 
#配置共享目录
cd /opt
mkdir html
mkdir www
chmod 777 /opt/html
chmod 777 /opt/www
 
echo '<h1>this is html web!</h1>' > html/index.html
echo '<h1>this is www web!</h1>' > www/index.html
 
 
vim /etc/exports
/opt/www 192.168.146.0/24(rw,sync,no_root_squash)
/opt/html 192.168.146.0/24(rw,sync,no_root_squash)
exportfs -arv     
showmount -e

在这里插入图片描述

2.2 部署192.168.146.30(启动nginx服务)

将nginx.repo的软件包拖到/etc/yum.repo.d下
yum -y install nginx
 
 
挂载到共享目录
vim /etc/fstab
192.168.146.60:/opt/www /usr/share/nginx/html        nfs     defaults,_netdev 0 0 
 
systemctl start nginx

在这里插入图片描述

给lo网卡添加虚拟网卡
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.146.188
NETMASK=255.255.255.255
ONBOOT=yes
      
 
systemctl restart network
systemctl restart nginx

在这里插入图片描述

vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce =2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce =2

在这里插入图片描述
在这里插入图片描述

route add -host 192.168.146.188 dev lo:0

在这里插入图片描述

2.3 部署192.168.146.50(启动nginx服务)

将nginx.repo的软件包拖到/etc/yum.repo.d下
yum -y install nginx
 
vim /etc/fstab
192.168.146.60:/opt/html /usr/share/nginx/html  nfs     defaults,_netdev 0 0 
 
systemctl start nginx

在这里插入图片描述

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.146.188
NETMASK=255.255.255.255
ONBOOT=yes
 
systemctl restart network
systemctl restart nginx

在这里插入图片描述

vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce =2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce =2

在这里插入图片描述
在这里插入图片描述

route add -host 192.168.146.188 dev lo:0

在这里插入图片描述

2.4 部署192.168.146.20做LVS调度器

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.146.188
NETMASK=255.255.255.255
                        
systemctl restart network

在这里插入图片描述

#加载ip_vs模块
modprobe ip_vs
cat /proc/net/ip_vs

在这里插入图片描述

yum -y install ipvsadm
 
修改内核参数
vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p
 
 
 
如果直接启动ipvsadm会报错
/var/log/messages查看一下,原因是缺少/etc/sysconfig/ipvsadm这个文件,所以我们可以手动给他添加一下
 
 
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ipvsadm -C
ipvsadm -A -t 192.168.146.188:80 -s rr
ipvsadm -a -t 192.168.146.188:80 -r 192.168.146.30:80 -g
ipvsadm -a -t 192.168.146.188:80 -r 192.168.146.50:80 -g
ipvsadm #激活相关规则

在这里插入图片描述

2.5 测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/643062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

向海图强!水声功率放大器助力海洋技术研究及海洋经济扬帆远航!

昨天是第十五个“世界海洋日”&#xff0c;今年的世界海洋日宣传日主题为“保护海洋生态系统人与自然和谐共生”&#xff0c;旨在呼吁全世界人们关注海洋自然环境现况&#xff0c;帮助人们进一步了解我们的海洋家园&#xff0c;保持健康可持续性的的海洋生态系统发展。 作为陆…

AI制作口播视频,原来这么简单

&#x1f4a1;大家好&#xff0c;我是可夫小子&#xff0c;《小白玩转ChatGPT》专栏作者&#xff0c;关注AIGC、读书和自媒体。 在前面的文章中&#xff0c;我们介绍了生成自己专属卡通形象照&#xff0c;这张照片不仅能作头像&#xff0c;还可以让照片说话&#xff0c;作为我们…

服了呀,现在的00后太卷了.....

前几天我们公司一下子来了几个新人&#xff0c;这些年前人是真能熬啊&#xff0c;本来我们几个老油子都是每天稍微加会班就打算走了&#xff0c;这几个新人一直不走&#xff0c;搞得我们也不好走。 最近内卷严重&#xff0c;各种跳槽裁员&#xff0c;相信很多小伙伴也在准备明年…

Windows 禁止 IE 转 Edge「整合方案」

前言 IE 已经合并进 Edge 浏览器&#xff0c;IE「正式入土」 RESPECT ​ 昨晚&#xff0c;公司系统更新&#xff08;Edge&#xff09;结束后&#xff0c;原本正常运行的 RPA 全部下线&#xff0c;原因如图&#xff1a; ​ 早上起来&#xff0c;又是充满希望的一天&#xff0c;于…

力扣 1483. 树节点的第 K 个祖先

力扣 1483. 树节点的第 K 个祖先 题目地址&#xff1a;https://leetcode.cn/problems/kth-ancestor-of-a-tree-node/ 暴力查找&#xff08;超时&#xff09;哈希查找&#xff08;超空间&#xff09;树上倍增 预处理 ancestor 数组记录了第 i 个 node 的倍增祖先&#xff0c…

深度相机、实验箱、扫描仪、机器狗…… 奥比中光超强性能3D视觉应用亮相VALSE 2023

导读 6月10日-12日&#xff0c;VALSE 2023视觉与学习青年学者研讨会在江苏无锡举办&#xff0c;奥比中光作为金牌赞助商&#xff0c;携Femto Mega与Gemini 2系列3D相机以及3D视觉实验箱开发套件、手持3D扫描仪、四足机器狗等创新解决方案参展&#xff0c;为3D视觉开发者提供多…

苹果app上线审核被拒 Guideline 1.2 - Safety - User Generated Content

苹果的App Review We found in our review that your app includes user-generated content but does not have all the required precautions. Apps with user-generated content must take specific steps to moderate content and prevent abusive behavior. Next Steps T…

Spark大数据处理学习笔记2.1 初识Spark

文章目录 一、学习目标二、spark概述&#xff08;一&#xff09;Spark的组件1、Spark Core2、Spark SQL3、Spark Streaming4、MLlib5、Graph X6、独立调度器、Yarn、Mesos &#xff08;二&#xff09;Spark的发展史1、发展简史2、目前最新版本 三、spark特点&#xff08;一&…

现在的00后,真是不要命了?

谁说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。这不&#xff0c;上个月我们公司来了个00后&#xff0c;工作没两年&#xff0c;跳槽到我们公司起薪22K&#xff0c;都快接近我了。 后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。 …

Python与大数据:Hadoop、Spark和Pyspark的应用和数据处理技巧

章节一&#xff1a;引言 在当今的数字时代&#xff0c;数据成为了无处不在的关键资源。大数据的崛起为企业提供了无限的机遇&#xff0c;同时也带来了前所未有的挑战。为了有效地处理和分析大规模数据集&#xff0c;必须依靠强大的工具和技术。在本文中&#xff0c;我们将探讨…

Spring Boot整合MyBatis

文章目录 一、Spring Boot数据访问概述二、Spring Boot 整合MyBatis&#xff08;一&#xff09;基础环境搭建1、数据准备&#xff08;1&#xff09;创建博客数据库&#xff08;2&#xff09;创建文章表&#xff08;3&#xff09;文章表插入记录&#xff08;4&#xff09;创建评…

车队试验的远程实时显示方案

风丘科技推出的数据远程实时显示方案可更好地满足客户对于试验车队远程实时监控的需求&#xff0c;真正实现试验车队的远程管理。随着新的数据记录仪软件IPEmotion RT和相应的跨平台显示解决方案的引入&#xff0c;让我们的客户端不仅可在线访问记录器系统状态&#xff0c;还可…

Overhaul Distillation(ICCV 2019)原理与代码解析

paper&#xff1a;A Comprehensive Overhaul of Feature Distillation official implementation&#xff1a;GitHub - clovaai/overhaul-distillation: Official PyTorch implementation of "A Comprehensive Overhaul of Feature Distillation" (ICCV 2019) 本文的…

【状态估计】基于数据模型融合的电动车辆动力电池组状态估计研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

LVS负载均衡与DR模式

LVS负载均衡与DR模式 一、DR模式的特点二、LVS-DR中的ARP问题1.VIP地址相同导致响应冲突2.返回报文时源地址使用VIP&#xff0c;导致网关设备的ARP缓存表紊乱 三、DR模式 LVS负载均衡群集部署实验准备实验部署实验步骤1.配置负载调度器&#xff08;192.168.30.10&#xff09;2.…

荣登第一,亚马逊云科技帮助用户实现云上快速部署,轻松维护不同类型的数据库

近期&#xff0c;Gartner发布了2022年全球数据库管理系统&#xff08;Database Management System&#xff0c;DBMS&#xff09;市场份额报告&#xff0c;在这一排名中出现了微妙变化&#xff0c;那就是亚马逊云科技超过微软&#xff0c;登上了第一“宝座”&#xff0c;占据了市…

MySQL数据库常用命令

mysql是不见 分号 不执行&#xff0c;分号表示结束。\c可以终止命令的输入。 1.登录数据库 mysql -u root -p然后在输入密码 root 2.查看数据库(以分号结尾) show databases; 3.创建数据库 pk create database pk; 4.使用数据库pk use pk; 5.删除数据库pk drop database…

【2023电工杯】B题人工智能对大学生学习影响的评价26页论文及python代码

【2023电工杯】B题人工智能对大学生学习影响的评价26页论文及python代码 1 题目 B题 人工智能对大学生学习影响的评价 人工智能简称AI&#xff0c;最初由麦卡锡、明斯基等科学家于1956年在美国达特茅斯学院开会研讨时提出。 2016年&#xff0c;人工智能AlphaGo 4:1战胜韩国…

5分钟让你明白什么是面向对象编程

相信很多刚开始接触编程的小伙伴&#xff0c;对于什么是面向对象&#xff0c;什么是面向过程都是一脸懵逼的。 网上关于这两个的回答真的很多&#xff0c;但是都有一个共同特点&#xff1a;------------不容易懂。 让我们来看看某百科给出的定义: 能不能好好说话&#xff01;…

浮点数在内存中的运算

他们力量的源泉&#xff0c;是值得信赖的搭档以及想要保护的对象还有强大的敌人 本文收录于青花雾气-计算机基础 往期回顾 从汇编代码探究函数栈帧的创建和销毁的底层原理 从0到1搞定在线OJ 数据在内存中的存储 计算机存储的大小端模式 目录 浮点数的二进制转化及存储规…