首页 > 其他分享 >LVS实战-DR模式配置(常用、重点掌握)

LVS实战-DR模式配置(常用、重点掌握)

时间:2023-07-16 20:55:46浏览次数:38  
标签:实战 10.0 LVS DR 服务器 80 root 数据包

LVS实战-DR模式配置(常用、重点掌握)

原创 Cloud研习社 Cloud研习社 2023-07-15 11:36 发表于山东 收录于合集 #一站式教程260个 #LVS9个 #计算机230个 #云计算266个 #linux274个 图片图片

教程每周二、四、六更新

图片

虚拟 IP 地址在RS和DS(即LVS服务器)上都要配置。DS的虚拟 IP 地址的接口,用于接受请求数据包,并将数据包直接路由到选定的服务器。所有RS的都配置了虚拟IP地址或将发往虚拟IP地址的数据包重定向到本地接口lo,以便真实服务器可以在本地处理数据包。DS和RS的其中一个接口必须通过Switch 物理链接。直接路由的集群架构如下图所示:

图片

当用户访问VIP时。负载均衡器 (DS,图上的LinuxDirector) 检查数据包的目标地址和端口。然后通过调度算法从集群中选择一个真实服务器,并将连接添加到记录连接的哈希表中。然后,负载均衡器直接将其转发到选定的服务器。当传入的数据包属于这个连接并且可以在哈希表中找到选择的服务器时,数据包将再次直接路由到服务器。当服务器收到转发的数据包时,服务器发现该数据包是针对其接口上的地址或本地端口的,然后处理请求并最终将结果直接返回给用户。环境说明:DR模式要求Director DIP 和 所有RealServer RIP必须在同一个网段及广播域。并且,所有节点的网关都指向真实网关。10.0.0.11(m01)测试用客户端10.0.0.12(lb01)Director(也叫负载均衡服务器或者叫LVS服务器)10.0.0.14(web01)  真实服务器110.0.0.15(web02)  真实服务器2部署在负载均衡服务器上(LVS服务器):
# 添加虚拟服务,地址10.0.0.200,端口号80,采用轮询调度算法
[root@lb01 ~]# ipvsadm -A -t 10.0.0.200:80 -s rr

# 为虚拟服务添加两个真实服务器:10.0.0.14和10.0.0.15,端口都是80
[root@lb01 ~]# ipvsadm -a -t 10.0.0.200:80 -r 10.0.0.14:80 -g
[root@lb01 ~]# ipvsadm -a -t 10.0.0.200:80 -r 10.0.0.15:80 -g

# 查看VIP和RS是否添加成功
[root@lb01 ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.200:80 rr
  -> 10.0.0.14:80                 Route 1      0          0         
  -> 10.0.0.15:80                 Route 1      0          0

# 添加VIP地址
[root@lb01 ~]# ip a add 10.0.0.200/24 dev ens33
在RS(真实服务器)上(两台都需要这些操作):
[root@web01 ~]# ip a add 10.0.0.200/32 dev lo    # 注意,掩码一定是32位

# 抑制arp响应。LVS服务器的vip有了,真实服务器再配上vip,那就同一个网段中拥有多个vip, 客户端在网关发送arp广播需找vip时,需要让realServer不响应这个arp广播.
[root@web01 ~]# cat /etc/sysctl.conf 
net.ipv4.conf.all.arp_ignore = 1      # 定义接收到ARP请求时的响应级别,1表示仅仅在目标IP是本地地址,并且是配置在请求进来的接口上的时候才给予响应(我们的环境是ens33)
net.ipv4.conf.all.arp_announce = 2      # 定义将自己的地址向外通告时的级别 。2表示仅向与本地接口上(ens33)地址匹配的网络进行通告
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
准备http服务,两个RS(真实服务器)都要执行。(按照教程从前面已经准备好环境的就不需要做了,如果你是单独看这篇文章,那就要现在准备http服务)
[root@web01 ~]# yum install -y nginx
[root@web01 ~]# echo "web01" > /usr/share/nginx/html/index.html # 注意:web02那台机器填入web02,以便区分不同机器的响应
[root@web01 ~]# systemctl start nginx

验证

[root@m01 ~]# curl 10.0.0.200
web01
[root@m01 ~]# curl 10.0.0.200
web02

 


 

雷哥开通了抖音(云计算雷哥)和微信视频号,求关注!!!和大家一起学习 技术!

图片

推荐阅读

 

《一站式教程之集群架构》:

 

LVS - 基础知识

LVS基本原理及工作模式(1)

LVS-IP隧道模式和DR模式(2)

LVS调度算法

LVS部署

ipvsadm命令

 

 

看完本文有收获?请分享给更多人

推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!

Cloud研习社 为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以及Docker,K8S,DevOps等 211篇原创内容 公众号

图片


图片

 

Cloud研习社

赞赏二维码喜欢作者

收录于合集 #一站式教程  260个 上一篇LVS实战-IP隧道模式(即TUN模式)配置 阅读 110 Cloud研习社    

标签:实战,10.0,LVS,DR,服务器,80,root,数据包
From: https://www.cnblogs.com/cherishthepresent/p/17558533.html

相关文章

  • Android之如何看目录&&如何下载他人的项目
    众所周知,目录可以帮助我们快速查找和定位到咱们所需的内容,引导并提供一个整体的概览。所以,今天,咱们就一起来论一论AndroidStudio中的目录!首先,看看它的一个树干结构图:我想大部分同学的软件应该和我下载的一样是英文版的哈......
  • day08 8.3 安卓开发项目实战
    开发自己的第一款APP-切换图片【1】编写步骤1打开androidStudio,新建一个项目2adnrodistudion中有两种视图android:以后开发,经常看它project:有时候找一些文件,看它,标准文件夹结构3编写代码activity_main.xml:编写xml,安卓页面的布局相当于前端的htmlMainActivity:......
  • day09 9.1 安卓开发项目实战二
    开发自己的第二款APP基于网络登陆注册能与后端进行交互的app【一】引入前面我们已经自己开发出了一款简答的App。但是那个App知识利用的本地的数据,没有和后端进行交互所以只能算是前端接下来我们要开发一款能与后端进行交互通信的App【二】必备知识想跟后端交互......
  • 用android studio如何反编译
    使用AndroidStudio进行反编译在Android开发中,有时我们需要查看或修改其他应用的源代码,这就需要使用反编译工具来还原APK文件的Java源代码。AndroidStudio是一个功能强大的集成开发环境,它提供了反编译工具,可以帮助我们实现这一目的。问题背景假设我们想要查看某个应用的源代码,......
  • 自建sqlserver迁移到aliyun的rds for sqlserver实战
    一、背景有些客户有上云的需求,需要把线下自建的sqlserver迁移至aliyun的rdsforsqlserver。大家第一时间想到的是用dts工具,根据工作经验,DTS迁移mysql类的数据库比较成熟,但是迁移sqlserver之类的会有问题。首先面临的一个问题就是源库日志膨胀的问题,也就是说是迁移过程中,源库的日......
  • androidflexbox
    如何实现"androidflexbox"的步骤介绍在开发Android应用时,我们经常需要使用到灵活的布局,以适应不同屏幕尺寸和设备方向的变化。AndroidFlexbox是一个强大的库,它提供了一种方便的方式来创建灵活的布局,使元素能够自动适应空间,并自动换行。在本文中,我将向你介绍如何使用AndroidFlex......
  • androidQQ侧滑菜单
    实现AndroidQQ侧滑菜单1.概述在Android开发中,实现侧滑菜单是一个常见的需求。本文将向你介绍实现AndroidQQ侧滑菜单的步骤和代码示例。2.实现步骤步骤操作1创建一个新的Android项目2在布局文件中添加一个侧滑菜单布局和一个主内容布局3创建一个自定义的A......
  • android:transitionName
    Android:TransitionName的用法详解在Android开发中,我们经常需要在不同的页面或者元素之间进行切换和过渡。为了实现这样的效果,Android提供了一系列的过渡动画效果,其中android:transitionName是一个非常重要的属性。本文将详细介绍android:transitionName的用法,并提供一些......
  • android:padding="15dp
    Android中的padding属性解析在Android开发中,我们经常会使用到布局文件来定义界面的结构和外观。其中,android:padding属性是一个非常常见的属性之一,用于设置控件的内边距。本篇文章将为大家介绍android:padding属性的使用方法以及相关知识点。1.android:padding属性的作用androi......
  • ps磨皮插件DR5白金版,支持PS2023
    ps磨皮插件DeliciousRetouch简称DR,dr5白金版对于摄影后期的人员来说非常实用,它可以帮你轻松实现一键美白美妆。有了这款插件你完全不需要太多的技巧,直接运用软件内置的预设即可完成照片的美容修饰操作。ps磨皮插件DR5白金版下载DeliciousRetouch5插件功能特色皮肤平滑工......