赞
踩
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。
LVS的核心思想是将传入的网络流量分配到后端的多个真实服务器上。对于每个客户端请求,LVS会选择最适合该请求的服务器,并将其转发到该服务器。这样做可以提高系统的可伸缩性和负载均衡能力。
1、 DS:Director Server。指的是前端负载均衡器节点。
2、 RS:Real Server。后端真实的工作服务器。
3、 VIP:Visual Server IP,向外部直接面向用户请求,作为用户请求的目标的IP地址。
4、 DIP:Director Server IP,主要用于和内部主机通讯的IP地址。
5、 RIP:Real Server IP,后端服务器的IP地址。
6、 CIP:Client IP,访问客户端的IP地址
LVS有三种主要的负载均衡策略:IP隧道、NAT和直接路由。其中,IP隧道和NAT在LVS的工作方式方面比较相似,它们都需要LVS作为数据包的中间人来重定向流量。而直接路由则更加简单,因为它不需要对数据包进行操作或修改。
NAT(Network Address Translation,网络地址转换)是一种将私有网络地址转换为公网地址的技术。在互联网中,NAT允许多个设备使用同一个公共IP地址来访问互联网,通过在路由器或防火墙上配置NAT规则,将私有IP地址转换为公共IP地址,从而使局域网内的设备可以访问互联网,同时保护了局域网内的设备不受来自互联网的攻击。
DR(Direct Routing)模式通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变。在DR模式下,LVS负载均衡器只对客户端请求进行处理和响应,并将数据包直接转发到后端服务器。
LVS收到客户端请求,进行IP Tunnel封装,在原有的包头加上IP Tunnel的包头,然后发送给服务器,服务器根据Tunnel协议解开包头,得到真实客户端请求并进行处理,最终以VIP地址为源IP地址返回给客户端
以DR模型为例
node01配置DIP(eth0:1网卡)
ifconfig eth0:8 192.168.150.100/24
修改node02~node03内核,并配置VIP(lo虚拟网卡)
#1)修改内核:
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
#2)设置隐藏的vip:
ifconfig lo:3 192.168.150.100 netmask 255.255.255.255
node02~node03安装http服务并初始化页面
# 1)安装httpd服务
yum install httpd -y
# 2)启动http服务
service httpd start
# 3)编辑index.html
vi /var/www/html/index.html
# 4)页面内容,:wq 保存退出
from node02
node01安装ipvsadm
yum install ipvsadm
node01配置入口
#TCP协议 入口地址 指定调度算法,这里是轮询调度(Round Robin)算法
ipvsadm -A -t 192.168.150.100:80 -s rr
node01配置出口
#TCP协议 映射入口和出口地址 -g表示开启网关模式,-w 1表示设置权重值为1
ipvsadm -a -t 192.168.150.100:80 -r 192.168.150.12 -g -w 1
ipvsadm -a -t 192.168.150.100:80 -r 192.168.150.13 -g -w 1
查看配置的负载规则
#查看配置的负载规则
ipvsadm -ln
#查看负载均衡记录(访问了请求之后的偷窥记录本)
ipvsadm -lnc
#查看socket连接状态,node01看不到socket连接,node02~node03有很多socket连接
netstat -natp
整体拓扑图如下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。