当前位置: 首页 > news >正文

基于 CentOS 7 构建 LVS-DR 群集

文章目录

  • 一、LVS-DR集群介绍
    • 1.LVS的基本工作原理
    • 2. LVS-DR模式工作原理
  • 二、 LVS-DR模式应用特点
  • 三、LVS – DR 模式集群构建
    • 1.前期环境准备
    • 2.配置LVS
    • 3.配置RS

一、LVS-DR集群介绍

1.LVS的基本工作原理

在这里插入图片描述

  1. 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间
  2. PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链
  3. IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和自己已定义好的集群
    服务进行比对,如果用户请求的就是定义的集群服务,那么此时IPVS会强行修改数据包里的目标IP
    地址及端口,并将新的数据包发往POSTROUTING链
  4. POSTROUTING链接收数据包后发现目标IP地址刚好是自己的后端服务器,那么此时通过选路,将
    数据包最终发送给后端的服务器

2. LVS-DR模式工作原理

首先,来自客户端计算机CIP的请求被发送到Director的VIP。然后Director使用相同的VIP目的IP地址将
请求发送到集群节点或真实服务器。然后,集群某个节点将回复该数据包,并将该数据包直接发送到客
户端计算机(不经过director),并且以此回复数据包使用的目的VIP 地址作为源IP地址。因此,实际上
是客户计算机被“欺骗”了,客户计算机始终认为它正与同一台计算机对话,而实际上它正在发送请求数
据包给一台计算机(LB),并从另一台计算机(RS)接收回复的数据包。

二、 LVS-DR模式应用特点

1.所有集群节点RS必须和Director在相同的物理网段(即同一个局域网中);
2.所有客户端入站(而不是出站)请求由Director首先接收,并转发给集群节点RS;
3.集群节点RS通常来说最好带外部IP,而不使用Director及某固定机器作为默认网关,以便将数据包直
接回复给客户端计算机,且不会产生回包的瓶颈;
4.所有集群节点RS上必须在lo网卡上绑定VIP地址,以便验证通过目的IP非RS的数据包;
5.由于所有集群节点RS上必须在lo网卡上绑定VIP地址,因此,带来arp问题,即集群节点RS默认会相
应发往Director VIP的数据包。因此要对所有集群节点RS做ARP抑制处理,把响应VIP的请求交给LVS
Director;
6.很多操作系统都可以用在集群内部的RS真实服务器上只要该操作系统能够实现ARP隐藏,如:
Windows,linux,unix;
7.LVS/DR模式不需要开启调度器转发功能,这点和LVS/NAT模式是不同的。
8.LVS/DR Director(服务器数量100台)可以比LVS-NAT Director(服务器数量10-20台)承受更多的
并发请求和转发更多的服务器数量。

三、LVS – DR 模式集群构建

1.前期环境准备

这里我准备了四台主机,一台充当lvs,两台充当web集群,还有一台客户端

在这里插入图片描述

在lvs上安装配置工具

yum install ipvsadm

然后这里选择使用apache工具,在web集群上安装
使用apache和nginx都可以
在这里插入图片描述

2.配置LVS

配置vip,即虚拟ip
配置在同一网段的即可
在这里插入图片描述
手工执行配置添加LVS服务并增加两台RS

 ipvsadm -C #清除lvs配置ipvsadm -A -t 192.168.45.200:80 -s rripvsadm -a -t 192.168.45.200:80 -r 192.168.45.141:80 -gipvsadm -a -t 192.168.45.200:80 -r 192.168.45.142:80 -g

这里采用比较简单的做法,没有添加条件,方便快速测试
去查看lvs配置,可以看见两台RS已经添加上
在这里插入图片描述

3.配置RS

在每台RS上配置

ifconfig lo:200 192.168.45.200 netmask 255.255.255.255 
echo "web test page , ip is 'hostname -I'." > /var/www/html/index.html #用于客户端测试

添加本机访问VIP的路由

route add -host 192.168.45.200 dev lo

然后进行arp抑制

echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/ens33/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/ens33/arp_announce

最后在客户端上面测试

for ((i=1;i<=6;i++))
> do
> curl 192.168.45.200
> done

如果交替出现说明配置成功

http://www.lryc.cn/news/115361.html

相关文章:

  • 机器学习笔记 - 使用 Tensorflow 从头开始​​构建您自己的对象检测器
  • IELAB-网络工程师的路由答疑10问(2)
  • 聚观早报|iPhone 15预计9月22日上市;一加Open渲染图曝光
  • react-use-gesture
  • 智能中的“一体两面”
  • 前端渲染数据
  • 【Linux操作系统】深入了解系统编程gdb调试工具
  • linux 安装go 1.18版本
  • LLVM笔记2 Intermediate Representation (IR)
  • 篇五:原型模式:复制对象的秘密
  • 为什么ip地址一直在变化
  • 10.物联网操作系统之低功耗管理
  • SQL SERVER 2019 数据库还原测试库的方法
  • leetcode 62. 不同路径
  • ad+硬件每日学习十个知识点(25)23.8.5(常见芯片类型、数字隔离芯片、IO扩展芯片TCAL6416)
  • fetch-github-hosts间隔一年大更新v2.6发布,多端支持
  • K最近邻算法:简单高效的分类和回归方法(三)
  • 【数据分析专栏之Python篇】五、pandas数据结构之Series
  • 中间件多版本冲突的4种解决方案和我们的选择
  • 对 async/await 的理解
  • Vue 整合 Element UI 、路由嵌套、参数传递、重定向、404和路由钩子(五)
  • 修改 Ubuntu 系统的时区
  • 如何离线安装ModHeader - Modify HTTP headers Chrome插件?
  • 在Linux中安装MySQL
  • python --windows获取启动文件夹路径/获取当前用户名/添加自启动文件
  • 微信云托管(本地调试)⑥:nginx、vue刷新404问题
  • 数据结构 二叉树(一篇基本掌握)
  • ​可视化绘图技巧100篇高级篇(四)-南丁格尔玫瑰图(二)
  • Stable Diffusion - Candy Land (糖果世界) LoRA 提示词配置与效果展示
  • ES6学习-module语法