1.Linux Virtual Server 2.章文嵩博士主导的开源的负载均衡项目 3.LVS(ipvs)已被集成到Linux内核中
LVS官网地址:传送门
1.LVS基于四层,工作效率高 2.单个 Nginx 承受不了压力,需要集群 3.LVS 充当 Nginx 集群的调度者 4.Nginx 接受请求来回,LVS 可以只接受不响应
当浏览器发送请求时通过nginx进行分配到对应的服务器,当有结果返回也会通过nginx返回给浏览器 当浏览器发送请求时通过LVS进行分配到对应的服务器,当有结果返回不会通过LVS返回给浏览器而是他们通过服务器集群直接返回给浏览器LVS的负载均衡也是通过虚拟IP来实现的和之前介绍的keepalived一致1.NAT模式:浏览器请求通过虚拟IP发送给LVS进行处理,响应数据也是通过LVS返回的(LVS的IP会暴露在公网,服务器的IP是在私网) 2.TUN模式:浏览器发送的请求还是通过虚拟IP发送个LVS发送给对应的服务器,之后端服务器响应的数据是集群中的服务器会直接返回给浏览器(前提:每个节点都需要配置一个网卡,也会将我们后台服务器的IP暴露在公网) 3.DR模式:浏览器发送的请求还是通过虚拟IP发送个LVS发送给对应的服务器,之后端服务器的响应的数据是通过统一的路由返回给浏览器,避免我们的后端服务器IP暴露在公网IP上,路由也有一个对应的虚拟IP
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)
现如今的centos都是集成了LVS,所以 ipvs 是自带的,相当于苹果手机自带ios,我们只需要 ipvsadm 即可(ipvsadmm是管理集群的工具,通过ipvs可以管理集群,查看集群操作),命令如下
yum install ipvsadm
安装成功后,可以检测下:
ipvsadm -Ln