基于 CentOS 7 构建 LVS-DR 群集。
1.准备实验环境
本次实验我准备了4台虚拟机
DS:DIP--192.168.163.138
VIP--192.168.163.200
RIP1(web1)--192.168.163.140
RIP2(web2)--192.168.163.141
Client:user--192.168.163.142
2.配置服务器环境
1)搭建简易的web服务
RIP1
[root@localhost ~]# yum install httpd
[root@localhost ~]# echo "web1 test, ip is `hostname -I` ." > /var/www/html/index.html
[root@localhost ~]# systemctl start httpd
RIP2
[root@localhost ~]# yum install httpd
[root@localhost ~]# echo "web2 test, ip is `hostname -I` ." > /var/www/html/index.html
[root@localhost ~]# systemctl start httpd
使用Client验证
[root@localhost ~]# curl 192.168.163.140
web2 test ip is 192.168.163.140 .
[root@localhost ~]# curl 192.168.163.141
web1 test, ip is 192.168.163.141 .
2)配置VIP虚拟ip地址
[root@localhost ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 5e4131fb-0601-422a-916f-9a0e8b16deb7 ethernet ens33
[root@localhost ~]# ifconfig ens33:200 192.168.163.200/24
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.163.138 netmask 255.255.255.0 broadcast 192.168.163.255inet6 fe80::83c2:22a3:b848:9285 prefixlen 64 scopeid 0x20<link>inet6 fe80::3d2:78bf:c3a6:7bd7 prefixlen 64 scopeid 0x20<link>inet6 fe80::5f89:8967:3a3a:a5f4 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:3b:1d:03 txqueuelen 1000 (Ethernet)RX packets 24394 bytes 25080376 (23.9 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 8102 bytes 717188 (700.3 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens33:200: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.163.200 netmask 255.255.255.0 broadcast 192.168.163.255ether 00:0c:29:3b:1d:03 txqueuelen 1000 (Ethernet)lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 77 bytes 9856 (9.6 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 77 bytes 9856 (9.6 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]# nmcli connection up ens33
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/8)
3)手动绑定VIP和手写访问VIP的路由
RIP1:
[root@localhost ~]# ifconfig lo:200 192.168.163.200 netmask 255.255.255.255 up
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.163.141 netmask 255.255.255.0 broadcast 192.168.163.255inet6 fe80::83c2:22a3:b848:9285 prefixlen 64 scopeid 0x20<link>inet6 fe80::3d2:78bf:c3a6:7bd7 prefixlen 64 scopeid 0x20<link>inet6 fe80::5f89:8967:3a3a:a5f4 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:d4:2c:1e txqueuelen 1000 (Ethernet)RX packets 4113 bytes 317195 (309.7 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 1935 bytes 218535 (213.4 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 6 bytes 468 (468.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 6 bytes 468 (468.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo:200: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 192.168.163.200 netmask 255.255.255.
[root@localhost ~]# route add -host 192.168.163.200 dev lo
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.163.2 0.0.0.0 UG 100 0 0 ens33
192.168.163.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.163.200 0.0.0.0 255.255.255.255 UH 0 0 0 lo
RIP2同上
4)在DS上配置LVS
下载ipvsadm
[root@localhost ~]# yum install ipvsadm -y
添加ipvsadm服务
[root@localhost ~]# ipvsadm -A -t 192.168.163.200:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.163.200:80 -r 192.168.163.141 -g -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.163.200:80 -r 192.168.163.140 -g -w 1
[root@localhost ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.163.200:80 rr-> 192.168.163.140:80 Route 1 0 0 -> 192.168.163.141:80 Route 1 0 0
5)在RS上配置ARP抑制
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
RIP1和RIP2皆如此
6)结果测试
在Client上进行测试
[root@localhost ~]# for ((i=1;i<=10;i++)); do curl 192.168.163.200;done
web1 test, ip is 192.168.163.141 .
web2 test ip is 192.168.163.140 .
web1 test, ip is 192.168.163.141 .
web2 test ip is 192.168.163.140 .
web1 test, ip is 192.168.163.141 .
web2 test ip is 192.168.163.140 .
web1 test, ip is 192.168.163.141 .
web2 test ip is 192.168.163.140 .
web1 test, ip is 192.168.163.141 .
web2 test ip is 192.168.163.140 .
成功访问到服务
相关文章:
基于 CentOS 7 构建 LVS-DR 群集。
1.准备实验环境 本次实验我准备了4台虚拟机 DS:DIP--192.168.163.138 VIP--192.168.163.200 RIP1(web1)--192.168.163.140 RIP2(web2)--192.168.163.141 Client:user--192.168.163.142 2.配置服务器环境 1)搭建简易的web服务 RIP1 [rootlocalhost ~]# yum …...
防火墙组建双击热备后,点击管理对端设备,老是打不开,怎么办?
环境: 防火墙 8.0.75 AF-2000-FH2130B-SC 问题描述: 防火墙组建双击热备后,点击管理对端设备,老是打不开,怎么办? 浏览器老是加载 解决方案: 1.打开设置查看双机连接的心跳接口是哪个端口 …...
【Kubernetes】Kubernetes之Pod详解
Pod 一、 Pod1. Pod 基础概念2. 在 Kubrenetes 集群中 Pod 使用方式2.1 pasue 容器2.2 kubernetes 中的 pause 容器提供的功能 3. Pod 的概念和结构组成4. Pod 的分类5. Pod 容器的分类5.1 基础容器(infrastructure container)5.2 初始化容器(…...
电商与客服系统完美对接指南源码-无缝对接唯一客服系统-提升电商客户体验...
提升电商客户体验,无缝对接唯一客服系统,助您商城腾飞! 在如今竞争激烈的电商领域,除了优质的商品和吸引人的价格,出色的客户服务同样不可或缺。一个高效的客服系统能够为您的电商商城带来更多的机会,建立顾…...
新知识:Monkey 改进版之 App Crawler
原生Monkey 大家知道Monkey是Android平台上进行压力稳定性测试的工具,通过Monkey可以模拟用户触摸屏幕、滑动、按键等伪随机用户事件来对设备上的程序进行压力测试。而原生的Android Monkey存在一些缺陷: 事件太过于随机,测试有效性大打折扣…...
黑马头条项目学习--Day3: 自媒体文章发布
Day3: 自媒体文章发布 Day3: 自媒体文章发布1) 素材管理-图片上传a) 前期微服务搭建b) 具体实现 2) 素材管理-图片列表a) 接口定义b) 具体实现 3) 素材管理-照片删除/收藏a) 图片删除a1) 接口定义a2) 代码实现 b) 收藏与取消b1) 接口定义b2) 代码实现 4) 文章管理-频道列表查询…...
使用frp实现内网穿透
1、介绍 当我们想把内网的一些资源暴露在公网上时,可以使用内网穿透功能。比如公司的内网服务器,部署了平时需要开发的项目,但是回到家中无法访问,就可以使用内网穿透,将公司内网的接口映射到一台公网的服务器上&a…...
安装 opendr 踩坑记
复现早期的优化算法需要用到opendr,踩坑一天记录!!! 测试是否成功安装的命令 >>> import opendr >>> opendr.demo("texture")失败案例 python 3.8.15 numpy1.23.0 mayavi4.8.1 chumpy0.70 cpython…...
各地区-各行业法人单位、区划数63个指标(2010-2022年)
一、数据介绍 数据名称:各地区-各行业法人单位、区划数63个指标 数据年份:2010-2022年(法人单位至2021年) 数据样本:404条 数据来源:自我整理 二、指标说明 行政区划代码 地区 长江经济带 经度 纬…...
W5500-EVB-PICO作为TCP Client 进行数据回环测试(五)
前言 上一章我们用W5500-EVB-PICO开发板通过DNS解析www.baidu.com(百度域名)成功得到其IP地址,那么本章我们将用我们的开发板作为客户端去连接服务器,并做数据回环测试:收到服务器发送的数据,并回传给服务器…...
web前端面试--递归(斐波那契数列)
web面试题 本人是一个web前端开发工程师,主要是vue框架,整理了一些面试题,今后也会一直更新,有好题目的同学欢迎评论区分享 ;-) web面试题专栏:点击此处 文章目录 web面试题定义源码测试示例 之前去笔试&…...
Vue3 Props组件简单应用(父组件获取子组件数据)
去官网学习→Props | Vue.js 运行示例: 代码:App.vue <template><img alt"Vue logo" src"./assets/logo.png"><h2>Vue Props数据传递</h2><h4>子组件中的数据:{{ content }}</h4>…...
Mybatis查询
返回实体类,必须指定返回类型, resultType不能省略,并且数据库字段名与实体类不一致会填充NULL,实体类我们一般都是驼峰,数据库字段一般都是下划线,所以在查询的时候可以起别名解决,属性填充本质上调用的是…...
如何让ES低成本、高性能?滴滴落地ZSTD压缩算法的实践分享
前文分别介绍了滴滴自研的ES强一致性多活是如何实现的、以及如何提升ES的性能潜力。由于滴滴ES日志场景每天写入量在5PB-10PB量级,写入压力和业务成本压力大,为了提升ES的写入性能,我们让ES支持ZSTD压缩算法,本篇文章详细展开滴滴…...
[数据集][目标检测]PCB板缺陷目标检测数据集VOC格式693张6类别
数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):693 标注数量(xml文件个数):693 标注类别数:6 标注类别名称:["missing_hole",…...
Linux 安装中文输入法
在linux安装ibus输入法 在linux安装ibus输入法 加入开机自启动 运行以下命令以编辑IBus配置文件:如果没有该文件,则可以创建一个新文件。 nano ~/.xprofile将以下内容添加到文件中:这些命令将设置相应的环境变量并启动IBus守护进程。 ex…...
redisson
redisson 使用 1,导入依赖 <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.12.5</version> </dependency>2,创建配置类 package com.woniu.config;impor…...
源码分析——HashMap(JDK1.8)源码+底层数据结构分析
文章目录 HashMap 简介底层数据结构分析JDK1.8之前JDK1.8之后 HashMap源码分析构造方法put方法get方法resize方法 HashMap常用方法测试 HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。 JDK1.8 之前 HashM…...
企业举办活动邀请媒体的意义和重要性
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 企业举办活动并邀请媒体的意义和重要性是多方面的,主要有以下一些: 1. 品牌曝光与宣传:邀请媒体参与企业活动可以提高企业的品牌曝光度。媒体报道能够…...
从零开始学python(十六)爬虫集群部署
前言 今天讲述Python框架源码专题最后一个部分,爬虫集群部署,前面更新了十五个从零开始学python的系列文章,分别是: 1.编程语法必修篇 2.网络编程篇 3.多线程/多进程/协程篇 4.MySQL数据库篇 5.Redis数据库篇 6.MongoDB数据库篇 …...
深度掌握Navicat使用代码片段模板技巧_高级开发者实战
Navicat代码片段不支持自定义快捷键,仅可通过右键菜单或输入前缀(如sel)后按Tab/Enter触发;变量仅支持$CURSOR$、$SELECTION$等,$TABLE$无效;片段按连接隔离存储,需手动导出导入同步;…...
3分钟掌握B站视频下载:BiliDownloader免费高效工具终极指南
3分钟掌握B站视频下载:BiliDownloader免费高效工具终极指南 【免费下载链接】BiliDownloader BiliDownloader是一款界面精简,操作简单且高速下载的b站下载器 项目地址: https://gitcode.com/gh_mirrors/bi/BiliDownloader 在当今数字学习时代&…...
AI 视频生成新标杆!LTX-2.3-DISTILLED-1.1 整合包:解压即用,支持多人对话/对唱
一、 为什么 LTX-2.3-DISTILLED 是当下的“真香”选择?在 AI 视频生成领域,如何让画面中的多个人物实现自然的交互,一直是技术难点。最新的 LTX-2.3-DISTILLED-1.1 版本通过模型蒸馏技术,不仅大幅降低了对显存的占用,更…...
MusicFree:如何通过插件化架构打造终极免费音乐播放器体验
MusicFree:如何通过插件化架构打造终极免费音乐播放器体验 【免费下载链接】MusicFree 插件化、定制化、无广告的免费音乐播放器 项目地址: https://gitcode.com/GitHub_Trending/mu/MusicFree 你是否厌倦了广告满天飞的音乐应用?是否受够了VIP歌…...
从基础到进阶:最短路径辅助的快速扫描法(SPAFSM)在复杂介质走时计算中的精度提升实践
1. 快速扫描法(FSM)基础与原理解析 快速扫描法(Fast Sweeping Method, FSM)是地震波走时计算中的经典算法,由Zhao在2005年首次提出。它的核心思想是通过有限差分法求解程函方程(Eikonal equation),模拟地震波在地下介质中的传播时间。想象一下࿰…...
Phi-mini-MoE-instruct效果实测:长文本摘要+关键信息抽取双任务
Phi-mini-MoE-instruct效果实测:长文本摘要关键信息抽取双任务 1. 模型概览 Phi-mini-MoE-instruct是一款轻量级混合专家(MoE)指令型小语言模型,在多项基准测试中展现出卓越性能: 代码能力:在RepoQA、Hu…...
Zotero Actions Tags终极指南:如何实现文献管理自动化工作流
Zotero Actions & Tags终极指南:如何实现文献管理自动化工作流 【免费下载链接】zotero-actions-tags Customize your Zotero workflow. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-actions-tags Zotero Actions & Tags是一款专为Zotero用…...
Phi-3.5-mini-instruct模型安全与内容过滤部署指南
Phi-3.5-mini-instruct模型安全与内容过滤部署指南 1. 为什么需要安全部署 在部署生成式AI模型时,内容安全是首要考虑因素。Phi-3.5-mini-instruct作为一款强大的指令跟随模型,能够处理各种复杂请求,这也意味着它可能被滥用生成不当内容。我…...
为什么你的文章没人读?聊聊文章可读性
文章可读性不是“写得简单”就完事我以前以为,只要把字写短一点、句子弄直白点,别人就能轻松看懂我的文章。后来才发现,事情没那么简单。文章可读性其实不只是关于词汇难易或句子长短,它更像是一种“读者友好度”——你有没有站在…...
仅剩3%团队真正启用镜像签名!深度拆解Docker Content Trust弃用后,Cosign替代方案的5层可信验证架构
第一章:Docker镜像签名的现状与信任危机在容器化生产环境中,Docker镜像已成为软件分发的事实标准。然而,镜像来源不可信、中间人篡改、供应链投毒等事件频发,暴露出签名机制在实际落地中的严重断层。尽管Docker Content Trust&…...
