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

CiscoIOS SLB在多台服务器之间智能地均衡TCP/IP流量,Cisco IOS SLB是一种第4层或第7层交换功能。

 

CiscoIOS SLB提供单个虚拟服务器IP地址,客户向该IP地址发送IP请求,交换机在一系列服务器之间分配这些请求。

 

CiscoIOS SLB具有一下优点:

  1. 1.    通过在服务器群集之间分配客户请求获得较高的性能;

  2. 2.    管理服务器应用程序的工作更容易,客户只知道虚拟ip地址,实际ip地址发生变化时不会影响客户端;

  3. 3.    其地址不会被通告到外部网络,所以可以保护实际服务器;

  4. 4.    可以透明地添加和拆除实际服务器,让其他服务器处理客户请求,从而避免宕机时间;

  5. 5.    交换机发现服务器没有响应后,不再将请求转发给他,直到他对交换机的轮询做出响应为止;

 

SLB虚拟服务器和实际服务器

Cisco IOS服务器负载均衡_第1张图片

CiscoIOS SLB的运行模式

在SLB部署环境中,客户端会与虚拟服务器IP地址进行连接。当客户端向虚拟服务器发起连接时,SLB 功能会根据管理员配置的负载分担算法,为这个连接选择一个真实服务器.

 

CiscoIOS SLB支持如下重定向模式:

  1. 1.    调度模式(dispatched mode):在调度模式下,在每台实际服务器上,将虚拟服务器的地址指定为环回地址或辅助IP地址。

  2. 2.    直接模式(directed mode):在直接模式下,可以给虚拟服务器分配一个实际服务器不知道的ip地址,使用NAT将虚拟服务器的ip地址转换为实际服务器的地址。

 

Eg

Cisco IOS服务器负载均衡_第2张图片

配置Cisco IOS SLB

配置实际服务器

Switch(config)#ipslb serverfarm serverfarm-name-------------------------定义实际服务器群组;

Switch(config-slb-sfarm)#realip-address-of-the-real-server--------------将实际服务器同服务器群组关联起来;

Switch(config-slb-real)#inservice-------------------------------------------------启用CiscoIOS服务器群组中的实际服务器;

 

Switch(config)#ipslb serverfarm A

Switch(config-slb-sfarm)#real10.1.1.1

Switch(config-slb-real)#inservice

Switch(config-slb-real)#exit

Switch(config-slb-sfarm)#real10.1.1.2

Switch(config-slb-real)#inservice

Switch(config-slb-real)#exit

Switch(config-slb-sfarm)#real10.1.1.3

Switch(config-slb-real)#inservice

Switch(config-slb-real)#exit

Switch(config-slb-sfarm)#exit

 

Switch(config)#ipslb serverfarm B

Switch(config-slb-sfarm)#real10.1.1.20

Switch(config-slb-real)#inservice

Switch(config-slb-real)#exit

Switch(config-slb-sfarm)#real10.1.1.21

Switch(config-slb-real)#inservice

Switch(config-slb-real)#end

 

显示SLB实际服务器

Cisco IOS服务器负载均衡_第3张图片

显示SLB服务器群组


 wKioL1XZMsagEeCGAACAXTXmk10043.jpg

配置虚拟服务器

Switch(config)#ipslb vserver vserver-name

Switch(config-slb-vserver)#virtualip-address network-mask tcp udp port-number-------配置虚拟服务器的ip地址;

Switch(config-slb-vserver)#serverfarmprimary-serverfarm-name-----指定与虚拟服务器相关联的主服务器和辅助服务器;

Switch(config-slb-vserver)#inservice-------------------------------------------------------------------启用虚拟服务器;

Switch(config-slb-vserver)#clientip-address network-mask------------------------------------指定可以访问该虚拟服务器的客户;

 

Switch(config)#ipslb vserver A-http

Switch(config-slb-vserver)#virtual10.1.1.100 tcp www

Switch(config-slb-vserver)#serverfarmA

Switch(config-slb-vserver)#inservice

Switch(config-slb-vserver)#exit

 

Switch(config)#ipslb vserver B-http

Switch(config-slb-vserver)#virtual10.1.1.200 tcp www

Switch(config-slb-vserver)#client10.4.4.0 255.255.255.0

Switch(config-slb-vserver)#serverfarmB

Switch(config-slb-vserver)#inservice

Switch(config-slb-vserver)#end

 

显示SLB 虚拟服务器

wKiom1XZMMWjFCmEAACYHBB7T0c176.jpg

 显示当前的SLB连接

wKioL1XZMu_TASCFAABrJnc0IDo008.jpg

 显示SLB客户的详细信息

wKiom1XZMPvRowTrAAArOoQSQIE973.jpg

 显示SLB统计信息

Cisco IOS服务器负载均衡_第4张图片