DR模式下LVS负载均衡聚集部署实验

1、实验准备

DR 服务器:192.168.80.9
Web 服务器1:192.168.80.11
Web 服务器2:192.168.80.12
nfs 服务器: 192.168.80.10
客户端:192.168.80.100
vip:192.168.80.188

2、配置负载调度器(ens33:192.168.80.9  VIP:192.168.80.188)

2.1 配置虚拟ip地址(VIP:192.168.80.188)
#关闭防火墙和selinux服务器
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#setenforce 0
 
#加载模块并查看版本
[root@localhost ~]#modprobe ip_vs
[root@localhost ~]#cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port Forward Weight ActiveConn InActConn
 
#下载ipvsadm工具
[root@localhost ~]#yum -y install ipvsadm
 

[root@localhost network-scripts]#cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens33:0
#配置虚拟网卡,若为隧道模式ifcfg-tunl0
[root@localhost network-scripts]#vim ifcfg-ens33:0
#删除dns与网关,注意子网
NAME=ens33:0
DEVICE=ens33:0
IPADDR=192.168.91.188
NETMASK=255.255.255.255
[root@localhost network-scripts]#systemctl restart network
[root@localhost network-scripts]#ifup ifcfg-ens33:0
#启动网卡
[root@localhost network-scripts]#ifconfig ifcfg-ens33:0

2.2 调整proc响应参数
 
#调整/proc响应参数  
#对于 DR 群集模式来说,由于 LVS 负载调度器和各节点需要共用 VIP 地址,
关闭 Linux 内核的重定向参数。响应服务器不是一台路由器,那么它不会发送重定向,所以可以关闭该功能
[root@localhost network-scripts]# 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
 
[root@localhost network-scripts]#sysctl -p
#刷新配置

2.3 设置负载分配策略
#配置负载分配策略
[root@localhost ~]#modprobe ip_vs
[root@localhost ~]#cat /proc/net/ip_vs
 
#加载模块
[root@localhost network-scripts]#ipvsadm-save >/etc/sysconfig/ipvsadm
[root@localhost network-scripts]#systemctl start ipvsadm.service
 
[root@localhost network-scripts]#ipvsadm -C
#清除原有的策略
 
[root@localhost ~]#ipvsadm -A -t 192.168.80.188:80 -s rr
[root@localhost ~]#ipvsadm -a -t 192.168.80.188:80 -r 192.168.80.11:80 -g
[root@localhost ~]#ipvsadm -a -t 192.168.80.188:80 -r 192.168.80.12:80 -g
#添加真实服务器-a  指定VIP地址及TCP端口-t   指定RIP地址及TCP端口 -r 指定DR模式-g
 
[root@localhost network-scripts]#ipvsadm
#启用策略       
 
[root@localhost network-scripts]#ipvsadm-save >/etc/sysconfig/ipvsadm
#保存设置

3、部署共享存储(NFS服务器:192.168.80.10)

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
 
yum install nfs-utils rpcbind -y
systemctl start nfs.service
systemctl start rpcbind.service
systemctl enable nfs.service
systemctl enable rpcbind.service
 
mkdir /opt/lic /opt/zhangbin
chmod 777 /opt/lic /opt/zhangbin
 
vim /etc/exports
/opt/accp 192.168.80.0/24(rw,sync)
/opt/benet 192.168.80.0/24(rw,sync)
 
--发布共享---
exportfs -rv

4、节点服务器(192.168.223.11、192.168.223.12,web1和web2同等配置) 

[root@localhost ~]#systemctl stop firewalld.service
[root@localhost ~]#setenforce 0
[root@localhost ~]#yum install httpd -y
[root@localhost ~]#systemctl start httpd
[root@localhost ~]#cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#cp ifcfg-lo ifcfg-lo:0
[root@localhost ~]#ifconfig lo:0 192.168.80.188 32
[root@localhost ~]#ifconfig lo:0 192.168.80.188 255.255.255.255
[root@localhost network-scripts]#vim ifcfg-lo:0
#修改回环网卡名,IP地址,子网掩码
DEVICE=lo:0
IPADDR=192.168.80.188
NETMASK=255.255.255.255
NETWORK=127.0.0.0
[root@localhost network-scripts]#route add -host 192.168.80.188 dev lo:0
#设置路由
[root@localhost network-scripts]#route -n
#开机执行命令,或者写入 /etc/profile 文件
[root@localhost network-scripts]#vim /etc/rc.d/rc.local 
/usr/sbin/route add -host 192.168.80.188 dev lo:0
[root@localhost network-scripts]#chmod +x /etc/rc.d/rc.local
[root@localhost network-scripts]#ll /etc/rc.d/rc.local 
-rwxr-xr-x. 1 root root 484 11月 17 16:56 /etc/rc.d/rc.local
 
[root@localhost network-scripts]#vim /etc/sysctl.conf 
#添加系统只响应目的IP为本地IP的ARP请求
#系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP
[root@localhost network-scripts]#sysctl -p
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 = 2
 
#开启httpd,rpcbind
[root@localhost network-scripts]#systemctl start rpcbind
[root@localhost network-scripts]#systemctl start httpd
#查看共享目录列表
[root@localhost network-scripts]#showmount -e 192.168.80.10
Export list for 192.168.80.10:
/opt/web2 192.168.80.0/24
/opt/web1 192.168.80.0/24
 
#挂载
[root@localhost network-scripts]#mount.nfs 192.168.80.10:/opt/web1 /var/www/html
[root@localhost network-scripts]#df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  3.9G   47G    8% /
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G   18M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1                5.0G  179M  4.9G    4% /boot
tmpfs                    378M   36K  378M    1% /run/user/0
192.168.80.10:/opt/web1   40G  3.5G   37G    9% /var/www/html
 
[root@localhost network-scripts]#echo "this is web1" >/var/www/html/index.html
[root@localhost network-scripts]#
 

 

5、测试,用本机浏览器访问192.1168.80.188

隔一段时间刷新一下,发现两个页面来回切换

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ICVQUANTUMCHINA报告:《2024全球量子精密测量产业发展展望》

3月4日,《2024量子精密测量产业发展展望》的中文版报告通过光子盒官方平台发布,英文版报告通过ICV官方平台发布。 中文版报告获取地址:量子精密测量-QuantumChina 英文版获取地址:https://www.icvtank.com/newsinfo/899889.html …

DevExpress报表-->更换数据库连接

今天遇到了一个问题,因公司更换IP地址,原先连接报表数据库的IP地址也因此更改。但是,我不知道如何直接修改连接报表的数据。为了解决这个问题,我决定给大家演示一下具体的操作步骤。 换句话说: 将DevExpress报表直接从一个电脑的…

【翻译】零信任架构准则(五)Don‘t trust any network

将监控重点放在用户,设备和服务上 全面监控必不可少,因为设备和服务更容易受到网络攻击。在零信任架构中,随着设备,服务和用户行为的持续评估,我们的监控策略很可能发生改变。我们应该持续进行监控,并将用…

AMDGPU KFD Test 编译使用

ROCT-Thunk-Interface是一个用于在ROCm软件堆栈中提供设备无关性的层。它是ROCm的一部分,允许不同的硬件平台(如AMD GPU和Intel CPU)使用相同的API进行计算。 要安装ROCT-Thunk-Interface,首先需要创建一个新的目录,并…

Android视角看鸿蒙第三课(module.json中的各字段含义之nametype)

Android视角看鸿蒙第三课(module.json中的各字段含义) 前言 上篇文章我们试图找到鸿蒙app的程序入口,确定了在鸿蒙工程中,由AppScope下的app.json5负责应用程序的图标及名称,由entry->src->main-module.json5负责桌面图标及名称的展示。 AppScope下的app.js…

2.26-3.6

2.26 下面是项目vue脚手架 下面是node环境文件夹 2.27 npm config get prefix npm config set prefix "D:\software\nodejs"得到下面 创建脚手架 npm i vue/cli -g在项目脚手架里 vue create vue-project-1where npx vue使用vue cli创建前端工程 https://reg…

无编制教师和有编制教师区别在哪

走进教育的世界,我们常常听到“编制教师”与“非编制教师”的说法,这两者之间的区别,犹如一道隐形的鸿沟,隔开了两种不同的教育生涯。今天,就让我们一起来探讨一下,这两者之间的差异究竟体现在哪里。 教育系…

【学习资源】对比说明三个通过作者查找文献数据库(一)

最近博主在阅读相关文献的时候,想针对一些作者的科研文献做一个详细的了解,于是涉及到“如何已知作者与其所在单位,查找其研究成果”的问题,博主尝试了在Google Scholar、Web of Science、CRS核心论文库这三个地方通过作者查找文献…

Jmeter之Ramp-up Period(in seconds)

1、Ramp-up Period概念 (in seconds)–并发用户启动周期,告知JMeter 要在多长时间内启动全部Vuser用户。 2、为什么需要有“ramp-up period”,立即启动所有的并发用户数不是更好? 对于绝大多数的网址或应用&#xf…

vulhub中ThinkPHP5 SQL注入漏洞 敏感信息泄露

漏洞原理 传入的某参数在绑定编译指令的时候又没有安全处理,预编译的时候导致SQL异常报错。然而thinkphp5默认开启debug模式,在漏洞环境下构造错误的SQL语法会泄漏数据库账户和密码 启动后,访问http://your-ip/index.php?ids[]1&ids[]2…

C++椭圆检测论文复现 Ubuntu 22.04+Vscode+opencv3.4

复现的代码 本博客旨在复现论文《An Efficient High-quality Ellipse Detection》,该文章本来只有Matlab的代码实现,后来被islands翻译成了c 库,大家可以参考islands发在知乎上的文章高质量椭圆检测库,C的代码链接。 使用环境 U…

算法DFS 复习

思路:for 代表的是每一位的纵向,数字变化,dfs 代表的是横向的,位置变化。vis 来做到每个枚举的数不重复,并且要在搜索前记录,搜索后还原。模拟该样例 dfs3 的时候是输出,dfs0,1&…

【Web - 框架 - Vue】随笔 - Vue的简单使用(02) - 快速上手

【Web - 框架 - Vue】随笔 - Vue的简单使用(02) - 快速上手 Vue模板代码 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Vue模板</title> </head> <body> <div id"…

Vue3+Vue Router使用<transition>过渡动画实现左右分栏后台布局

摘要 利用Vue3及其配套的Vue Router实现后台管理系统中的页面过渡动画。文章首先简要介绍了Vue3的特性和Vue Router的基本用法&#xff0c;利用Vue3提供的组件以及Vue Router的路由钩子函数来实现页面过渡效果。 代码结构 在 components 里有4个组件&#xff0c;其中 Layout…

Kosmos-1: 通用接口架构下的多模态大语言模型

Kosmos-1: 通用接口架构下的多模态大语言模型 FesianXu 20230513 at Baidu Search Team 前言 在大规模语言模型&#xff08;Large Language Model, LLM&#xff09;看似要带来新一番人工智能变革浪潮之际&#xff0c;越来越多尝试以LLM作为通用接口去融入各种任务的工作&#…

vue3中指定组件名称:可以使用插件vite-plugin-vue-setup-extend

第一步&#xff1a;安装vite-plugin-vue-setup-extend插件 第二步&#xff1a;修改vite.config.ts文件配置

通过MNIST手写数字识别任务快速入门深度学习(事无巨细版)

可点此跳转看全篇 本文内容 什么是深度学习入门深度学习时的困惑典型的入门案例——CNN实现的MNIST手写数字识别虚拟环境的创建创建虚拟环境配置需求的依赖包代码1. 引入依赖包2. 准备数据集datasets3. 准备数据加载器dataloader4. 配置网络5. 设置训练器6. 网络训练7. 模型保存…

URL?后参数有特殊字符问题

前端对于URL的参数不做处理 不处理、用URLDecoder.decode()处理、用URLEncoder.encode()处理、用URLEncoder.encode()处理后再用URLDecoder.decode()处理 结果 前端对于URL的参数用encodeURIComponent(‘XF-OPPZZD-26*316’)处理 结果 前端不处理有&字符时 结果会把后…

【PyQt】16-剪切板的使用

文章目录 前言一、代码疑惑快捷键 二、现象2.1 复制粘贴文本复制粘贴 2.2 复制粘贴图片复制粘贴 2.3 复制粘贴网页 总结 前言 1、剪切板的使用 2、pycharm的编译快捷键 3、类的属性和普通变量的关系 4、pyqt应该养成的编程习惯-体现在代码里了&#xff0c;自己看看。 一、代码…

CTP-API开发系列之四:接口对接准备

CTP-API开发系列之四&#xff1a;接口对接准备 CTP-API开发系列之四&#xff1a;接口对接准备CTP-API文件清单CTP-API通用规则命名规则Spi与Api CTP-API通讯模式开发语言选择 CTP-API开发系列之四&#xff1a;接口对接准备 CTP-API文件清单 文件名说明ThostFtdcTraderApi.h交…