如何部署LVS负载均衡集群(NAT模式)

目录

一、集群

负载均衡集群(Load Balance Cluster)

高可用集群(High Availability Cluster)

高性能运算集群(High Performance Computer Cluster)

二、负载均衡工作模式

VIP地址特性(虚拟IP地址)

VIP地址的好处

NAT模式(地址转换)

数据流向

TUN模式(IP隧道)

DR模式(直接路由)

DR模式特点

优点与缺点

优点

缺点

三、内核态与用户态

内核态

用户态

内核态与用户态的区别

内核态的特点

用户态的特点

四、LVS主要作用

LVS与Nginx比较

LVS负载调度算法

轮询(Round Robin)

加权轮询(Weighted Round Robin)

最少连接(Last Connections)

加权最少连接(Weighted Least Connections)

五、ipvsadm工具

ipvsadm工具选项

六、LVS-NAT模式部署

第一步 关闭防火墙安全机制

第二步 安装依赖环境 

第三步  开启服务

第四步 创建共享目录

第五步 给目录文件赋权

第六步 设置共享配置文件

第七步 发布共享目录并查看

第八步 配置第二台虚拟机

第九步 安装HTTP服务

第十步  开启HTTP服务

第十一步 安装共享依赖环境

第十二步 按顺序开启服务

第十三步 测试查看共享地址

第十四步 创建网页执行文件

第十五步 创建永久挂载

第十六步 查看挂载是否成功

第十七步 部署第三台虚拟机

第十八步 安装相同的服务

第十九步 创建网页执行文件

第二十步 创建永久挂载

第二十一步 查看挂载

第二十二步 查看指定地址共享

第二十三步 部署第四台虚拟机

第二十四步 配置SNAT转发规则

第二十五步 测试配置内容

第二十六步 清除防火墙策略

第二十七步 检查一下防火墙策略

第二十八步 设置防火墙策略

第二十九步  加载IP_VS模块

第三十步 安装ipvsadm工具

第三十一步 修改虚拟机设置

第三十二步 修改网络编辑器

第三十三步 创建网卡

第三十四步 修改网卡配置文件

第三十五步 查看网卡信息

第三十六步 设置ipvsadm策略

第三十七步 保存分配策略

第三十八步 启动策略

第三十九步 修改Win系统的IPv4地址协议

第四十步 修改Web节点服务器的网关指向

第四十一步 两台Web服务重启网卡

第四十二步 修改Win系统虚拟机的网络适配器

第四十三步 用浏览器进行访问测试


一、集群

集群是由多台主机沟工程,但是对外只表现为一个整体,只提供一个访问入口(域名或者IP地址)

普通的服务器构建服务器集群

通过整合多台服务器,使用LVS来达到服务器的高可用和负载均衡,并以同一个IP地址对外提供相同的服务,常用的一种群集技术LVS(Linux虚拟服务器,Linux Virtual Server)

负载均衡集群(Load Balance Cluster)

提高应用系统的相应能力,尽可能处理更多的访问请求,减少延迟,获得更高的高并发,高负载(LB)的整体性能,LB的负载分配依赖于主节点的分流算法

高可用集群(High Availability Cluster)

提高应用系统的可靠性,尽可能的减少终端时间为目标,确保服务的连续性,达到高可用(HA)的容错效果,HA的工作方式包括双工和主从的两种工作模式

高性能运算集群(High Performance Computer Cluster)

提高应用系统的CPU运算速度,扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力

高性能依赖于 “ 分布式运算 ”  、“ 并行运算 ” 通过专用硬件和软件将多个服务器的CPU和内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力

二、负载均衡工作模式

VIP地址特性(虚拟IP地址)

只会存在于同一个热备组中优先级最高的设备上,以上是抢占模式

VIP地址的好处

VIP地址常规情况下占用一个IPv4地址,VIP占用的IPv4地址也是不可重复的,VRRP解决单点故障的问题,采用高可用的解决方案

NAT模式(地址转换)

Network Address Translation 简称为NAT模式,类似于防火墙的私有网络结构,负载均衡器作为客户机的访问入口,也是各节点回应客户机的访问出口

服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式

数据流向

① 客户端发送请求,这时目的IP为虚拟IP(LVS设置的外网地址)所以请求数据包进入负载调度器(调度服务器)

② 由于服务器通过netfilter框架来管理网络数据,数据包会被系统设置好的策略分配到PREROUTING规则链中

③ 进入规则链后,判断是否目标IP为本机,如果是本机则转入INPUT规则链

④ 在INPUT中LVS的ipvsadm分配策略,通过调度算法,将数据包中的目的IP修改为Web服务器中的RIP(真实IP地址)

⑤ 修改后的数据包再转入POSTROUTING,再进由路由转发到真实服务器当中

⑥ 真实服务器从共享存储当中寻找数据,处理请求内容,然后由于同一网段,便直接发回调度器处理的结果

⑦数据回到调度器,再通过判断一层层转发,最后进入网络,再反馈给客户端

如何部署LVS负载均衡集群(NAT模式)_第1张图片

TUN模式(IP隧道)

IP Tunnel 简称为TUN模式,采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器

服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用的IP隧道与负载调度器相互通信

如何部署LVS负载均衡集群(NAT模式)_第2张图片

DR模式(直接路由)

Direct Routing 简称为DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但是各节点并不是分散在各地,而是与调度器位于同一个物理网络

负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道

DR模式特点

① 负载调度器和真实服务器必须在同一个物理网络当中,工作在第二层数据链路层

② 真实服务器可用私有地址,也可用公有地址,可通过互联网对RIP(真实IP地址)进行直接访问

③ 负载调度器作为集群访问入口,但不作为网关使用

④ 所有请求报文经由负载调度器,但回复响应报文不能经过负载调度器

⑤ 真实服务器网关不允许指向负载调度器的IP地址,真实服务器发送的数据包不允许经过负载调度器

⑥ 真实服务器上的LO接口配置VIP的IP地址(虚拟IP地址)

优点与缺点

优点

负载均衡服务器只负责将请求的包分发给物理服务器,而物理服务器将应答包直接发送给用户,所以负载均衡器可以处理很巨大的请求量,使用这种方式

缺点

这种方式需要所有的负载均衡和节点服务器都在同一广播,不支持异地容灾

如何部署LVS负载均衡集群(NAT模式)_第3张图片

LVS基于内核进行转发,已经成为Linux内核的一部分,默认编译为 ip_vs 模块,必要时能够自动调用,在CentOS 7中,可以手动加载 ip_vs 模块,并查看 ip_vs 的版本信息,工作在内核态当中,基于内核态的netfilter框架实现IPVS功能,用户配置VIP等相关详细信息并且传递到IPVS,需要用到额外安装的ipvsadm工具

三、内核态与用户态

内核态

也叫内核空间,是内核进程/线程所在的区域,主要负责运行系统和硬件的交互

如何部署LVS负载均衡集群(NAT模式)_第4张图片

用户态

也叫用户空间,是用户进程/线程所在的区域,主要用于执行用户程序

如何部署LVS负载均衡集群(NAT模式)_第5张图片

内核态与用户态的区别

内核态的特点

运行的代码不受任何限制,CPU可以直接执行任何指令,速度也很快

用户态的特点

运行代码需要收到CPU的很多检查和过滤,不能直接访问内核数据和程序,也就是说不可以像内核线程一样访问任何有效的地址

操作系统在执行用户程序时,主要工作在用户态,只有在其执行没有权限的任务操作时,会自动切换到内核态

如何部署LVS负载均衡集群(NAT模式)_第6张图片

四、LVS主要作用

① 主要作用于多服务器的负载均衡

② 工作在网络层,可以实现高性能、高可用集群技术

③ 廉价,可以把许多低性能服务器组合在一起形成一个超级服务器

④ 易用,配置简单,有多重负载均衡的方法

⑤ 稳定可靠,即使集群中某台服务器无法正常工作,也不影响整体

⑥ 可扩展性好

LVS与Nginx比较

① LVS比nginx具有更强的抗负载能力,性能高,对内存和CPU资源消耗低

② LVS工作在网络层,网络依赖性大,稳定性高,Nginx安装配置比较简单,网络依赖性小

③ LVS不支持正则匹配处理,无法实现动静分离效果,Nginx可以实现

④ LVS适用的协议范围广,Nginx只支持HTTP、HTTPS和E-Mail协议,使用范围小

LVS负载调度算法

轮询(Round Robin)

将收到的访问请求按照顺序轮流分配给集群中的各个节点(真实服务器)均匀分摊给每个服务器,不管服务器实际连接数量和系统负载

如何部署LVS负载均衡集群(NAT模式)_第7张图片

加权轮询(Weighted Round Robin)

根据设置权重来分配请求,值越高的节点,优先获得任务,分配到的请求数量也越多,保证性能强的服务器承担更多的访问量

如何部署LVS负载均衡集群(NAT模式)_第8张图片

最少连接(Last Connections)

根据真实服务器已建立的连接数进行分配,将收到的请求优先分配给当前连接最少的节点

如何部署LVS负载均衡集群(NAT模式)_第9张图片

加权最少连接(Weighted Least Connections)

当服务器性能差异较大时,可以为真实服务器自动调整权重,性能较高的节点将承担更大比例的活动连接负载

如何部署LVS负载均衡集群(NAT模式)_第10张图片

五、ipvsadm工具

使用ipvsadm工具可以实现虚拟服务器创建,并指定LVS负载调度算法方式,指定VIP(虚拟地址)和RIP(真实地址),指定负载均衡的集群工作模式(NAT模式,DR模式,TUN模式)

ipvsadm工具选项

-A   #添加虚拟服务器

-D   #删除整个虚拟服务器

-s   #指定负载调度算法(rr轮询,wrr加权轮询,lc最少连接,wlc加权最少连接)

-a   #表示添加真实服务器(节点服务器)

-d   #删除某一个指定节点

-t    #指定VIP地址以及TCP端口

-r    #指定RIP地址以及TCP端口

-m   #表示使用NAT模式

-g   #表示使用DR模式

-i    #表示使用TUN模式

-w   #设置权重(权重为0时,表示暂停节点)

-p   [时间]    #表示保持长连接指定时间(秒)

-l    #列表查看LVS虚拟服务器(默认查看所有)

-n   #以数字形式显示地址、端口等信息,常与 -l 结合使用,例如 -ln

六、LVS-NAT模式部署

第一步 关闭防火墙安全机制

命令:systemctl stop firewalld

setenforce 0

第二步 安装依赖环境 

命令:yum -y install nfs-utils rpcbind

如何部署LVS负载均衡集群(NAT模式)_第11张图片

第三步  开启服务

命令:systemctl start rpcbind

systemctl start nfs

如何部署LVS负载均衡集群(NAT模式)_第12张图片

第四步 创建共享目录

命令:mkdir /opt/[名字]  /opt/[名字]

如何部署LVS负载均衡集群(NAT模式)_第13张图片

第五步 给目录文件赋权

命令:chmod 777 /opt/名称  /opt/名称

第六步 设置共享配置文件

命令:vim /etc/exports

如何部署LVS负载均衡集群(NAT模式)_第14张图片

第七步 发布共享目录并查看

命令:exportfs -rv

showmount -e

如何部署LVS负载均衡集群(NAT模式)_第15张图片

第八步 配置第二台虚拟机

如何部署LVS负载均衡集群(NAT模式)_第16张图片

第九步 安装HTTP服务

命令:yum -y install httpd

如何部署LVS负载均衡集群(NAT模式)_第17张图片

第十步  开启HTTP服务

命令:systemctl start httpd

systemctl enable httpd

如何部署LVS负载均衡集群(NAT模式)_第18张图片

第十一步 安装共享依赖环境

命令:yum -y install rpcbind nfs-utils

如何部署LVS负载均衡集群(NAT模式)_第19张图片

第十二步 按顺序开启服务

命令:systemctl start nfs

systemctl enable nfs

systemctl start rpcbind

systemctl enable rpcbind

如何部署LVS负载均衡集群(NAT模式)_第20张图片

第十三步 测试查看共享地址

命令:showmount -e 192.168.8.100

如何部署LVS负载均衡集群(NAT模式)_第21张图片

第十四步 创建网页执行文件

命令:echo “内容” > /var/www/html/index.html

第十五步 创建永久挂载

命令:vim /etc/fstab

如何部署LVS负载均衡集群(NAT模式)_第22张图片

第十六步 查看挂载是否成功

命令:mount -a    #先刷新挂载

df -h

如何部署LVS负载均衡集群(NAT模式)_第23张图片

第十七步 部署第三台虚拟机

如何部署LVS负载均衡集群(NAT模式)_第24张图片

第十八步 安装相同的服务

命令:yum -y install nfs-utils rpcbind httpd

如何部署LVS负载均衡集群(NAT模式)_第25张图片

第十九步 创建网页执行文件

命令:echo "内容" > /var/www/html/index.html

第二十步 创建永久挂载

命令:vim /etc/fstab

如何部署LVS负载均衡集群(NAT模式)_第26张图片

第二十一步 查看挂载

命令:mount -a   #刷新挂载

df -h

如何部署LVS负载均衡集群(NAT模式)_第27张图片

第二十二步 查看指定地址共享

命令:showmount -e [IP地址]

如何部署LVS负载均衡集群(NAT模式)_第28张图片

第二十三步 部署第四台虚拟机

如何部署LVS负载均衡集群(NAT模式)_第29张图片

第二十四步 配置SNAT转发规则

命令:vim /etc/sysctl.conf

如何部署LVS负载均衡集群(NAT模式)_第30张图片

第二十五步 测试配置内容

命令:sysctl -p

第二十六步 清除防火墙策略

命令:iptables -F

第二十七步 检查一下防火墙策略

命令:iptables -t nat -nL

如何部署LVS负载均衡集群(NAT模式)_第31张图片

第二十八步 设置防火墙策略

命令:iptables -t nat -A POSTROUTING -s [IP地址] -o ens36 -j SNAT --to--source 10.0.0.1

第二十九步  加载IP_VS模块

命令:modprobe ip_vs

如何部署LVS负载均衡集群(NAT模式)_第32张图片

第三十步 安装ipvsadm工具

命令:yum -y install ipvsadm

第三十一步 修改虚拟机设置

如何部署LVS负载均衡集群(NAT模式)_第33张图片

第三十二步 修改网络编辑器

如何部署LVS负载均衡集群(NAT模式)_第34张图片

如何部署LVS负载均衡集群(NAT模式)_第35张图片

如何部署LVS负载均衡集群(NAT模式)_第36张图片

如何部署LVS负载均衡集群(NAT模式)_第37张图片

如何部署LVS负载均衡集群(NAT模式)_第38张图片

第三十三步 创建网卡

命令:cp ifcfg-ens33 ifcfg-ens36

第三十四步 修改网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens36

如何部署LVS负载均衡集群(NAT模式)_第39张图片

第三十五步 查看网卡信息

命令:ifconfig

如何部署LVS负载均衡集群(NAT模式)_第40张图片

第三十六步 设置ipvsadm策略

命令:ipvsadm -C

ipvsadm -A -t 10.0.0.1:80 -s rr

ipvsadm -a -t 10.0.0.1:80 -r 192.168.8.200:80 -m -w 1

ipvsadm -a -t 10.0.0.1:80 -r 192.168.8.130:80 -m -w 1

如何部署LVS负载均衡集群(NAT模式)_第41张图片

第三十七步 保存分配策略

命令:ipvsadm-save

第三十八步 启动策略

命令:ipvsadm

如何部署LVS负载均衡集群(NAT模式)_第42张图片

第三十九步 修改Win系统的IPv4地址协议

如何部署LVS负载均衡集群(NAT模式)_第43张图片

第四十步 修改Web节点服务器的网关指向

网关指向调度器的RIP地址

如何部署LVS负载均衡集群(NAT模式)_第44张图片

如何部署LVS负载均衡集群(NAT模式)_第45张图片

第四十一步 两台Web服务重启网卡

命令:systemctl restart network

第四十二步 修改Win系统虚拟机的网络适配器

如何部署LVS负载均衡集群(NAT模式)_第46张图片

第四十三步 用浏览器进行访问测试

如何部署LVS负载均衡集群(NAT模式)_第47张图片

如何部署LVS负载均衡集群(NAT模式)_第48张图片

你可能感兴趣的:(lvs,负载均衡,运维)