Brc's blog
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于

Brc

努力中
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于
  • Linux基础

  • Linux进阶

    • shell

    • nginx

    • keepalived

    • LVS

      • LVS负载基础知识
        • LVS基本概述
          • 什么是LVS
          • LVS组成部分
          • LVS相关名词
        • LVS应用场景
        • LVS常见模型
          • NAT模型
          • DR模型
        • LVS集群命令介绍
      • LVS NAT模型实践
      • LVS DR模型实践
      • LVS调度算法详解
    • ansible

    • docker

    • mysql

  • 其他

  • 运维
  • Linux进阶
  • LVS
Brc
2021-11-22
目录

LVS负载基础知识

# LVS基本概述

# 什么是LVS

LVS的英文全称是Linux virtual server,即Linux虚拟服务器。其实它是一种cluster集群技术,主要用于负载均衡,将用户请求均匀的调度到不同的服务器上执行。

注意:LVS是基于四层IP:PORT的负载均衡。

# LVS组成部分

  • ipvs:工作在内核空间,实现集群服务的"调度",借鉴了iptables的实现方式;
  • ipvsadm:工作在用户空间,负责为ipvs内核框架编写规则。定义谁是集群服务,谁是后端服务器,数据包如何调度,调度到哪个节点。

image-20211122164103866

# LVS相关名词

接下来我们需要了解LVS中的名词,比如:DS、RS、CIP、VIP、DIP、RIP,通过下面的图来做了解其含义。

image-20211122163805390

名称 详细名称 描述
DS Director Server 目标服务器,即负载均衡器LVS
RS Real Server 真实应用服务,即后端服务器
CIP Client lP 客户端请求lP
VIP Virtual lP 直接面向用户的IP地址,通常为公网IP
DIP Director Server lP 用于与后端RIP通信的IP地址
RIP Real Server IP 后端真实服务器的IP地址

# LVS应用场景

腾讯云负载均衡场景示例 (opens new window)

阿里云负载均衡场景示例 (opens new window)

# LVS常见模型

LVS负载均衡模型有NAT、DR、TUN、FULL-NAT,较为常见的模型有NAT、DR,使用最为广泛的模型是DR

# NAT模型

NAT:通过修改请求报文的目标IP地址,然后根据算法挑选出某台RS进行转发。(请求进入负载均衡器LVS时做DNAT,后端返回数据报文出负载均衡时做SNAT)

# DR模型

DR:通过修改请求报文的目标MAC地址,然后根据算法挑选出某台RS进行转发。(请求进入负载均衡器LVS时做MAC地址转换,后端返回数据报文不经过负载均衡,所以无需做转换)

# LVS集群命令介绍

  • ipvsadm的用法大概分类如下两类:

    • 管理集群服务(定义负载均衡配置)

    • 管理后端RS(定义负载均衡后端节点的增删改查)

    ipvsadm - Linux virtual server administration
    ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] [--pe persistence_engine] [-b sched-flags]
    ipvsadm -D -t|u|f service-address
    ipvsadm -C
    ipvsadm -R
    ipvsadm -S [-n]
    ipvsadm -a|e -t|u|f service-address -r server-address [options]
    ipvsadm -d -t|u|f service-address -r server-address
    ipvsadm -L|l [options]
    ipvsadm -Z [-t|u|f service-address]
    ipvsadm --set tcp tcpfin udp
    ipvsadm --start-daemon state [--mcast-interface interface] [--syncid sid]
    ipvsadm --stop-daemon state
    
    # COMIMANDS-cluster
            -A		, --add-service			# 添加一个集群服务
            -E		, --edit-service		# 修改已添加的集群服务
            -D		, --delete-service		# 删除虚拟服务
            -C		, --clear				# 清空集群所有规则
            -R		, --restore				# 从文件中恢复集群
            -S		, --save				# 将集群信息报文至文件中
            -L|-l	, --list				# 列出当前集群信息
            -Z		, --zero				# 清空集群计数器
            -n								# 数字格式显示ip和port,注意-n只能写在-L之后
    # COMMANDS-RS
            -a		, --add-server			# 表示要添加RS节点
            -e		, --edit-server			# 表示要修改RS节点
            -d		, --delete-server		# 表示要删除RS节点
            -t		, service-address		# 指定操作哪个节点地址与端口
    # host[:port],tcp协议
    		-u		, service-address		# 指定操作哪个节点地址与端口
    # host[:port],udp协议
            -r		, --real-server			# 指定RS节点地址与端口
            -w		, --weight				# 指定RS节点的权重
            -m		, --masquerading		# 指定LVS工作模型(NAT模型)
            -g		, --gatewaying			# 指定LVS工作模型(DR模型)
            -i		, --ipip				# 指定LVS工作模型(tun模型)
            -s		, --schedu1er			# 指定LVS调度策略,默认为wlc
            -p		, --persistent			# 持久连接超时时间
            -f		, --fwmark-service		# 防火墙标记
            -c		, --connection			# 显示ipvs连接信息
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
#LVS
Last Updated: 2022/03/30, 11:09:09
高可用keepalived
LVS NAT模型实践

← 高可用keepalived LVS NAT模型实践→

最近更新
01
谷歌云创建GKE集群
07-26
02
ElastiCacheForRedis启用密码
07-26
03
upload-to-gcs
06-29
更多文章>
Theme by Vdoing | Copyright © 2021-2024 Brc | MIT License | 浙ICP备19031881号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式