ADC

保护内容切换设置免受故障影响

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

配置备份虚拟服务器

如果将主要内容交换虚拟服务器标记为“关闭”或“已禁用”,则 NetScaler 设备可以将请求定向到备份内容交换虚拟服务器。它还可以向客户发送有关站点中断或维护的通知消息。备份内容交换虚拟服务器是代理,对客户端是透明的。

配置备份虚拟服务器时,可以指定配置参数“关闭时禁用主服务器”,以确保当主虚拟服务器恢复运行时,它仍然是辅助虚拟服务器,直到您手动强制它接管主服务器。如果要确保保留服务器上用于备份的数据库的任何更新,这会很有用,使您能够在还原主虚拟服务器之前同步数据库。

在创建内容交换虚拟服务器或更改现有内容交换虚拟服务器的可选参数时,可以配置备份内容交换虚拟服务器。您还可以为现有的备份内容交换虚拟服务器配置备份内容交换虚拟服务器,从而创建级联备份内容交换虚拟服务器。级联备份内容交换虚拟服务器的最大深度为 10。设备搜索已启动的备份内容交换虚拟服务器,然后访问该内容交换虚拟服务器以传送内容。

注意

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

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

在命令提示符下,键入:

set cs vserver <name> -backupVserver <string> -disablePrimaryOnDown (ON|OFF)
<!--NeedCopy-->

示例

set cs vserver Vserver-CS-1 -backupVserver Vserver-CS-2 -disablePrimaryOnDown ON
<!--NeedCopy-->

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

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

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

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

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

将内容交换虚拟服务器配置为使用 CLI 将新连接转移到备份虚拟服务器

在命令提示符下,键入:

set cs vserver <name> -soMethod <methodType> -soThreshold <thresholdValue> -soPersistence <persistenceValue> -soPersistenceTimeout <timeoutValue>
<!--NeedCopy-->

示例

set cs vserver Vserver-CS-1 -soMethod Connection -soThreshold 1000 -soPersistence enabled -soPersistenceTimeout 2
<!--NeedCopy-->

使用 GUI 将内容交换虚拟服务器设置为将新连接转移到备份虚拟服务器

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

配置重定向 URL

如果类型为 HTTP 或 HTTPS 的内容交换虚拟服务器为“关闭”或“已禁用”,则可以配置重定向 URL 以传达 NetScaler 设备的状态。此 URL 可以是本地的,也可以是远程的。

重定向 URL 可以是绝对 URL 或相对 URL。如果配置的重定向 URL 包含绝对 URL,HTTP 重定向将发送到配置的位置,而不考虑在传入的 HTTP 请求中指定的 URL。如果配置的重定向 URL 仅包含域名(相对 URL),则在将传入的 URL 附加到重定向 URL 中配置的域之后,HTTP 重定向将发送到某个位置。

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

注意

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

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

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

在命令提示符下,键入:

set cs vserver <name> -redirectURL <URLValue>
<!--NeedCopy-->

示例

set cs vserver Vserver-CS-1 -redirectURL http://www.newdomain.com/mysite/maintenance
<!--NeedCopy-->

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

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

配置状态更新选项

内容切换功能允许根据提供给用户的特定内容在多个服务器上分发客户端请求。为了实现高效的内容交换,内容交换虚拟服务器根据内容类型将流量分配到负载平衡虚拟服务器,负载平衡虚拟服务器根据指定的负载平衡方法将流量分配到物理服务器。

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

禁用状态更新时:

内容交换虚拟服务器的状态标记为 UP。即使没有已启动的绑定负载平衡虚拟服务器,它仍保持运行状态。

启用状态更新时:

添加内容交换虚拟服务器时,其状态最初显示为 DOWN。绑定状态为 UP 的负载平衡虚拟服务器时,内容交换虚拟服务器的状态变为 UP。

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

如果绑定了多个负载平衡虚拟服务器但未将其中任何一个指定为默认值,则仅当所有绑定负载平衡虚拟服务器均为 UP 时,内容交换虚拟服务器的状态才会被标记为 UP。

使用 CLI 配置状态更新选项

在命令提示符下,键入:

add cs vserver <name> <protocol> <ipAddress> <port> -stateUpdate ENABLED
<!--NeedCopy-->

示例

 add cs vserver csw_vserver HTTP 10.18.250.154 80 -stateupdate ENABLED -cltTimeout 180
<!--NeedCopy-->

使用 GUI 配置状态更新选项

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

刷新 surge 队列

当物理服务器收到大量请求时,对当前连接到该服务器的客户端的响应速度会变慢,这会使用户深感不满。通常情况下,过载还会导致客户端收到错误页面。为了避免此类过载,NetScaler 设备提供了诸如浪涌保护之类的功能,该功能可控制与服务建立新连接的速率。

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

每当设备无法建立连接的请求发出时,浪涌队列的长度就会增加;而每当队列中的请求被发送到服务器或者请求超时并从队列中删除时,浪涌队列的长度就会减小。

如果服务或服务组的浪涌队列变得太长,您可能需要刷新它。可以刷新特定服务或服务组的浪涌队列,也可以刷新绑定到负载平衡虚拟服务器的所有服务和服务组的浪涌队列。刷新浪涌队列不会影响现有连接。只有浪涌队列中存在的请求才会被删除。对于这些请求,客户必须提出新请求。

还可以刷新内容交换虚拟服务器的浪涌队列。如果内容交换虚拟服务器将一些请求转发到特定的负载平衡虚拟服务器,并且负载平衡虚拟服务器还收到一些其他请求,则当您刷新内容交换虚拟服务器的浪涌队列时,只会刷新从此内容交换虚拟服务器接收到的请求。负载平衡虚拟服务器的浪涌队列中的其他请求不会刷新。

注意

您无法刷新缓存重定向、身份验证、VPN 或 GSLB 虚拟服务器或 GSLB 服务的浪涌队列。 如果启用了“使用源 IP (USIP)”,请勿使用浪涌保护功能。

使用 CLI 刷新 surge 队列

flush ns surgeQ 命令的运行方式如下:

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

在命令提示符下,键入:

flush ns surgeQ [-name <name>] [-serverName <serverName> <port>].
<!--NeedCopy-->

示例

1. flush ns surgeQ –name SVC1ANZGB –serverName 10.10.10.1 80
The above command flushes the surge queue of the service or virtual server that is named SVC1ANZGB and has IP address as 10.10.10

2. flush ns surgeQ
The above command flushes all the surge queues on the appliance.
<!--NeedCopy-->

使用 GUI 刷新浪涌队列

导航到 流量管理 > 内容切换 > 虚拟服务器,选择虚拟服务器,然后在操作列表中选择刷新浪涌队列

保护内容切换设置免受故障影响