SLB(Server Load Balancing 服务器负载均衡)

摘要:
负载均衡的2种算法:WRR:使用加权轮询算法分配连接;WLC:通过一定的权值,将下一个连接分配给活动连接数少的服务器。SLB的2种模式:Dispatch:运行SLB的路由器收到用户计算机发来的数据包后,路由器会把数据包按照负载均衡算法分派不同的真实服务器上,不会改变数据包中的目的IP地址。实验R3和R4作为TelnetServer使用,R1作为测试用的计算机,在R2上配置SLB。②配置负载平衡时可以采用“roundrobin”轮询方式,也可以采用“leastconns”连接数最少的服务器。

简介
SLB(Server Load Balancing 服务器负载均衡)用于实现多个服务器之间的负载均衡。SLB虚拟出一个服务器,对用户呈现的就是这个虚拟的服务器。虚拟服务器代表的是多个真实服务器的群集,当客户端向虚拟服务器发起连接时,SLB通过某种均衡算法,转发到某真实服务器。
负载均衡的2种算法:
WRR(weighted round robin 加权循环调度算法):使用加权轮询算法分配连接;
WLC(weighted least connections 加权最小连接调度算法):通过一定的权值,将下一个连接分配给活动连接数少的服务器。

SLB的2种模式:
Dispatch(分派模式):运行SLB的路由器收到用户计算机发来的数据包后(其目的IP是虚拟服务器的IP地址),路由器会把数据包按照负载均衡算法分派不同的真实服务器上,不会改变数据包中的目的IP地址。真实服务器收到数据包中的目的IP地址是虚拟服务器的IP地址,此时服务器必须选择下面的一种做法,否则丢弃数据包:
①在真实服务器上添加环回口地址,并把地址设置为虚拟服务器的IP地址;
②添加第二个IP地址为虚拟服务器的IP地址。

SLB(Server Load Balancing 服务器负载均衡)第1张

Direct(定向模式):运行SLB的路由器,收到用户计算机发来的数据包后(其目的IP是虚拟服务器的IP地址),路由器会把数据包也按照负载均衡算法分派不同的真实服务器上,但是会把数据包中的目的IP地址改为真实服务器的IP地址。真实服务器收到的收据包中的目的IP地址是自己的IP地址,不会丢弃数据包。也就是说在这种模式下真是服务器并不需要知道虚拟服务器的存在。

SLB(Server Load Balancing 服务器负载均衡)第2张
实验
R3和R4作为Telnet Server使用,R1作为测试用的计算机,在R2上配置SLB。由于Cisco2821路由器不支持SLB,所以本实验使用的路由器为Cisco3640,IOS为“c-3640-jk9o3s-mz.124-12.bin”。

SLB(Server Load Balancing 服务器负载均衡)第3张

配置IP地址及路由:
R1(config)#int f0/0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#no sh
R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.2

R2(config)#int f0/0
R2(config-if)#ip add 192.168.1.2 255.255.255.0
R2(config)#int f1/0
R2(config-if)#ip add 1.1.1.2 255.255.255.0
R2(config-if)#no sh

R3(config)#int f0/0
R3(config-if)#ip add 1.1.1.3 255.0.0.0
R3(config-if)#no sh
R3(config)#int lo0
R3(config-if)#ip add 3.3.3.3 255.0.0.0
R3(config)#line vty 0 4
R3(config-line)#password cisco
R3(config-line)#login
R3(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.2

R4(config)#int f0/0
R4(config-if)#ip add 1.1.1.4 255.0.0.0
R4(config-if)#no sh
R4(config)#int lo0
R4(config-if)#ip add 4.4.4.4 255.0.0.0
R4(config)#line vty 0 4
R4(config-line)#password cisco
R4(config-line)#login
R4(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.2

配置分派模式的SLB:
R2(config)#ip slb serverfarm TELNET_SERVER//创建服务器组
R2(config-slb-sfarm)#real 1.1.1.3//其中的一个服务器是1.1.1.3
R2(config-slb-real)#weight 1//配置权重,SLB根据各服务器的权重计算承担的负载大小
R2(config-slb-real)#inservice//启用服务器
R2(config-slb-real)#faildetect//配置检测服务器的可用状态,如果服务器发生故障,SLB将不会把
流量转发到该服务器
R2(config-slb-sfarm)#real 1.1.1.4//另一个服务器是1.1.1.4
R2(config-slb-real)#weight 1
R2(config-slb-real)#inservice
R2(config-slb-real)#faildetect
R2(config-slb-real)#exit
R2(config-slb-sfarm)#predictor roundrobin//配置采用负载平衡的方式为轮询,即为默认方式
R2(config)#ip slb vserver V_TELNET_SERVER//创建虚拟的服务器
R2(config-slb-vserver)#virtual 1.1.1.100 tcp telnet//虚拟的是Telnet服务器,IP地址为1.1.1.100
R2(config-slb-vserver)#serverfarm TELNET_SERVER//使用前面创建的服务器组
R2(config-slb-vserver)#client 192.168.1.0 255.255.255.0//限定客户计算机的IP地址
R2(config-slb-vserver)#inservice//启用虚拟的服务器

R3(config)#int f0/0
R3(config-if)#ip add 1.1.1.100 255.255.255.0 secondary//真实服务器上增加虚拟服务器的IP地址

R4(config)#int f0/0
R4(config-if)#ip add 1.1.1.100 255.255.255.0 secondary
说明:
①在分派模式中,SLB路由器、真实服务器地址和虚拟服务器地址都要在同一子网中,并且是二层可达;本实验中为1.0.0.0/8网络,并且二层连通。
②配置负载平衡时可以采用“roundrobin”轮询方式,也可以采用“leastconns”连接数最少的服务器。
③创建虚拟服务器后,客户端计算机通过该虚拟IP地址来访问真实的服务器。
④采用分派模式时,服务器必须选择下面的一种做法,否则丢弃数据包:
1>在真实服务器上添加环回口地址,并把地址设置为虚拟服务器的IP地址:在R3和R4增加一个环回接口,环回口地址设为1.1.1.100即可,建议使用这种方法。
2>添加第二个IP地址为虚拟服务器的IP地址:因为R2(SLB服务器)会把目的IP为1.1.1.100的数据包分派到真实的服务器上,在接口下增加一个“secondary”地址即可;采用这种方式时,R3和R4会报“IP地址重复”的错误,但是这不影响使用。
实验调试
从R1上反复Telnet 1.1.1.100,检验是否会负载均衡:

SLB(Server Load Balancing 服务器负载均衡)第4张

R2#show ip slb conns//查看链接的基本信息

SLB(Server Load Balancing 服务器负载均衡)第5张

R2#showip slb conns detail//查看连接的详细信息

SLB(Server Load Balancing 服务器负载均衡)第6张

R2#show ip slb serverfarms//查看服务器组的基本信息

SLB(Server Load Balancing 服务器负载均衡)第7张

R2#show ip slb serverfarms detail//查看服务器组的详细信息

SLB(Server Load Balancing 服务器负载均衡)第8张

R2#show ip slb vservers//查看虚拟服务器的基本信息

SLB(Server Load Balancing 服务器负载均衡)第9张

R2#show ip slb vservers detail//查看虚拟服务器的详细信息

SLB(Server Load Balancing 服务器负载均衡)第10张

R2#show ip slb stats//显示SLB的统计数

SLB(Server Load Balancing 服务器负载均衡)第11张

配置定向模式的SLB:
R2(config)#ip route 3.0.0.0 255.0.0.0 1.1.1.3//添加路由保证R2能把数据包发到R3
R2(config)#ip route 4.0.0.0 255.0.0.0 1.1.1.4
R2(config)#ip slb serverfarm ANOTHER
R2(config-slb-sfarm)#nat server//配置SLB的模式为定向模式,默认为分派模式
R2(config-slb-sfarm)#real 3.3.3.3//配置真实服务器的IP地址,这里使用R3的环回口作为服务器的地址
R2(config-slb-real)#weight 1
R2(config-slb-real)#inservice
R2(config-slb-real)#faildetect
R2(config-slb-sfarm)#real 4.4.4.4
R2(config-slb-real)#weight 1
R2(config-slb-real)#inservice
R2(config-slb-real)#faildetect
R2(config-slb-real)#exit
R2(config-slb-sfarm)#predictor roundrobin
R2(config)#ip slb vserver V_ANOTHER
R2(config-slb-vserver)#virtual 172.16.1.100 tcp telnet//虚拟Telnet服务器的IP地址
R2(config-slb-vserver)#serverfarm ANOTHER
R2(config-slb-vserver)#client 192.168.1.0 255.255.255.0
R2(config-slb-vserver)#inservice
说明:
①在分派模式中,SLB路由器、真实服务器地址和虚拟服务器地址不需要在同一子网中。
②在定向模式中,路由器会更改客户计算机发来的数据包,把目的IP地址(试验中为172.16.1.100),改为真实服
务器的IP地址(实验中为3.3.3.3或4.4.4.4)。
实验调试
从R1上反复Telnet 1.1.1.100,检验是否会负载均衡:

SLB(Server Load Balancing 服务器负载均衡)第12张

R2#show ip slb serverfarms detail

SLB(Server Load Balancing 服务器负载均衡)第13张

R2#show ip slb conns

SLB(Server Load Balancing 服务器负载均衡)第14张
说明:在配置SLB时,真实服务器上的IP地址和路由是经常被忽视的地方,请根据分派或在定向模式中,SLB路由发送到真实服务器的数据包中的目的IP,以及真实服务器的回包中的目的IP地址,核实SLB路由和真实的服务器是否在相应的路由表。

免责声明:文章转载自《SLB(Server Load Balancing 服务器负载均衡)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Hikaricp源码解读(2)——配置介绍及对应源码Unity3D制作红色射线下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

创维电视加mac过滤后连不了wifi问题(路由器为TP-link)

一开始以为在电视上找到mac地址直接添加到路由器的mac过滤就好了,结果还是连不了wifi, 其原因是电视上找到的mac地址不是无线mac地址(可能是有线mac,没去求证),无线mac在电视上是找不到的,不过可以根据路由器上的“主机状态”里的数据大小来判断,方法如下: 一、首先确保没有其它大流量的终端连这个wifi,然后打开电视,看视频,让电视接收和发送的...

浏览器访问网页的详细内部过程(转)

我们来看当我们在浏览器输入http://www.mytest.com:81/mytest/index.html,幕后所发生的一切。 首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范。 1.连接 当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,...

路由器系统的内存储布局

FLash存储布局 RAW FLASH:闪存芯片直接连接到CPU上 FTL FLASH:闪存芯片通过其它芯片连接到CPU上 【】一般嵌入式系统中的芯片都是raw,因为都是直接连接到cpu上 【】存储分区由MTD与文件系统来控制,传统用MBR或PBR来控制,嵌入式设备中用linux kernel即内核来控制(有时候单独由bootloader来控制)。...

BGP 实验

一、环境准备 1. 软件:GNS3 2. 路由:c7200 二、实验操作 实验要求: 1、 掌握 BGP 的基本配置方法。 2、 掌握如何查看 BGP 的各种配置信息。 3、 掌握基于回环口的 BGP 的邻居关系建立的配置方法。 4、 理解需要使用回环口为目的。 5、 理解 BGP 同步功能的作用和配置。 6、 掌握使用指向 NULL0 接口的静态路由的...

LVS简介

负载均衡LVS(Linux Virtual Server)... 1 第1章 LVS负载均衡集群简介... 1 1.1 为什么要学LVS. 1 1.2 LVS网站资料:... 1 1.3 LVS内核模块ip_vs介绍... 1 第2章 LVS-DR直接路由模式... 2 2.1 DR直接路由模式说明... 2 2.1.1 DR-原理图片...

vue-router路由跳转,实现target: _blank,单独打开一个标签页

1,编程式路由跳转 let { href } = this.$router.resolve({ path: '/help-center' }) window.open(href, '_blank') 2,页面标签跳转 <div class="item-fore7 cur">注册即代表同意 <router-link ta...