LVS介绍及配置

    科技2024-11-20  5

    LVS 负载均衡

    1.Linux Virtual Server 2.章文嵩博士主导的开源的负载均衡项目 3.LVS(ipvs)已被集成到Linux内核中

    LVS官网地址:传送门

    为什么要使用 LVS + Nginx

    1.LVS基于四层,工作效率高 2.单个 Nginx 承受不了压力,需要集群 3.LVS 充当 Nginx 集群的调度者 4.Nginx 接受请求来回,LVS 可以只接受不响应

    当浏览器发送请求时通过nginx进行分配到对应的服务器,当有结果返回也会通过nginx返回给浏览器

    当浏览器发送请求时通过LVS进行分配到对应的服务器,当有结果返回不会通过LVS返回给浏览器而是他们通过服务器集群直接返回给浏览器LVS的负载均衡也是通过虚拟IP来实现的和之前介绍的keepalived一致

    LVS的三种模式

    1.NAT模式:浏览器请求通过虚拟IP发送给LVS进行处理,响应数据也是通过LVS返回的(LVS的IP会暴露在公网,服务器的IP是在私网) 2.TUN模式:浏览器发送的请求还是通过虚拟IP发送个LVS发送给对应的服务器,之后端服务器响应的数据是集群中的服务器会直接返回给浏览器(前提:每个节点都需要配置一个网卡,也会将我们后台服务器的IP暴露在公网) 3.DR模式:浏览器发送的请求还是通过虚拟IP发送个LVS发送给对应的服务器,之后端服务器的响应的数据是通过统一的路由返回给浏览器,避免我们的后端服务器IP暴露在公网IP上,路由也有一个对应的虚拟IP

    搭建LVS - DR模式 - 配置LVS节点与ipvsadm

    前期准备

    1.服务器与ip规划

    LVS - 1台

    VIP(虚拟IP):192.168.1.189 DIP(转发IP/内网IP):192.168.1.61

    Nginx - 台(RealServer)

    RIP(真实IP/内网IP):192.168.1.88 RIP(真实IP/内网IP):192.168.1.87

    2.所有计算机节点关闭网络配置管理器,因为有可能会和网络接口冲突:

    systemctl stop NetworkManager systemctl disable NetworkManager

    创建子接口

    1.进入到网卡配置目录,找到对应的enp0s3

    cd /etc/sysconfig/network-scripts/ 2.拷贝并且创建子接口 cp ifcfg-enp0s3 ifcfg-enp0s3:1

    注:数字1为别名,可以任取其他数字都可以

    3.修改子接口配置

    vi ifcfg-enp0s3

    4.配置如下

    注:配置中的 192.168.1.89 就是咱们的vip,是提供给外网用户访问IP地址,道理和nginx+keepalived讲的vip是一样的

    5.重启网络服务,或者重启Linux(使配置文件生效):

    service network restart

    6.重启成功后, ip addr 查看一下,会发现多了一个IP,也就是虚拟IP(vip)

    安装ipvsadm

    现如今的centos都是集成了LVS,所以 ipvs 是自带的,相当于苹果手机自带ios,我们只需要 ipvsadm 即可(ipvsadmm是管理集群的工具,通过ipvs可以管理集群,查看集群操作),命令如下

    yum install ipvsadm

    安装成功后,可以检测下:

    ipvsadm -Ln

    Processed: 0.025, SQL: 8