LVS—DR集群的搭建

目录

lvs-dr模式工作原理:

搭建结构:

1、RS:

1)两台RS准备好httpd环境和测试文件

[2)添加虚拟IP(vip)、添加访问本地vip的静态路由 并抑制ARP](#2)添加虚拟IP(vip)、添加访问本地vip的静态路由 并抑制ARP)

2、DS:

1)安装ipvasadm

2)配置虚拟IP(vip)

[3) 添加服务](#3) 添加服务)

3、客户端访问:​编辑


lvs-dr模式工作原理:

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

搭建结构:

1、RS:

1)两台RS准备好httpd环境和测试文件

bash 复制代码
yum install -y httpd

2)添加虚拟IP(vip)、添加访问本地vip的静态路由 并抑制ARP

bash 复制代码
#在本地环回创建子接口并添加虚拟IP;ifconfig同样开机失效
ifconfig lo:1 192.168.127.77 netmask 255.255.255.255 up
#创建本机静态路由;route命令开机失效
route add -host 192.168.127.77 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/all/arp_ignore
 echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

2、DS:

1)安装ipvasadm

bash 复制代码
yum install -y ipvsadm
systemctl start ipvsadm

2)配置虚拟IP(vip)

bash 复制代码
ifconfig ens33:1 192.168.127.77 netmask 255.255.255.0 up

3) 添加服务

bash 复制代码
#添加服务本地ip;-s rr指定调度算法为轮循模式
ipvsadm -A -t 192.168.127.77:80 -s rr
#添加后端真实服务器;-g 指定工作模式为路由
ipvsadm -a -t 192.168.127.77:80 -r 192.168.127.162:80 -g
ipvsadm -a -t 192.168.127.77:80 -r 192.168.127.163:80 -g

3、客户端访问:

相关推荐
小二·44 分钟前
Python Web 开发进阶实战 :AI 原生数字孪生 —— 在 Flask + Three.js 中构建物理世界实时仿真与优化平台
前端·人工智能·python
Whisper_Sy1 小时前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 网络状态实现
android·java·开发语言·javascript·网络·flutter·php
小天源1 小时前
linux漏洞一键扫描
linux·运维·服务器·漏洞扫描
eWidget1 小时前
InfluxDB迁移至金仓数据库的同城容灾实践:性能显著提升、运维效率优化,某能源企业实现RPO_5秒的高可靠时序数据管理
运维·数据库·能源·时序数据库·kingbase·kingbasees·金仓数据库
Black蜡笔小新1 小时前
视频汇聚平台EasyCVR打造校园消防智能监管新防线
网络·人工智能·音视频
珠海西格电力科技1 小时前
双碳目标下,微电网为何成为能源转型核心载体?
网络·人工智能·物联网·云计算·智慧城市·能源
m0_696212681 小时前
个人微信api
运维·服务器
Amumu121382 小时前
Vue组件化编程
前端·javascript·vue.js
We་ct2 小时前
LeetCode 6. Z 字形变换:两种解法深度解析与优化
前端·算法·leetcode·typescript
en-route2 小时前
SSH Key 与 GPG Key 区别详解:Git 使用中的身份与签名机制
运维·git·ssh