Citrix ADC

保护内容切换设置,防止出现故障

当内容交换虚拟服务器出现故障或无法处理过多的流量时,或由于其他原因,内容交换可能会失败。为了减少失败的机会,您可以采取以下措施来保护内容切换设置免受失败的影响:

配置备份虚拟服务器

如果主内容交换虚拟服务器被标记为DOWN或DISABLED, Citrix ADC设备可以将请求定向到备份内容交换虚拟服务器。它还可以向客户端发送关于站点中断或维护的通知消息。备份内容交换虚拟服务器是代理,对客户端是透明的。

在配置备份虚拟服务器时,可以指定配置参数Disable Primary When Down,以确保当主虚拟服务器恢复时,它仍然是备用服务器,直到手动强制它接管为主服务器。如果您希望确保对备份服务器上的数据库的任何更新都被保留,从而使您能够在恢复主虚拟服务器之前同步数据库,则此功能非常有用。

在创建内容交换虚拟服务器或修改已有内容交换虚拟服务器的可选参数时,可以配置备份内容交换虚拟服务器。也可以为已有的备份内容交换虚拟服务器配置备份内容交换虚拟服务器,从而创建级联的备份内容交换虚拟服务器。备份内容交换虚拟服务器的最大级联深度为10。设备搜索已启动的备份内容交换虚拟服务器,并访问该内容交换虚拟服务器以交付内容。

请注意

如果内容交换虚拟服务器同时配置了备份内容交换虚拟服务器和重定向URL,则备份内容交换虚拟服务器优先于重定向URL。当主虚拟服务器和备份虚拟服务器关闭时,使用重定向。

通过命令行方式建立备份内容交换虚拟服务器

在命令提示符下,输入:

set cs vserver  -backupVserver  -disablePrimaryOnDown (ON|OFF) 

例子

set cs vserver vserver - cs -1 -backupVserver vserver - cs -2 -disablePrimaryOnDown ON 

使用GUI设置备份内容交换虚拟服务器

  1. 导航到“流量管理>内容交换>虚拟服务器”,配置虚拟服务器,指定协议为MYSQL。
  2. 高级设置中,选择保护,并指定备份虚拟服务器

将多余的流量转移到备份虚拟服务器

当到内容交换虚拟服务器的连接数超过配置的阈值时,溢出选项将到达内容交换虚拟服务器的新连接转移到备份内容交换虚拟服务器。阈值是动态计算的,也可以设置阈值。将虚拟服务器上建立的TCP连接数与阈值进行比较。当连接数达到阈值时,新的连接将被转移到备份内容交换虚拟服务器。

当备份内容交换虚拟服务器达到配置的阈值且无法承受负载时,主内容交换虚拟服务器将所有请求转移到重定向URL。如果在主内容交换虚拟服务器上没有配置重定向URL,则后续请求将被丢弃。

使用命令行配置内容交换虚拟服务器,将新连接引导到备份虚拟服务器

在命令提示符下,输入:

set cs vserver \ - somemethod \ -soThreshold \ - spersistence \ -soPersistenceTimeout \ 

例子

set cs vserver vserver - cs -1 - somemethod Connection -soThreshold 1000 - spersistence enabled -soPersistenceTimeout 2 

设置内容切换虚拟服务器,通过GUI将新连接引导到备份虚拟服务器

  1. 导航到“流量管理>内容交换>虚拟服务器”,配置虚拟服务器,指定协议为MYSQL。
  2. 高级设置中,选择保护,并配置溢出。

配置重定向URL

如果HTTP或HTTPS类型的内容交换虚拟服务器为DOWN或DISABLED,您可以配置一个重定向URL来通信Citrix ADC设备的状态。这个URL可以是本地的,也可以是远程的。

重定向url可以是绝对url,也可以是相对url。如果配置的重定向URL包含绝对URL,则HTTP重定向将被发送到配置的位置,而不管传入HTTP请求中指定的URL是什么。如果配置的重定向URL只包含域名(相对URL),则HTTP重定向将传入URL附加到重定向URL中配置的域后发送到某个位置。

Citrix建议使用绝对URL。也就是说,以/结尾的URL,例如www.example.com/,而不是相对URL。相对URL重定向可能导致漏洞扫描程序报告误报。

请注意

如果内容交换虚拟服务器同时配置了备份虚拟服务器和重定向URL,则备份虚拟服务器优先于重定向URL。当主虚拟服务器和备份虚拟服务器关闭时,使用重定向URL。

当配置了重定向并且内容交换虚拟服务器不可用时,设备会向用户的浏览器发出HTTP 302重定向。

通过CLI配置内容切换虚拟服务器不可用时的重定向URL

在命令提示符下,输入:

set cs vserver \ -redirectURL \ 

例子

set cs vserver vserver - cs -1 -redirectURL http://www.newdomain.com/mysite/maintenance 

通过使用GUI配置内容切换虚拟服务器不可用时的重定向URL

  1. 导航到“流量管理>内容交换>虚拟服务器”,配置虚拟服务器,指定协议为MYSQL。
  2. 高级设置中,选择保护,并指定重定向URL。

配置状态更新选项

内容切换特性支持基于呈现给用户的特定内容跨多个服务器分发客户机请求。为了实现高效的内容交换,内容交换虚拟服务器根据内容类型将流量分配给负载均衡虚拟服务器,负载均衡虚拟服务器根据指定的负载均衡方式将流量分配给物理服务器。

为了实现顺畅的流量管理,内容交换虚拟服务器需要了解负载均衡虚拟服务器的状态。如果与其绑定的负载平衡虚拟服务器被标记为DOWN,则状态更新选项有助于将内容切换虚拟服务器标记为DOWN。如果与负载均衡虚拟服务器绑定的所有物理服务器都被标记为DOWN,则该虚拟服务器被标记为DOWN。

禁用状态更新时:

内容交换虚拟服务器状态被标记为UP。即使没有绑定负载均衡虚拟服务器处于UP状态,它也会保持UP状态。

启用状态更新时:

当您添加一个内容交换虚拟服务器时,最初它的状态显示为DOWN。绑定状态为UP的负载均衡虚拟服务器时,内容交换虚拟服务器的状态变为UP。

如果绑定了多个负载均衡虚拟服务器,且指定其中一个为默认,则内容交换虚拟服务器的状态将反映默认负载均衡虚拟服务器的状态。

如果绑定了多个负载均衡虚拟服务器,且没有指定任何一个为默认值,则只有绑定的所有负载均衡虚拟服务器都为UP时,内容交换虚拟服务器的状态才会被标记为UP。

使用CLI配置状态更新选项

在命令提示符下,输入:

添加cs vserver \ \ \ \ -stateUpdate ENABLED 

例子

add cs vserver csw_vserver HTTP 10.18.250.154 80 -stateupdate ENABLED -cltTimeout 180 

通过使用GUI配置状态更新选项

  1. 导航到“流量管理>内容交换>虚拟服务器”,配置虚拟服务器,指定协议为MYSQL。
  2. 高级设置中,选择流量设置,然后选择状态更新

刷新涌流队列

当物理服务器接收到大量请求时,它对当前连接到它的客户机的响应变得很慢,这会让用户感到不满和不满。通常,过载还会导致客户端接收错误页面。为了避免这种过载,Citrix ADC设备提供了诸如浪涌保护之类的功能,它可以控制与服务建立新连接的速率。

该设备在客户机和物理服务器之间进行连接多路复用。当设备接收到访问服务器上服务的客户端请求时,它会查找已经建立的空闲服务器连接。如果它找到一个空闲连接,它就使用该连接在客户机和服务器之间建立一个虚拟链接。如果没有找到现有的空闲连接,设备将与服务器建立一个新的连接,并在客户机和服务器之间建立一个虚拟链接。但是,如果设备不能与服务器建立新的连接,它将客户端请求发送到一个激增队列。如果绑定到负载平衡或内容交换虚拟服务器的所有物理服务器都达到了客户端连接的上限(最大客户端值、浪涌保护阈值或服务的最大容量),则设备无法与任何服务器建立连接。浪涌保护功能使用浪涌队列来调节与物理服务器打开连接的速度。设备为绑定到虚拟服务器的每个服务维护不同的激增队列。

当设备无法为请求建立连接时,请求队列的长度就会增加,当队列中的请求被发送到服务器或请求超时并从队列中删除时,请求队列的长度就会减少。

如果服务或服务组的激增队列变得太长,可能需要刷新它。可以清空某个服务/服务组的涌流队列,也可以清空负载均衡虚拟服务器绑定的所有服务/服务组的涌流队列。刷新涌流队列不会影响现有连接。只有出现在激增队列中的请求才会被删除。对于这些请求,客户端必须重新发出请求。

还可以刷新内容交换虚拟服务器的涌流队列。如果内容交换虚拟服务器将一些请求转发给特定的负载平衡虚拟服务器,并且负载平衡虚拟服务器还接收一些其他请求,则在刷新内容交换虚拟服务器的激增队列时,仅刷新从该内容交换虚拟服务器接收的请求。负载平衡虚拟服务器的激增队列中的其他请求不会刷新。

请注意

不能刷新缓存重定向、认证、VPN、GSLB虚拟服务器或GSLB业务的涌流队列。如果启用了USIP (use Source IP)功能,则不能使用防雷功能。

使用CLI清除突发队列

flush ns surgq命令的工作原理如下:

  • 可以指定必须刷新突发队列的服务、服务组或虚拟服务器的名称。
  • 如果在执行命令时指定了名称,则刷新指定实体的涌流队列。如果多个实体具有相同的名称,则设备将刷新所有这些实体的激增队列。
  • 如果在运行该命令时指定了服务组的名称、服务器名称和端口,则设备将仅刷新指定服务组成员的激增队列。
  • 不能直接指定服务组成员()而不指定服务组名称(),不能指定而不指定。如果要为特定服务组成员刷新突发队列,请指定
  • 如果在不指定任何名称的情况下运行该命令,则设备将刷新设备上存在的所有实体的激增队列。
  • 如果服务组成员用服务器名标识,则必须在此命令中指定服务器名;不能指定其IP地址。

在命令提示符下,输入:

flush ns surgq [-name ] [-serverName  ]。< !——NeedCopy >

例子

1.flush ns surgq -name SVC1ANZGB -serverName 10.10.10.1 80刷新IP地址为10.10.10.2、名称为SVC1ANZGB的服务或虚拟服务器的surge队列。上面的命令刷新设备上的所有突发队列。< !——NeedCopy >

通过使用GUI刷新涌流队列

导航到“流量管理>内容交换>虚拟服务器”,选择虚拟服务器,并在Action列表中选择刷新浪涌队列

保护内容切换设置,防止出现故障