LVS的概念和基础

LVS可以用于跟nginx结合做四+七层的负载均衡

什么是四+七

对应的是OIS模型里的层

OIS模型:

7.应用层

6.表示层

5.会话层

4.传输层

3.网络层

2.数据链路层

1.物理层

所以LVS做的是传输层的负载均衡,nginx做的是应用层的负载均衡

VIP:LVS主机用于向外部提供服务的ip地址。作为用户请求的目标IP地址

DIP:LVS主机上和后端真实服务的主机通信的IP地址

RIP:在LVS调度主机后端,用于向用户请求的IP地址

CIP:客户端的ip地址

工作流程

1.客户端向服务器发起请求

2.通过dns解析原理获取客户端的ip地址提供给VIP

3.LVS受到用户请求后根据自身的配置(负载均衡)从DIP发送给相应的主机RS

ipvsadm命令选项

负载均衡

-关于名称的擦混关键删除修改等

后端真实主机

-关于RS的增加和修改等

调度策略

-流量的分发

ipvsamd命令

集群命令

增加集群

命令解读

命令格式:ipvsadm -A -t|u|f service_address:port [-s scheduler] [-p [timeout]]
格式详解:
    -A 增加lvs集群
    -t 指定lvs主机地址信息
        -t 指定lvs集群服务主机的tcp端口
        -u 指定lvs集群服务主机的udp端口
        -f 指定lvs集群服务主机采用的防火墙自定义规则的标记,默认是数字
        这三个选项最好选择一个,想要多选的话,再创建一条规则即可。
    -s 指定lvs集群的调度策略,默认是wlc

示例:

ipvsadm -A -t 192.168.8.15:80

编辑集群

命令解读

命令格式:ipvsadm -E -t service_address:port [-s scheduler]
格式详解:
 -E 编辑lvs集群的信息
 注意:
 更改集群信息的时候,只能更改已存在的lvs集群的细节属性,不能直接将lvs的地址更改

示例:

ipvsadm -E -t 192.168.8.14:80 -p 30

删除集群

命令解读:

命令格式:ipvsadm -D -t service_address:port
格式详解:
    -D 删除指定lvs集群的信息
    -C 删除所有lvs集群的信息
    注意:
  删除集群信息的时候,必须指定已存在的lvs集群地址,协议也必须正确

示例:

ipvsadm -D -t 192.168.80.14:80

主机命令

增加主机

命令解读:

命令格式:ipvsadm -a -t service_address:port -r server-address:port -g|m|i [options]
格式详解:
    -a 给lvs集群增加一个真实主机RS
    -r 指定真实主机的地址信息,格式是 IP:[Port],Port可以省略
    -g|m|i 设定后端主机的转发模式
        -g 采用默认的direct routing模式
        -m 采用masquerading的nat模式
        -i 采用ipip的tunneling模式
   这三者只能选择其一
    -w 指定真实主机的权重信息

示例:

ipvsadm -A -t 192.168.8.14:80

ipvsadm -a -t 192.168.8.14:80 -r 192.168.8.16

编辑主机

命令解读:

命令格式:ipvsadm -e -t service_address:port -r server-address:port [options]
格式详解:
    -e 修改真实主机的属性信息
    -m 设定真实主机的转发模型信息为nat模型
    注意:
   修改真实主机信息的时候,必须指定已存在的lvs集群地址,协议也必须正确
   -m 和 -i 不能同时使用

ipvsadm -e -t 192.168.8.14:80 -r 192.168.8.16:80 -m --转换成 NAT模式

删除主机

命令解读:

命令格式:ipvsadm -d -t service_address:port -r server-address:port
格式详解:
    -d 删除真实主机的属性信息
    注意:
        lvs服务主机和rs真实主机的地址必须指定正确
        单个删除RS主机有些繁琐,我们可以直接采用删除lvs主机的效果清空所有目标主机

ipvsadm -d -t 192.168.8.14:80 -r 192.168.8.16:80

如若要删除该集群的全部主机可以ipvsadm -D -t 192.168.8.14这样直接删除这个集群就可以了

工作模式

NAT

NAT:网络地址转换

当私网主机和公网主机进行通信的时候,数据包经过NAT网关时,NAT会将数据报的源IP或者目标IP进行转换

双网段

来去流经LVS主机

LVS主机必须开启ip_forward转发

DR

DR:直接路由,转换的是mac地址

模式特点

LVS 服务器 和 RS 服务器 上都配置有 VIP 地址
 - 确保前端路由器将目标 IP 为 VIP 的请求报文只发往 LVS 服务器;
 - 后端 RS 服务器上的 VIP 只用作封装响应报文。
 不可响应 ARP 广播,也不可主动对外发送 ARP 广播
 
RS 的 RIP 可以使用私网地址,也可以是公网地址;
 - RIP 与 DIP在同一 IP 网络;
 - RIP 的网关不能指向 DIP,以确保响应报文不会经由 LVS 服务器
 - RS 服务器和 LVS 服务器要在同一个物理网络(不能跨路由,因为路由会隔离 ARP 广播)
 
LVS 服务器只处理请求报文,不处理响应报文。
 - 相对于 NAT 模式其负载性能会大幅提升,响应由 RS 服务器自行完成
 - 不支持端口映射(端口不能修改,数据链路层之上的内容不会发生变化)
 - 无需开启 ip_forward

总结

1.所有主机都有VIP

但是所有的RS主机抑制ARP请求

2.LVS主机和RS主机必须在同一个局域网

3.所有RS主机需要配置一个路由出口 (转发率高)

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐