02-部署LVS-DR群集

news2024/11/22 17:26:39

1.LVS-DR工作原理

LVS-DR模式,Director Server作为群集的访问入口,不作为网购使用,节点Director Server 与 Real Server 需要在同一个网络中,返回给客户端的数据不需要经过Director Server 为了响应对整个群集的访问,Director Server 与 Real Server都需要配置VIP地址,工作原理

2.数据包流向分析

1.客户端发送请求到 Director Server请求的数据报文(源IP 是CIP,目标IP是到达内核空间)

2.Director Server 和 Real Server在同一个网络中,数据通过数据链路层来传输

实验案例

2.2:直接路由模式(LVS-DR)

1:实验环境: 

2:配置负载调度器

(1)配置虚拟IP地址VIP

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0

[root@localhost network-scripts]# vi ifcfg-ens33:0

TYPE=Ethernet

BOOTPROTO=static

NAME=ens33:0

DEVICE=ens33:0

ONBOOT=yes

IPADDR=192.168.10.172

NETMASK=255.255.255.0

[root@localhost network-scripts]# systemctl restart network

(2)调整内核参数,禁止转发重定向报文

由于 LVS 负载调度器和各节点需要共用 VIP 地址,应该关闭Linux 内核的重定向

[root@localhost ~]# vi /etc/sysctl.conf

在末尾添加:

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.ens33.send_redirects = 0

[root@localhost ~]# sysctl -p

(3)配置负载分配策略

[root@localhost ~]#yum -y install ipvsadm

[root@localhost ~]#ipvsadm -v           \\查看版本

[root@localhost ~]# setenforce 0

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]#ipvsadm -C

[root@localhost ~]# ipvsadm -A -t 192.168.10.172:80 -s rr

[root@localhost ~]# ipvsadm -a -t 192.168.10.172:80 -r 192.168.10.102 -g -w 1

[root@localhost ~]# ipvsadm -a -t 192.168.10.172:80 -r 192.168.10.103 -g -w 1

[root@localhost ~]# ipvsadm-save

-A -t localhost.localdomain:http -s rr

-a -t localhost.localdomain:http -r 192.168.10.102:http -g -w 1

-a -t localhost.localdomain:http -r 192.168.10.103:http -g -w 1

[root@localhost ~]# systemctl enable ipvsadm

3:配置web节点服务器

(1)配置虚拟ip地址VIP

[root@localhost ~]# setenforce 0

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]#cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0

[root@localhost network-scripts]# vi ifcfg-lo:0

修改

DEVICE=lo:0

NETMASK=255.255.255.255           \\子网掩码必须为255.255.255.255

IPADDR=192.168.10.172

ONBOOT=yes

[root@localhost network-scripts]# systemctl restart network

[root@localhost network-scripts]# ifconfig

[root@localhost network-scripts]# cd

[root@localhost ~]# vi /etc/rc.local

添加

/sbin/route add -host 192.168.10.172 dev lo:0

[root@localhost ~]# route add -host 192.168.10.172 dev lo:0

(2)调整内核参数

[root@localhost ~]# vi /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 = 2

注释:

arp_ignore =1   

当收到arp请求时,只有ARP请求数据包所请求的IP地址属于当前网卡的IP地址,才会回应ARP响应数据包。

arp_announce = 2

当发送arp请求时,忽略IP数据包的源IP地址,总是选择网卡所配置的首选IP地址作为ARP请求数据包的发送方IP地址

目的:因为lo:0的ip地址和调度器的ens33:0的ip地址是一样的,为了不造成ip冲突,要禁止更新VIP的mac地址。

[root@localhost ~]# sysctl -p

(3)安装httpd创建测试网页

[root@localhost ~]# yum -y install httpd

yum install nfs-utils

[root@localhost ~]# mount 192.168.10.105:/opt/wwwroot /var/www/html

[root@localhost ~]#vi /var/www/html/index.html

<h1>LVS负载均衡群集--测试页面01</h1>

(4)启用httpd服务

[root@localhost ~]# systemctl start httpd

(5)配置第二台web节点

配置方法与第一台完全相同

注意:在实验环境中,为了验证负载过程,第二台web服务器的网站可以可第一个不一样,所以这两个web服务器就没有必要使用NFS,直接在web服务器本地创建测试网页文件即可

4:在client上测试网站

http://192.168.10.172

测试时频繁刷新页面

也可以用脚本测试:

[root@localhost ~]# for i in $(seq 10); do curl http://192.168.10.172  ;done

5:在LVS调度器上查看LVS策略

[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.10.172:80 rr

  -> 192.168.10.102:80             Route   1      0          0        

  -> 192.168.10.103:80             Route   1      0          0 

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

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

相关文章

实验一 MATLAB \ Python数字图像处理初步

一、实验目的&#xff1a; 1&#xff0e;熟悉及掌握在MATLAB\Python中能够处理哪些格式图像。 2&#xff0e;熟练掌握在MATLAB\Python中如何读取图像。 3&#xff0e;掌握如何利用MATLAB\Python来获取图像的大小、颜色、高度、宽度等等相关信息。 4&#xff0e;掌握如何在M…

电脑录音怎么录?简单四个方法轻松搞定!

在电脑上录制音频是一项非常实用的技能&#xff0c;适合多种场合的需求。例如&#xff0c;你可能需要录制自己的声音&#xff0c;用于录音广播、演示或视频制作&#xff1b;也可能需要录制电脑中的声音&#xff0c;如音乐、游戏音效或在线直播&#xff1b;或者需要捕捉浏览器中…

2024 年 亚太赛 APMCM (A题)中文赛道国际大学生数学建模挑战赛 | 飞行器外形的优化 | 数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时&#xff0c;你是否曾经感到茫然无措&#xff1f;作为2022年美国大学生数学建模比赛的O奖得主&#xff0c;我为大家提供了一套优秀的解题思路&#xff0c;让你轻松应对各种难题&#xff01; 完整内容可以在文章末尾领取&#xff01; 第一个问…

ScaleCache: A Scalable Page Cache for Multiple Solid-State Drives——论文泛读

EuroSys 2024 Paper 论文阅读笔记整理 问题 高性能存储设备&#xff0c;如具有GB/s级I/O带宽的NVMe SSD&#xff0c;已被广泛应用于企业服务器中。对于处理大量数据&#xff0c;在RAID配置中使用多个SSD很有吸引力&#xff0c;这可以提高I/O性能、可靠性和容量。尽管多个SSD为…

隐私集合求交(PSI)原理深入浅出

隐私集合求交技术是多方安全计算领域的一个子问题&#xff0c;通常也被称为安全求交、隐私保护集合交集或者隐私交集技术等&#xff0c;其目的是允许持有各自数据集的双方或者多方&#xff0c;执行两方或者多方集合的交集计算&#xff0c;当PSI执行完成&#xff0c;一方或者两方…

SQL Server 2022的组成

《SQL Server 2022从入门到精通&#xff08;视频教学超值版&#xff09;》图书介绍-CSDN博客 SQL Server 2022主要由4部分组成&#xff0c;分别是数据库引擎、分析服务、集成服务和报表服务。本节将详细介绍这些内容。 1.2.1 SQL Server 2022的数据库引擎 SQL Server 2022的…

90%的铲屎官必遇到家里猫毛满天飞问题,热门宠物空气净化器分享

作为一名资深猫奴&#xff0c;一到换毛季节家中就会忍受猫毛飞舞、异味四溢的双重困扰&#xff1f;花粉加上宠物的毛发和体味&#xff0c;过敏和不适似乎成了家常便饭。尝试过很多半方法&#xff0c;用过空气净化器去除毛和异味&#xff0c;虽然普通空气净化器可能提供一定程度…

MySQL数据库的备份-恢复-日志

一、备份 1.1数据备份的重要性 备份的主要目的是灾难恢复。 在生产环境中&#xff0c;数据的安全性至关重要。 任何数据的丢失都可能产生严重的后果。 1.2造成数据丢失的原因 程序错误人为操作错误运算错误磁盘故障灾难&#xff08;如火灾、地震&#xff09;和盗窃 1.3数…

Flutter——最详细(Drawer)使用教程

背景 应用左侧或右侧导航面板&#xff1b; 属性作用elevation相当于阴影的大小 import package:flutter/material.dart;class CustomDrawer extends StatelessWidget {const CustomDrawer({Key? key}) : super(key: key);overrideWidget build(BuildContext context) {return…

3个让你爽到爆炸的学习工具

We OCR WeOCR 是一个基于浏览器的文字识别工具&#xff0c;用户可以通过上传图片来识别其中的文本信息。它是一个渐进式网络应用程序&#xff08;PWA&#xff09;&#xff0c;可以在浏览器中离线使用。WeOCR 是开源的&#xff0c;并且基于 Tesseract OCR 引擎开发。用户无需在本…

day04-组织架构

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.组织架构-树组件应用树形组件-用层级结构展示信息&#xff0c;可展开或折叠。 2.组织架构-树组件自定义结构3.组织架构-获取组织架构数据4.组织架构-递归转化树形…

【持续更新】vs 编译过程中的问题及其解决方案

独立寒秋&#xff0c;湘江北去&#xff0c;橘子洲头。 目录 问题 1 &#xff1a; 无法查看或者打开 PDB 文件。 问题 2 &#xff1a; 命令提示符中查看运行结果&#xff0c;控制台闪退。 问题 3 &#xff1a; 某功能的判断条件&#xff1a;int val > 1e9&#xff0c;逻辑…

004 线程的状态

文章目录 Java线程可能的状态&#xff1a; 状态名称说明NEW初始状态&#xff0c;线程被构建&#xff0c;但是还没有调用start()方法RUNNABLE运行状态&#xff0c;Java线程将操作系统中的就绪和运行两种状态笼统地称作"运行中"BLOCKED阻塞状态&#xff0c;表示线程阻…

轻松实现百度大模型ERNIE对话

该代码直接可用&#xff0c;实现了流式输出&#xff0c;只需要在你自己的开发环境配置百度申请的QIANFAN_AK和QIANFAN_SK即可使用啦。// # 在.env文件中&#xff0c;设置以下内容&#xff0c;安全认证Access Key替换your_iam_ak&#xff0c;Secret Key替换your_iam_sk 不过需要…

秋招Java后端开发冲刺——并发篇2(JMM与锁机制)

本文对Java的内存管理模型、volatile关键字和锁机制进行详细阐述&#xff0c;包括synchronized关键字、Lock接口及其实现类ReentrantLock、AQS等的实现原理和常见方法。 一、JMM&#xff08;Java内存模型&#xff09; 1. 介绍 JMM定义了共享内存中多线程程序读写操作的行为规…

JAVA案例模拟电影信息系统

一案例要求&#xff1a; 二具体代码(需要在同一个包下创建三个类) Ⅰ&#xff1a;实现类 package 重修;import java.util.Random; import java.util.Scanner;public class first {public static void main(String[] args) {javabean[]moviesnew javabean[4];movies[0] new ja…

身边有填报志愿需求别错过!张雪峰透露今年志愿填报技巧:报专业,别报行业!(文末附稳定高薪专业推荐)

高考填报志愿是每个考生和家长都要面对的重大抉择。在当前就业形势日趋严峻、部分行业发展前景不明朗的大背景下,考生在填报志愿时更需要全面了解各个专业的就业前景,理性权衡自身兴趣特长与社会需求&#xff0c;而不是盲目跟风报考所谓的"热门专业"。 今天跟大家分…

航空数据管控系统-①项目准备阶段:任务1:项目需求描述

任务描述 从用户的角度阐述项目的开发背景、使用范围及功能需求&#xff0c;从而指导学生独立完成项目的设计与开发。 任务指导 目录 标题 内容 备注 1. 项目概述 1.1 项目背景介绍 &#xff08;1&#xff09;说明产品是什么&#xff0c;什么用途 &#xff08;2&#xff…

KUKA机器人中断编程3—暂停功能的编程

在KUKA机器人的使用过程中&#xff0c;对于调试一个项目&#xff0c;当遇到特殊情况时需要暂停机器人&#xff0c;等异常情况处理完成后再继续机器人的程序运行。wait for指令是等待一个输入信号指令&#xff0c;没有输入信号&#xff0c;机器人一直等待。在一定程度上程序也不…

黑马点评DAY5|商户查询缓存

商户查询缓存 缓存的定义 缓存就是数据交换的缓冲区&#xff08;Cache&#xff09;&#xff0c;是存储数据的临时地方&#xff0c;一般读写性能较高。 比如计算机的CPU计算速度非常快&#xff0c;但是需要先从内存中读取数据再放入CPU的寄存器中进行运算&#xff0c;这样会限…