坪地网站建设教程,免费做h5的网站有哪些,百度地图的精准定位功能,网站建设四川背景#xff1a;业务中主要是TCP/SSL连接#xff0c;要做四层负载均衡。 之前做负载均衡#xff0c;调研了nginx#xff08;见之前的nginx实现后端服务负载均衡和nginx负载均衡监测后台服务状态#xff09;。 nginx作为一个应用#xff0c;做四层负载均衡效率低。lvs是li… 背景业务中主要是TCP/SSL连接要做四层负载均衡。 之前做负载均衡调研了nginx见之前的nginx实现后端服务负载均衡和nginx负载均衡监测后台服务状态。 nginx作为一个应用做四层负载均衡效率低。lvs是linux内核的非应用用它做四层负载均衡效率更高更合适。所以会见到lvsnginx做四层七层负载均衡这种组合。 一、集群
一般我们遇到的 负载均衡集群 高可用集群 和分布式的区别 集群是一群机器做同样的事情分布式是不同的机器负责不同的事情 二、负载均衡
常用的软件负载均衡 lvs 四层 nginxtengine七层 haproxy
硬件也有不展开了。
三、LVS
1 应用方式
类似于nginx的应用方式。客户请求流量先到达lvs再由lvs做负载均衡。 举例一台linux服务器启用lvs实现负载均衡的作用其他的是业务服务器RS。 我们主要在lvs服务器上面做配置。业务服务器可能会有额外的配置除了ip如何配置取决于lvs的负载均衡方式比如下面会介绍 在lvs上开启ipvs配置ip、RS地址、负载均衡方式。 业务服务器配置ip
2 负载均衡模式
为了描述定义
名称简写客户的ipCIPlvs服务器对外的IPVIPlvs服务器真实的IPDIP业务服务器的IPRIPlvs服务器DS
请求Request流量都要经过DS数据包的源地址一定是CIP 响应Response流量根据经过和不经过DS分为两类
响应流量经过DS的两种模式
都是lvs做nat转换区别在于究竟NAT了什么部分 NAT 请求包数据包源地址不变NAT目的地址响应包NAT请求地址 请求 DS接收的数据包源地址CIP 目的地址VIP 发送给RS的数据包源地址CIP 目的地址RIP 响应 DS接收的数据包源地址RIP 目的地址CIP 发送给客户的数据包源地址VIP 目的地址CIP
Full-NAT不常用 请求包和相应包数据包源地址、目的地址都NAT 请求 DS接收的数据包源地址CIP 目的地址VIP 发送给RS的数据包源地址DIP 目的地址RIP 响应 DS接收的数据包源地址RIP 目的地址DIP 发送给客户的数据包源地址VIP 目的地址CIP
响应流量不经过DS的两种模式
需要改变业务服务器的配置 业务服务器也都配置虚拟IP为VIP。
直接路由DR 业务服务器要关闭对arp请求的响应。 有两种做法分别见参考1和2 1.绑定vip之后配置忽略arp广播 ip addr add dev lo 192.168.246.160/32 #在lo接口上绑定VIP echo 1 /proc/sys/net/ipv4/conf/all/arp_ignore #忽略arp广播 echo 2 /proc/sys/net/ipv4/conf/all/arp_announce #匹配精确ip地址回包 2.创建一个dummy网卡 ip addr add dev dummy0 192.168.0.222/32 DS通过改变数据包的mac地址将流量发给RS。 请求 DS接收的数据包源地址CIP 目的地址VIP 数据帧目的MAC地址DS的MAC地址 发送给RS的数据包源地址CIP 目的地址VIP 数据帧目的MAC地址RS的MAC地址
响应RS直接发给客户 RS发送的数据包源地址VIP 目的地址CIP
IP隧道 IP tunnel不常用 RS需要支持ipip协议必须加载ipip模块解封装数据包来获得原始包。 集群服务器如果是虚拟机那么其物理机器上不能有ipip隧道设备
DS通过将原请求数据包在封装一层发给RS。RS解封装得原数据包直接回复响应给客户。
请求 DS接收的数据包源地址CIP 目的地址VIP 发送给RS的数据包源地址DIP 目的地址RIP 载荷内容接收的数据包
响应RS直接发给客户 RS发送的数据包源地址VIP 目的地址CIP
特性比较
负载 响应过lvs可能是瓶颈所以大流量的情况下考虑响应不过lvs的两种。 服务器结点数目 NAT 10-20 IP tunnel 100 DR 100
网络配置要求 NAT 模式 和 Full-NAT模式只需要DS一个有公网ip作为VIPRS和DS三层可达。 DR模式只需要一个有公网ip作为VIP要求负载均衡器的网卡必须与物理网卡在一个物理段上 IP tunnel模式只需要一个有公网ip作为VIPRS需要支持IPTUNNEL协议
网关 NAT DS DR和IP tunnel自己的路由器
RS网络和DS的关系 NAT局域网与外部网络 DRDS和RS在同一个子网RS也配置VIP IP tunnelDS和RS可以不在一个子网
DS和RS的端口对应关系 NAT模式下这两个端口可以不相同DS会做好转换 DR模式下因为不会对传输层做修改所以这两个端口必须相同
3 原理
ipvs
工作在内核处理请求转发。 how “IPVS通过在Netfilter框架中的不同位置注册自己的处理函数来捕获数据包并根据与IPVS相关的信息表对数据包进行处理按照IPVS规则中定义的不同的包转发模式对数据包进行不同的转发处理。”
IPVS相关的信息表用户维护 包转发模式负载均衡模式
八种负载均衡算法
管理工具ipvsadm
命令行工具用户空间 向IPVS中写入规则
一些命令
// 添加vip
ip addr add dev ens33 192.168.1.10/32// 添加一个虚拟服务器
ipvsadm -A -t 192.168.1.10:80 -s rr-Aappend添加一个虚拟服务器 -ttcp-service对tcp协议作转发 -sschduler均衡算法 rrround robin将工作平均分配给可用的真实服务器的算法
// 添加后端服务器
ipvsadm -a -t 192.168.1.10:80 -r 192.168.1.101:80 -g -w 1-aappend添加一个后端真实服务器 -ttcp-service转发tcp协议 -rreal-server后端真实服务器地址 -wweight权重 -gDirect Routing默认模式也成网关模式gatewaying -mNAT也称作伪装模式masquerading。 -iIP Tunneling也称作 ipip 封包模式ipip encapsulation
四、其他
LVS双机热备方案如 LVS Keepalived
参考
负载均衡四层 LVS看完就能去上班《一篇搞懂》系列之二——IPVSLVS负载均衡高可用解决方案