基于 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 .

成功访问到服务

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

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

相关文章

Maven工程的安装配置及搭建(集成eclipse完成案例,保姆级教学)

目录 一.下载及安装及环境配置 1.下载及安装 2.环境变量的配置 3.检测是否安装成功 4.配置Maven 1.更换本地仓库 2. 配置镜像 二.集成eclipse完成案例 1.eclipse前期配置Maven 2.创建Maven工程 一.下载及安装及环境配置 1.下载及安装 下载地址&#xff1a;Maven – Down…

JUL 日志 - 最简单易用的Java日志框架

在正式的生产环境下是不能使用 System.out 进行日志记录的 因为 System.out 不能提供时间、线程、执行过程 等信息&#xff0c;如果要手动打印输出则会非常麻烦 而日志就帮我们把这些事给干了 接下来我们学一个最简单的日志框架 JUL JUL全称Java util Logging是java原生的日志框…

SpringBoot汇总

文章目录 构建SpringBoot项目springboot项目启动后执行一段程序的方式Spring Boot Devtools 开发热部署springboot项目控制台打印sql日志SpringBoot定时任务之ScheduledSpringBoot使用Validation校验参数springboot中&#xff0c;日志的配置和与其他日志的兼容问题springboot错…

MDC轻量化日志链路跟踪的若干种应用场景

0x01 前言 当你的应用程序同时处理多个用户的请求时&#xff0c;你会看到日志文件或者控制台中的输出通常都是交错的&#xff0c;而非线性连续的。尤其是在分布式系统中&#xff0c;一个用户请求可能包含了若干次的服务节点调用&#xff0c;它的日志也因此变得碎片化&#xff…

数据结构:堆的实现(C实现)

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》 文章目录 一、堆二、实现思路1. 结构的定义2. 堆的构建 (HeapInit)3. 堆的销毁 (HeapDestroy)4. 堆的插入 (HeapPush)5. 堆的删除 (HeapPop)6. 取堆顶的数据 (HeapTop)7. 堆的数据个数 (HeapSize…

k8s-1.22.3集群etcd备份与恢复

一、环境准备 注&#xff1a;请在测试环境下验证操作 CentOS Linux release 7.7.1908 (Core) 3.10.0-1062.el7.x86_64 kubeadm-1.22.3-0.x86_64 kubelet-1.22.3-0.x86_64 kubectl-1.22.3-0.x86_64 kubernetes-cni-0.8.7-0.x86_64 主机名IPVIPk8s-master01192.168.10.61192…

Gephi国家政策文本关键词共现矩阵的共现网络图分析

文章目录 分词jieba分词关键词提取python处理形成共现矩阵gephi导入共现矩阵过滤边的权重进行优化最终效果分词 本文研究不同文章中的关键词出现次数,因此将出现在同一篇文章中的关键词都定义为”共现”。 jieba分词 对不同后缀文件(txt、docx、pdf)进行不同处理,提取文…

RK3568开发笔记-Vendor Storage分区使用

目录 前言 一、什么是Vendor Storage分区? 二、Vendor Storage分区使用 总结 前言 在嵌入式系统开发中&#x

Dynamic Web TWAIN Crack,文档扫描SDK

Dynamic Web TWAIN Crack,文档扫描SDK Dynamic Web TWAIN用于快速部署 Web 应用程序的文档扫描 SDK&#xff0c;文档扫描SDK&#xff0c;&#xff0c;超过 5300 家公司信任 Dynamic Web TWAIN &#xff0c;因其稳健性和安全性而受到超过 5300 家公司的信赖&#xff0c;Dynamic …

Unity游戏源码分享-模拟城市搭建City Adventure

Unity游戏源码分享-模拟城市搭建City Adventure 插件如下&#xff1a; 下载地址&#xff1a; https://download.csdn.net/download/Highning0007/88191931

***is not a commit and a branch ‘***‘ cannot be created from it 报错

git执行如下代码 git checkout -b daily/1.0.0 origin/daily/1.0.0遇到报错 fatal: ‘origin/daily/1.0.27’ is not a commit and a branch ‘daily/1.0.27’ cannot be created from it 解决办法: git fetch --all原因: 报错说is not a commit而不是说branch doesn’t exis…

Webstorm + Egg.js 进行断点调试

Webstorm Egg.js 进行断点调试 1、在工具栏找到编辑配置&#xff0c;创建已运行Node.js 应用程序的调试配置 2、debug调试配置 3、调试 4、查看断点是否起效

Jenkins 修改默认管理员帐号

1、新增一个新的超级管理员用户&#xff0c;并验证能正常登录 2、进入 Jenkins 用户管理目录&#xff1a; /data/software/jenkins/users 3、修改超级管理文件夹的名称为其他名称&#xff0c;如&#xff1a;mv admin_*** ifadm_*** 4、重启Jenkins容器

PHP实现保质期计算器

1.php实现保质期计算&#xff0c; 保质期日期可选&#xff0c;天 、月、年 2. laravel示例 /*** 保质期计算器* return void*/public function expirationDateCal(){$produce_date $this->request(produce_date); // 生产日期$warranty_date $this->reques…

如何培养对技术的热爱

这篇博文主要针对计算机专业相关的同学&#xff0c;对于理工科专业的同学有一定的借鉴意义&#xff0c;对于其他专业的同学&#xff0c;还请自行取舍。 背景 初学计算机&#xff0c;可能并不是每个人都能对其产生兴趣&#xff0c;更不要说从其中获得快乐。对于如何培养兴趣&a…

02.Deep Visual-Semantic Alignments for Generating Image Descriptions

目录 前言泛读摘要IntroductionRelated Work小结 精读Model3.1 学习对齐视觉与语言数据图片表征句子表征对齐目标损失函数解码文本片段对齐图像 MRNN生成描述优化 实验结论 代码 前言 本课程来自深度之眼《多模态》训练营&#xff0c;部分截图来自课程视频。 文章标题&#xf…

(七) ElasticSearch 分词器

1.分词器 分词器是 Elasticsearch 用于将文本拆分为单词&#xff08;词项&#xff09;的组件&#xff0c;以便于搜索和索引。以下是一些关于 Elasticsearch 分词器的常见问题和相关操作的介绍&#xff1a; 1&#xff09;什么是分词器&#xff1f; 分词器是 Elasticsearch 中…

python模块 — 加解密模块rsa,cryptography

一、密码学 1、密码学介绍 密码学&#xff08;Cryptography&#xff09;是研究信息的保密性、完整性和验证性的科学和实践。它涉及到加密算法、解密算法、密钥管理、数字签名、身份验证等内容。 密码学中的主要概念包括&#xff1a; 1. 加密算法&#xff1a;加密算法用于将…

4.利用matlab符号矩阵的四则运算(matlab程序)

1.简述 符号对象的建立 sym函数 sym函数用于建立单个符号对象&#xff0c;其常用调用格式为&#xff1a; 符号对象名sym(A) 1 将由A来建立符号对象&#xff0c;其中&#xff0c;A可以是一个数值常量、数值矩阵或数值表达式(不加单引号),此时符号对象为一个符号常量&#xff1b;…

【强化学习】值函数算法DQNs详解【Vanilla DQN Double DQN Dueling DQN】

DQNs【Vanilla DQN & Double DQN & Dueling DQN】 文章目录 DQNs【Vanilla DQN & Double DQN & Dueling DQN】1. DQN及其变种介绍1.1 Vanilla DQN1.2 Double DQN1.3 Dueling DQN 2. Gym环境介绍2.1 Obseravtion Space2.2 Reward Function2.3 Action Space 3. D…