LVS集群

集群

  • 集群(CLUSTER)概念

    • 集群就是一组计算机,它们作为一个整体向用户提供一组网络资源
  • 集群核心:任务调度

  • 集群分类

LVS

LVS:Linux Virtual Server,Linux虚拟服务器

  • 功能

    • 实现高可用的、可伸缩的Web、Mail、Cache和Media等网络服务
  • 目标

    • 利用Linux操作系统和LVS集群软件实现一个高可用、高性能、低成本的服务器应用集
  • 组成

    • 工作在内核空间的IPVS模块
    • 工作在用户空间的ipvsadm管理工具
  • 术语:

    • 调度器:LVS服务器
    • 真实服务器Real Server:提供服务的服务器
    • VIP:虚拟地址,提供给用户访问的地址
    • DIP:指定地址,LVS服务器上与真实服务器通信的地址
    • RIP:真实地址,真实服务器的地址

LVS的工作模式:

复制代码
 测试LVS-NAT拓扑网络通信情况
复制代码
[root@lvs1 ~]# cat /proc/sys/net/ipv4/ip_forward        #检查lvs1主机是否开启路由转发
复制代码
1       #如果得到1则无需调整,如果得到0则执行下一步临时开启路由转发功能
复制代码
[root@lvs1 ~]#
复制代码
[root@lvs1 echo 1 > /proc/sys/net/ipv4/ip_forward
复制代码
[root@lvs1 ~]# cat /proc/sys/net/ipv4/ip_forward
  • 常见的调度算法,共10个,常用的有4个:

    • 轮询rr:Real Server轮流提供服务
    • 加权轮询wrr:根据服务器性能设置权重,权重大的得到的请求更多
    • 最少连接lc:根据Real Server的连接数分配请求
    • 加权最少连接wlc:类似于wrr,根据权重分配请求

LVS-NAT模式

  • 实验环境准备

    • pubserver:eth0->192.168.88.240,eth1->192.168.99.240
    • client:eth0->192.168.88.10,网关192.168.88.5
    • lvs1: eth0 -> 192.168.88.5;eth1->192.168.99.5
    • web1:eth1->192.168.99.100;网关192.168.99.5
    • web2:eth1->192.168.99.200;网关192.168.99.5
  • Ansible配置

cat /proc/sys/net/ipv4/ip_forward

复制代码
   
复制代码
# 配置LVS-NAT模式规则

121

root@lvs1 \~# ipvsadm -L

122

IP Virtual Server version 1.2.1 (size=4096)

123

Prot LocalAddress:Port Scheduler Flags

124

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

125

root@lvs1 \~# ipvsadm -A -t 192.168.88.5:80 -s rr

126

root@lvs1 \~# ipvsadm -a -t 192.168.88.5:80 -r 192.168.99.100:80 -w 1 -m

127

root@lvs1 \~# ipvsadm -a -t 192.168.88.5:80 -r 192.168.99.200:80 -w 2 -m

128

root@lvs1 \~# ipvsadm -Ln #-n为显示具体IP地址,不加则显示主机名

129

IP Virtual Server version 1.2.1 (size=4096)

130

Prot LocalAddress:Port Scheduler Flags

131

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

132

TCP 192.168.88.5:80 rr

133

-> 192.168.99.100:80 Masq 1 0 0

-> 192.168.99.200:80 Masq 2 0 0

ipvsadm命令常用选项

复制代码
    -A: 添加虚拟服务器
复制代码
    -E: 编辑虚拟服务器
复制代码
    -D: 删除虚拟服务器
复制代码
    -C: 删除所有虚拟服务器
复制代码
    -t: 添加tcp服务器
复制代码
    -u: 添加udp服务器
复制代码
    -s: 指定调度算法。如轮询rr/加权轮询wrr/最少连接lc/加权最少连接wlc
复制代码
    -a: 添加虚拟服务器后,向虚拟服务器中加入真实服务器
复制代码
    -r: 指定真实服务器
复制代码
    -w: 设置权重
复制代码
    -m: 指定工作模式为NAT
复制代码
    -g: 指定工作模式为DR
相关推荐
阿俊-全栈开发3 小时前
LikeShop 单商户SaaS商城分销模块二开:佣金计算与结算逻辑实现
java·开发语言·微服务·likeshop·likeshop开源商城·likeshop多商户
wuminyu6 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
辻弋2017 小时前
【无标题】
大数据·服务器·前端·搜索引擎·开源软件
蜗牛互联网8 小时前
WSL Containers GA:本地AI容器的生命周期、网络与治理验收
java·网络·人工智能·后端
龙亘川8 小时前
铭记英烈守初心,数字强基促服务:亘川智城退役军人服务系统的实践与价值
java·数据库·人工智能
OxYGC9 小时前
[AI工程] Spring AI 第廿一篇:存量 REST 接口的 MCP 化改造实录——工具从哪条路径注册、参数描述怎么写、身份怎么过去
java·人工智能·spring
Zhou1411369 小时前
SpringBoot_02_自动配置原理
java·spring boot·后端
FYKJ_20109 小时前
SSM校园失物招领系统41452-计算机课程设计、毕业设计
java·vue.js·spring boot·python·mysql·typescript·spark
kv1109 小时前
Android studio国内开发有关
java·数据库·android studio
卓怡学长10 小时前
w198基于springboot始于足下健康打卡平台的设计与实现
java·spring boot·spring·intellij-idea