欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > lvs虚拟服务器之LVS-NAT模式

lvs虚拟服务器之LVS-NAT模式

2025/2/6 13:55:54 来源:https://blog.csdn.net/qq_50655286/article/details/144101384  浏览:    关键词:lvs虚拟服务器之LVS-NAT模式
一.集群
二.LVS:虚拟服务器:工作在传输层,解决高并发
三.LVS-NAT一.集群1.概念:集群就是一组计算机集群核心:任务调度集群目的提高性能,降低成本,提高可扩展性,增强可靠性集群分类HA:高可用集群(High Availability Cluster):避免单点故障(代理服务器)LB:负载均衡集群/负载均衡系统(Load Balance Cluster):平均分摊HPC:高性能计算集群(High Performance Computing)二.LVS:虚拟服务器:工作在传输层1.基本概念:(1)LVS组成内核空间:IPVS框架用户空间:ipvsadm命令(2)LVS集群组成前端:负载均衡层一台或多台负载调度器构成中间:服务器群组层实际运行的应用服务器组成底端:数据共享存储层(每个服务器项目更新)--nfs服务提供共享存储空间的存储区域(3)术语:1)调度器:LVS服务器2)真实服务器Real Server:提供服务的服务器3)VIP:虚拟地址,外提供的IP地址,客户端通过这个IP地址访问LVS集群4)DIP:指定地址,将请求转发给后端真实服务器时所使用的地址5)RIP:真实地址,后端真实服务器的IP地址(4)LVS的工作模式:NAT:网络地址转换,公私网转换DR:路由模式TUN:隧道模式(5)LVS与nginx反向代理区别:1)LVS适用于高并发2)nginx具有健康检查,功能全面一些,LVS没有3)不能持久化规则,关机后失效(6)补充相关命令1)开机不启动nmcli connection modify "System eth0" ipv4.method disabled autoconnect no2)禁用相关网卡的命令nmcli connection down "System eth0"3)允许数据跨网口转发cat  /proc/sys/net/ipv4/ip_forward  -->188.10-->99.5-->99.100-->99.200:可以ping通三.LVS-NAT工作模式简介1.概念:LVS-NAT模式是一种负载均衡技术2.工作原理客户端请求(VIP)-->负载均衡服务器(修改源和目地IP)(DIP)-->真实业务服务器(RIP)客户端请求(VIP)<--负载均衡服务器(修改源和目地IP)(DIP)<--真实业务服务器(RIP)在LVS-NAT模式下,负载均衡器充当客户端和真实服务器之间的中介。当客户端发送请求到负载均衡器的虚拟IP地址(VIP)时,负载均衡器会根据预设的负载均衡算法选择一个真实的后端服务器来处理该请求。然后,负载均衡器将请求的数据包的源地址修改为自身的IP地址,目标地址修改为选定的真实服务器的IP地址,并将修改后的数据包发送给真实服务器。真实服务器处理请求后,将响应返回给负载均衡器。负载均衡器再将响应的数据包的源地址修改为虚拟IP地址,目标地址修改为客户端的IP地址,并将修改后的响应数据包发送给客户端。3.实验环境准备(1) pubserver:eth0->192.168.88.240,eth1->192.168.99.240client:eth0->192.168.88.10,网关192.168.88.5lvs1: eth0 -> 192.168.88.5;eth1->192.168.99.5web1:eth1->192.168.99.100;网关192.168.99.5web2:eth1->192.168.99.200;网关192.168.99.5(2)搭建ansible环境(3)web1,web2安装nginx服务器4.LVS-NAT虚拟服务器搭建:(1)装ipvsadm包(2)配置内核参数开启路由转发功能(3)搭建lvs-nat模式(1)配置内核参数开启路由转发功能,lvs调度服务器/etc/sysctl.conf开启路由转发功能内核参数设置:net.ipv4.ip_forward=1net.ipv4.ip_forward=1:这意味着Linux系统可以作为路由器,将接收到的IP数据包根据目标IP地址的路由信息转发到合适的接口,以便数据包能够到达目标主机。直接设置 echo 1 >  /proc/sys/net/ipv4/ip_forward  -->1(临时)内核参数配置文件:/etc/sysctl.conf,设置参数net.ipv4.ip_forward=1(永久)刷新配置文件:"sysctl -p"---- name: config sysctlhosts: lbstasks:- name: modify kernel args          #持久开启Linux路由转发功能sysctl:name: net.ipv4.ip_forwardvalue: '1'sysctl_set: true                #立即生效sysctl_file: /etc/sysctl.conf   #写入的文件notify: flush argshandlers:- name: flush args                  shell: "sysctl -p"			#刷新sysctl.conf文件(2)装ipvsadm包:利用ansible给lvs1安装ipvsadm包(提供用户命令行下的操作接口)# ipvsadm命令常用选项-A: 添加虚拟服务器-C: 删除所有虚拟服务器-D: 删除虚拟服务器-E: 编辑虚拟服务器-s: 指定调度算法。如轮询rr(Round Robin)加权轮询wrr最少连接lc:并将新的请求调度到连接数最少的服务器上加权最少连接wlc-a tu rw mg:-a: 向"添加"的虚拟服务器中加入真实服务器-t: 添加tcp服务器, -u: 添加udp服务器-r: 指定真实服务器地址-w: 设置权重-m: 指定工作模式为NAT-g: 指定工作模式为DR(3)搭建lvs-nat模式[root@lvs1 ~]# ipvsadm -A -t 192.168.88.5:80 -s rr[root@lvs1 ~]# ipvsadm -a -t 192.168.88.5:80 -r 192.168.99.100:80 -w 1 -m   [root@lvs1 ~]# ipvsadm -a -t 192.168.88.5:80 -r 192.168.99.200:80 -w 2 -m[root@lvs1 ~]# ipvsadm -Ln      #查看虚拟主机列表

一.集群
二.LVS:虚拟服务器:工作在传输层,解决高并发
三.LVS-NAT
四.LVS-DR


一.集群
    1.概念:
        集群就是一组计算机

        集群核心:任务调度
    
        集群目的
            提高性能,降低成本,提高可扩展性,增强可靠性
    
        集群分类
            HA:高可用集群(High Availability Cluster):避免单点故障(代理服务器)
            LB:负载均衡集群/负载均衡系统(Load Balance Cluster):平均分摊
            HPC:高性能计算集群(High Performance Computing)

二.LVS:虚拟服务器:工作在传输层
                
    1.基本概念:
        (1)LVS组成
            内核空间:IPVS框架
            用户空间:ipvsadm命令

        (2)LVS集群组成
    
            前端:负载均衡层
                一台或多台负载调度器构成
    
            中间:服务器群组层
                实际运行的应用服务器组成
    
            底端:数据共享存储层(每个服务器项目更新)--nfs服务
                提供共享存储空间的存储区域
        (3)术语:
            1)调度器:LVS服务器
            2)真实服务器Real Server:提供服务的服务器
    
            3)VIP:虚拟地址,外提供的IP地址,客户端通过这个IP地址访问LVS集群
            4)DIP:指定地址,将请求转发给后端真实服务器时所使用的地址
            5)RIP:真实地址,后端真实服务器的IP地址

        (4)LVS的工作模式:
            NAT:网络地址转换,公私网转换
            DR:路由模式
            TUN:隧道模式

        (5)LVS与nginx反向代理区别:
            1)LVS适用于高并发
            2)nginx具有健康检查,功能全面一些,LVS没有
            3)不能持久化规则,关机后失效

        (6)补充相关命令

            1)开机不启动
            nmcli connection modify "System eth0" ipv4.method disabled autoconnect no
            
            2)禁用相关网卡的命令
                nmcli connection down "System eth0"

            3)允许数据跨网口转发
                cat  /proc/sys/net/ipv4/ip_forward  -->1
                88.10-->99.5-->99.100-->99.200:可以ping通


三.LVS-NAT工作模式简介
        
    1.概念:LVS-NAT模式是一种负载均衡技术


    2.工作原理

        客户端请求(VIP)-->负载均衡服务器(修改源和目地IP)(DIP)-->真实业务服务器(RIP)
         客户端请求(VIP)<--负载均衡服务器(修改源和目地IP)(DIP)<--真实业务服务器(RIP)
            
    在LVS-NAT模式下,负载均衡器充当客户端和真实服务器之间的中介。当客户端发送请求到负载均衡器的虚拟IP地址(VIP)时,负载均衡器会根据预设的负载均衡算法选择一个真实的后端服务器来处理该请求。

    然后,负载均衡器将请求的数据包的源地址修改为自身的IP地址,目标地址修改为选定的真实服务器的IP地址,并将修改后的数据包发送给真实服务器。

    真实服务器处理请求后,将响应返回给负载均衡器。负载均衡器再将响应的数据包的源地址修改为虚拟IP地址,目标地址修改为客户端的IP地址,并将修改后的响应数据包发送给客户端。
        

    3.实验环境准备
            (1) 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

            (2)搭建ansible环境

            (3)web1,web2安装nginx服务器


    4.LVS-NAT虚拟服务器搭建:
            (1)装ipvsadm包
            (2)配置内核参数开启路由转发功能
            (3)搭建lvs-nat模式


            (1)配置内核参数开启路由转发功能,lvs调度服务器/etc/sysctl.conf

            开启路由转发功能内核参数设置:net.ipv4.ip_forward=1
                net.ipv4.ip_forward=1:
                    这意味着Linux系统可以作为路由器,将接收到的IP数据包根据目标IP地址的路由信息转发到合适的接口,以便数据包能够到达目标主机。
                直接设置 echo 1 >  /proc/sys/net/ipv4/ip_forward  -->1(临时)

                内核参数配置文件:/etc/sysctl.conf,设置参数net.ipv4.ip_forward=1(永久)
                刷新配置文件:"sysctl -p"

                ---
                - name: config sysctl
                  hosts: lbs
                  tasks:
                    - name: modify kernel args          #持久开启Linux路由转发功能
                      sysctl:
                        name: net.ipv4.ip_forward
                        value: '1'
                        sysctl_set: true                #立即生效
                        sysctl_file: /etc/sysctl.conf   #写入的文件
                      notify: flush args
                  handlers:
                    - name: flush args                  
                      shell: "sysctl -p"            #刷新sysctl.conf文件

            (2)装ipvsadm包:
                利用ansible给lvs1安装ipvsadm包(提供用户命令行下的操作接口)

                # ipvsadm命令常用选项
                    -A: 添加虚拟服务器
                    -C: 删除所有虚拟服务器
                    -D: 删除虚拟服务器
                    -E: 编辑虚拟服务器
                    -s: 指定调度算法。
                    如轮询rr(Round Robin)
                    加权轮询wrr
                    最少连接lc:并将新的请求调度到连接数最少的服务器上
                    加权最少连接wlc


                    -a tu rw mg:
                    -a: 向"添加"的虚拟服务器中加入真实服务器
                    -t: 添加tcp服务器, -u: 添加udp服务器
                    -r: 指定真实服务器地址
                    -w: 设置权重

                    -m: 指定工作模式为NAT
                    -g: 指定工作模式为DR
                    
                   
            (3)搭建lvs-nat模式
                [root@lvs1 ~]# ipvsadm -A -t 192.168.88.5:80 -s rr
                [root@lvs1 ~]# ipvsadm -a -t 192.168.88.5:80 -r 192.168.99.100:80 -w 1 -m   
                [root@lvs1 ~]# ipvsadm -a -t 192.168.88.5:80 -r 192.168.99.200:80 -w 2 -m
                [root@lvs1 ~]# ipvsadm -Ln      #查看虚拟主机列表
            

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com