LVS简介
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。
工作在OSI第四层中,在服务器承受不了业务需求量的时候,使用均衡负载的方式来使服务器能够给用户正常提供服务。
lvs工作流程:
当用户发起请求时,lvs 调度器先将请求接收,调度器会根据收到请求的服务和根据自己预设的工作模式和算法来判断哪台服务器的负载较低,
然后将此条请求转发给负载较低提供服务的服务器,由这台提供服务的服务器来处理此条请求,最后提供服务的服务器根据预设的工作模式来
决定资源返回给客户端的方式。
LVS 的四种工作模式原理简介及优缺点
##NAT
特点
1.RIP和DIP必须在同一个Ip网络中,且应使用私网地址,RS的网关要指向DIP;
2.请求报文和响应报文必须经由Director转发;
3.支持端口映射,可修改请求报文的目标端口;
4.director必须为Linux系统,RS可以为任意系统;
工作的流程
如上图所示
首先客户端向VIP发送请求,报文首部为①,director收到请求后通过预设的算法来判断将请求转发给哪一台RS并且将报文首部修改为②,请求
通过DIP转发到RIP,服务器返回资源时,报文首部为③,资源通过RIP转发到DIP,director收到资源后将报文首部修改为④,最后通过VIP返回
到CIP客户端。
DR模式(默认模式)
特点
1 dr模式通过修改请求报文的目标MAC地址进行转发
2 director要配置VIP和DIP
3 所有的RS都要配置RIP和VIP
4 RIP可以使用私有地址,也可以使用公网地址
5 RS跟director必须在同一个物理网络中,中间不能有路由器相隔
6 请求报文经过director,并且由director调度,但响应报文一定不能经过director
7 因为响应报文不经过director,所以不支持端口映射
8 因为响应报文不经过director,所以RS网关不能指向DIP
9 RS可以是大多数OS
工作流程如下
如上图所示
首先客户端向VIP发送请求,报文首部为①,因为RS的VIP都限制了arp包的回应和通告并且VIP是配置到lo网卡上,所以客户端发送的请求一定是发送到director,director收到请求后通过预设的算法来判断将请求转发给哪一台RS并且将报文首部修改为②,由MAC地址来判断由哪台服务器提供服务,RS收到请求后,通过lo网卡上的VIP将资源返回给客户端,报文首部为③。
TUN
特点
1 不修改请求报文的ip首部,而是在原有的ip首部再封装一个ip首部。
2 RIP、DIP、VIP必须是公网地址。
3 RS的网关不是指向DIP(因为响应报文是不通过director的)。
4 请求报文必须经过director,且由director调度,但响应报文不能经过director。
5 不支持端口映射(因为响应报文是不通过director的)。
6 RS的OS必须支持隧道功能(因为要解封装ip首部两次,若不支持则不能识别tun模式的文首部)。
工作流程如下
如上图:客户端将请求发送给VIP,报文首部为①,因为RIP是公网地址,而VIP是配置再lo网卡上,客户端从公网
访问是找不到RS的VIP的,所以客户端发送的请求一定是发送到director,director收到请求后通过预设的算法来判
断将请求转发给哪一台RS并且将报文首部再封装一层报文首部,此时报文首部修改成②,通过外面一层报文首部
访问到RS,RS收到请求后,再解封装内层报文首部得知,是客户端通过CIP到director的VIP来访问的,于是通过
lo网卡的VIP和客户端的CIP来封装报文首部,并且将资源返回给客户端,报文首部为③
fullnat
特点
1 director通过同时修改请求报文的目标地址和源地址进行转发。
2 VIP是公网地址,RIP和DIP是私网地址,RIP与DIP无须在用一个网络中。
3 RS接收到请求报文的源地址为DIP,因此要响应给DIP。
4 请求报文和响应报文都必须经过director。
5 支持端口映射。
6 RS可以使用任意OS
工作流程
如上图:客户端通过CIP将请求发送给director的VIP,报文首部为①,director收到请求后通过预设的算法来判断将请求转发给哪一台RS,
因为RIP和DIP不在同一个网络中,需要经过路由器,所以报文首部为②,RS收到请求后,返回资源时,因为中间需要经过路由器,所以报文首
部为③,最后又director将资源返回给客户端,报文首部为④。
LVS的配置方法
nat模式