LVS实战项目

LVS简介

LVS:Linux Virtual Server,负载调度器,内核集成,章文嵩,阿里的四层SLB(Server LoadBalance)是基于LVS+keepalived实现。
LVS集群的类型
lvs-nat : 修改请求报文的目标IP, 多目标 IP 的 DNAT
lvs-dr : 操纵封装新的 MAC 地址
lvs-tun : 在原请求IP 报文之外新加一个 IP 首部
lvs-fullnat : 修改请求报文的源和目标 IP

NAT模式

  • 本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和 PORT实现转发
  • RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP
  • 请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈
  • 支持端口映射,可修改请求报文的目标PORT
  • VS必须是Linux系统,RS可以是任意OS系统

一、lvs的net模式

  • 配置IP

  • eth0和eth1的配置
  • 修改文件配置
  • webserver1的配置
  • webserver2的配置
  • webserver1和webserver2都下载
  • 打开服务
  • web2同上
  • 检测
  • 在lvs上装lvs软件
  • 在lvs上写策略
  • 测试

DR模式

Direct Routing ,直接路由, LVS 默认模式 , 应用最广泛 , 通过为请求报文重新封装一个 MAC 首部进行
转发,源 MAC 是 DIP 所在的接口的 MAC ,目标 MAC 是某挑选出的 RS 的 RIP 所在接口的 MAC 地址;源IP/PORT,以及目标 IP/PORT 均保持不变

二、lvs的dr模式

  • 删除原来的IP
  • 修改配置
  • 创建路由器router双网卡net和仅主机
  • 配置路由器ip
  • 修改eth1的配置
  • 打开内核路由功能
  • 修改内核
  • 配置client的ip
  • 修改网关

改前

改后

  • 回到web解决vip响应问题
  • 给lvs,web1,web2三台虚拟机设置vip
  • 在客户端上测试ping通vip(成功)
  • 回到lvs写策略
  • 回到客户端访问

三、火墙mark标记解决调度问题

修改策略

  • 下载插件
  • 重启服务
  • 测试(-k忽略证书)
  • 添加策略

测试

  • 对端口进行标记
  • 清空原有策略
  • 重新写策略(因为多端口所以不用加端口号)
  • 测试
  • 完成!
相关推荐
无奈笑天下4 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
威嵌神州8 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__8 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo9 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
打工仔折腾 AI14 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
无奈笑天下14 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
fengkai454515 小时前
Prometheus+K8s弹性伸缩综合项目
运维·kubernetes·k8s·prometheus·hpa·vpa
分布式存储与RustFS17 小时前
镜像仓库的层别只堆本地盘:用 RustFS 给 Harbor 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
雪落漂泊19 小时前
Liunux进程(七):程序控制篇(中)
linux·运维·windows
分布式存储与RustFS19 小时前
工作流脚本和依赖 JAR 散在各节点本地盘:用 DolphinScheduler 资源中心接到 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准