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

华为云ECS部署DR模式的LVS

1 概述

LVS是linux内核模块,用于4层的负载均衡,它有多个工作模式,例如NAT模式、DR模式。
DR模式的数据流是这样的:

client --->  Director Server(即LVS服务器,带VIP) --->  Real Server(后端服务器)  --->  client

本文以华为云ECS为环境,部署DR模式的LVS。


2 环境

在华为云购买三台ECS,三台ECS均位于同一个子网中,OS是Centos 7.9,在该子网中申请一个虚拟IP作为LVS的VIP。

VIP:10.0.13.104
服务器1,Director Server:10.0.14.179
服务器2,Real Server:10.0.29.2,部署一个nginx
服务器3,客户端:10.0.0.149

3 部署

3.1 Director Server的部署

Director Server其实是不需要设置 /proc/sys/net/ipv4/ip_forward为1。
在Director Server上curl自己的VIP:端口,是不通的。

3.1.1 申请华为云虚拟IP

在华为云子网中申请一个虚拟IP(例如指定为10.0.13.104),并绑定至ECS实例。
此华为云虚拟IP是作为LVS的VIP。

操作文档请参考官方:

https://support.huaweicloud.com/usermanual-ecs/ecs_03_0506.html

在这里插入图片描述


3.1.2 将华为云虚拟IP挂载到服务器1(10.0.14.179)的网卡上

登录服务器1,执行如下命令:

export VIP=10.0.13.104
nmcli connection modify "System eth0" +ipv4.addresses $VIP
nmcli connection up "System eth0"

详细说明请参考官方:

https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0067802474.html

在这里插入图片描述

3.1.3 服务器1(10.0.14.179)安装LVS用户态用具

工具用于下发LVS规则到内核中。

yum install -y ipvsadm

3.1.4 服务器1(10.0.14.179)设置LVS规则

export VIP=10.0.13.104
export RS=10.0.29.2ipvsadm --set 30 5 60
ipvsadm -A -t $VIP:80 -s rr
ipvsadm -a -t $VIP:80 -r $RS:80 -g
# -g代表DR模式

在这里插入图片描述


3.2 Real Server的部署

3.2.1 在服务器2(10.0.29.2)安装nginx

yum install nginx -y
systemctl start nginx

3.2.2 其他配置

抑制ARP响应,将VIP设置到lo网卡上。这些操作很重要,否则最终网络不会通。

export VIP=10.0.13.104# 抑制ARP响应
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce# 将VIP设置到lo网卡上
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP up

4 测试

登录服务器3(10.0.0.149),执行如下命令:

export VIP=10.0.13.104
curl -I $VIP:80

在这里插入图片描述

5 小结

在云上ECS搭建LVS的文章比较少,通过在华为云ECS上搭建LVS,希望对云上用户有所帮助。


http://www.mrgr.cn/news/48990.html

相关文章:

  • 【分布式微服务云原生】 探索SOAP协议:简单对象访问协议的深度解析与实践
  • windows C++-轻量级任务
  • 大模型生图安全疫苗注入赛题解析(DataWhale组队学习)
  • R语言统计分析——折线图
  • 自注意力机制self-attention中QKV矩阵的含义
  • 2025届保研-优营率0%上岸C9
  • C++面试速通宝典——24
  • 基于SpringBoot+Vue的陶怡居茶铺管理系统设计实现(协同过滤算法)
  • 实践体验密集小目标检测,以小麦麦穗颗粒为基准,基于嵌入式端超轻量级模型LeYOLO全系列【n/s/m/l】参数模型开发构建智能精准麦穗颗粒检测计数系统
  • 231水果滑块喜+1
  • g_strdup_printf
  • PostgreSql的备份和升级
  • 自定义注解和组件扫描在Spring Boot中动态注册Bean(二)
  • QEMU与KVM架构
  • 百度搜索引擎是如何解决用户点击率与网站排名关联度的呢?
  • 【ShuQiHere】K近邻算法(KNN)全面解析:从理论到实现
  • [Python]如何在Ubuntu中建置python venv虛擬環境,並安裝TensorFlow和OpenCV函式庫?
  • 1129.统计数字字符个数(vs2022中 gets, gets_s 无法使用的情况下)
  • 小红书运营教程04(爆款账号分解步骤)
  • 2-SAT 问题详解:逻辑约束与图论的结合