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

企业级调度器LVS TUN实践

根据以下主机资源,做⼀个 lvs TUN 模型的负载均衡实验,两台后端主机是 http 服务。
定制 lvs-route 主机 ip(略)
定制 lvs-server 主机 ip(略)
定制 lvs-route 主机隧道⽹卡
modprobe ipip   加载隧道模块
modinfo ipip   查看模块信息
lsmod | grep ipip   验证模块是否加载
定制隧道⽹卡ip
ip a add 192.168.8.100/32 dev tunl0
ip link set tunl0 up # 一定要开启
ip a s tunl0
定制lvs-RS1主机ip
加载模块
modprobe ipip
modinfo ipip
lsmod | grep ipip
lvs-rs1主机定制tunl0⽹卡ip地址
ip a add 192.168.8.100/32 dev tunl0
ip link set tunl0 up    # 一定要开启
ip a s tunl0
定制lvs-RS2主机ip
加载模块
modprobe ipip
modinfo ipip
lsmod | grep ipip
ip a add 192.168.8.100/32 dev tunl0
ip link set tunl0 up   # 一定要开启
ip a s tunl0
基础环境配置
客⼾端主机定制⽹关
lvs-client 主机定制默认的⽹关出⼝为 lvs 主机
ip route add default via 10.0.0.16 # 设定默认的路由,实现流量的发送
lvs-route 主机定制数据包转发(略)
lvs-server主机定制数据包转发及定制路由出⼝(略)
修改内核参数,禁⽤ VIP ARP ⼴播和应答, TUN 模式中,如果 LVS 和后端RS 服务器在⼀个物理⽹络,可以不⽤执⾏如下步骤
echo '1' > / proc / sys / net / ipv4 / conf / tunl0 / arp_ignore
echo '2' > / proc / sys / net / ipv4 / conf / tunl0 / arp_announce
echo '1' > / proc / sys / net / ipv4 / conf / all / arp_ignore
echo '2' > / proc / sys / net / ipv4 / conf / all / arp_announce
echo '0' > / proc / sys / net / ipv4 / conf / tunl0 / rp_filter
echo '0' > / proc / sys / net / ipv4 / conf / all / rp_filter
rp_filter 参数用于控制系统是否开启对数据包源地址的校验
0 代表不开启地址校验
1 表示开启严谨的反向地址校验,对每一个数据包,校验其反向地址是否是最佳路径,如果不是则丢弃该包                            Centos | Redhat 系列的 OS 默认使用的是该值
2 表示开启松散的反向地址校验,只要能够反向 ping 通,则使用该数据包,如果 ping 不通,则丢弃该包。                      Ubuntu 系列的 OS 默认使用的是该值,效果和 0 差不多
RS1主机定制⽹络环境
lvs-rs1 主机定制默认的⽹关出⼝为 lvs 主机(略) 结果如下显示
lvs-rs1 主机定制 arp 策略
echo '1' > / proc / sys / net / ipv4 / conf / tunl0 / arp_ignore
echo '2' > / proc / sys / net / ipv4 / conf / tunl0 / arp_announce
echo '1' > / proc / sys / net / ipv4 / conf / all / arp_ignore
echo '2' > / proc / sys / net / ipv4 / conf / all / arp_announce
echo '0' > / proc / sys / net / ipv4 / conf / tunl0 / rp_filter
echo '0' > / proc / sys / net / ipv4 / conf / all / rp_filter
注意:
关于 arp 的抑制,需要具体的网卡和 all 搭配使用才生效,
all 相当于兜底的策略。
RS2主机定制⽹络环境(上同 略)
lvs-server主机定制集群
ipvsadm -C
ipvsadm - A - t 192.168.8.100 : 80
ipvsadm - a - t 192.168.8.100 : 80 - r 192.168.8.14 : 80 - i
ipvsadm - a - t 192.168.8.100 : 80 - r 192.168.8.15 : 80 - i
ipvsadm - a - t 192.168.8.100 : 80 - r 192.168.8.17 : 80 - i
注意: 我们这里用的是 tun 模式,所以添加 RS 主机的时候,需要加 - i 选项
测试
客⼾端访问 lvs 的对外 ip 地址
[root @rocky9-12 ~ ] # curl 192.168.8.100
< h1 > hello RS2 </ h1 >
[root @rocky9-12 ~ ] # curl 192.168.8.100
< h1 > hello RS1 </ h1 >
[root @rocky9-12 ~ ] # curl 192.168.8.100
< h1 > hello RS2 </ h1 >
http://www.xdnf.cn/news/8087.html

相关文章:

  • 腾讯音乐二面
  • sockaddr结构体详解
  • YOLOv8模型剪枝笔记(DepGraph和Network Slimming网络瘦身)
  • 六、插曲:项目范围管理
  • 东芝发布DFN8×8封装的650V第三代SiC MOSFETs
  • 详解一下Go语言中的ParseInt
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(27):失敗 失败 经验
  • GIM发布新版本了 (附rust CLI制作brew bottle流程)
  • 小米2025年校招笔试真题手撕(二)
  • git:The following paths are ignored by one of your
  • 阿里云服务器 篇十四:图片库网站
  • ext2文件系统详讲
  • Linux 玩转nfs
  • DeepSeek Mermaid:如何将文本直接转化为精美图表? -优雅草卓伊凡
  • JavaScript中从原数组中删除某个元素
  • 用对称化与chaining技术bound经验过程上确界的期望(Guntuboyina理论统计学笔记)
  • Python打卡训练营day29-类的装饰器
  • 深入学习和对比Python 列表与元组
  • 测量尺子:多功能测量工具,科技改变生活
  • PP-YOLOE-SOD学习笔记1
  • ThreadLocal线程本地变量在dubbo服务使用时候遇到的一个坑
  • Docker Compose`down`和`stop`命令的区别
  • 【RocketMQ 生产者和消费者】- 生产者启动源码-上报生产者和消费者心跳信息到 broker(3)
  • Modelsim的入门使用和Verilog编写
  • 【电流探头】LOTO电流探头线性度测量
  • Docker-mongodb
  • JavaWeb Web基础
  • 零碳办会新范式!第十届国际贸易发展论坛——生物能源和可持续发展专场,在京举办
  • 前端性能优化方案
  • 亚马逊英国站海关新规深度解读与合规指南