Citrix ADC

使用内容交换配置GSLB服务选择

在典型的GSLB部署中,可以优先选择绑定到GSLB虚拟服务器的一组GSLB服务,但不能执行以下操作:

  • 限制从绑定到给定域的GSLB虚拟服务器的GSLB服务子集中选择GSLB服务。
  • 在部署的GSLB服务的不同子集上应用不同的负载均衡方法。
  • 在GSLB服务的子集上应用溢出策略,则无法对GSLB服务的子集进行备份。
  • 配置GSLB服务的子集来提供不同的内容。也就是说,您不能在不同GSLB站点的服务器之间进行内容切换。GSLB配置假设服务器包含相同的内容。
  • 定义具有不同优先级的子集GSLB服务,并指定将子集中的服务应用于请求的顺序。

现在可以配置内容交换(CS)策略来定制GSLB部署。首先配置一组GSLB服务,并将其绑定到GSLB虚拟服务器上。然后,配置目标类型为GSLB的CS虚拟服务器,定义以GSLB虚拟服务器为目标虚拟服务器的CS策略和动作,并将CS策略与CS虚拟服务器绑定。

重要的

  • 只有使用基于DNS表达式的CS策略才可以绑定目标类型为GSLB的CS虚拟服务器。
  • 如果一个GLSB服务通过GSLB虚拟服务器绑定到一个CS虚拟服务器上,则同一个GSLB服务绑定的另一个GSLB虚拟服务器不能再绑定到CS虚拟服务器上。

例子考虑一个包含两个GSLB站点的GLSB部署。每个站点分别绑定4个GSLB业务(S-1、S-2、S-3、S-4)到GSLB虚拟服务器VS-1。配置目标类型为GSLB的CS (content switching)虚拟服务器,并定义以VS-1为目标虚拟服务器的CS策略和动作,以便对英文内容的请求只由S-1和S-2提供服务,对本地语言内容的请求只由S-3和S-4提供服务。

通过配置备份虚拟服务器为VS-1,并将S-2与备份虚拟服务器绑定,可以赋予S-1优先级。S-1服务于客户端请求。如果S-1所代表的服务器发生故障,则S-2处理请求。如果S-1和S-2都down,客户端会收到一个空响应。

使用内容切换配置GSLB服务选择:

  1. 配置GSLB。有关说明,请参阅配置全局服务器负载均衡
  2. 配置目标类型为GSLB的CS虚拟服务器。有关更多信息,请参见创建内容交换虚拟服务器
  3. 配置CS (Content Switching)策略。有关更多信息,请参见配置内容切换策略
  4. 配置指定GSLB虚拟服务器为目标虚拟服务器的CS动作。有关更多信息,请参见配置内容切换动作
  5. 将CS策略绑定到CS虚拟服务器。有关更多信息,请参见将策略绑定到内容交换虚拟服务器
  6. 将域与CS虚拟服务器绑定,而不是与GSLB虚拟服务器绑定。

示例配置

下面的示例配置从IP地址为5.5.5.5的客户端向SERVICE_GSLB1和SERVICE_GSLB2发送请求。SERVICE_GSLB1的优先级高于SERVICE_GSLB2, SERVICE_GSLB2只在SERVICE_GSLB1宕机时服务客户端请求。如果SERVICE_GSLB1和SERVICE_GSLB2都down,则不考虑SERVICE_GSLB3和service-GSLB4,并向客户端发送空白响应。

add cs vs CSVSERVER_GSLB http -targettype GSLB Done add GSLB vs VSERVER_GSLB1 http Done add GSLB vs VSERVER_GSLB2 http Done add GSLB vs VSERVER_GSLB_BACKUP1 http Done set GSLB vs VSERVER_GSLB1 -backupvserver VSERVER_GSLB_BACKUP1 http Done set GSLB vs VSERVER_GSLB1 -backupvserver VSERVER_GSLB_BACKUP1 Done add GSLB服务SERVICE_GSLB1 1.1.1.1 http 80 -sitename site1 Done add GSLB服务SERVICE_GSLB3 1.1.1.2 http 80 -sitename site1 Done add GSLB服务SERVICE_GSLB3 1.1.1.3 http 80 -sitename site2 Done add GSLB服务SERVICE_GSLB3 1.1.1.4 http 80 -sitename site2Done bind gslb vs VSERVER_GSLB1 -servicename SERVICE_GSLB1 Done bind gslb vs VSERVER_GSLB_BACKUP1 -servicename SERVICE_GSLB2 Done bind gslb vs VSERVER_GSLB2 -servicename SERVICE_GSLB3 Done bind gslb vs VSERVER_GSLB2 -servicename SERVICE_GSLB4 Done add cs action a1 -targetvserver VSERVER_GSLB1 Done add cs policy p1 -rule "CLIENT.IP.SRC.EQ(5.5.5.5)" -action a1 Done bind cs vs CSVSERVER_GSLB -domainName www.abc.com Done bind cs vs CSVSERVER_GSLB -policyname p1 -priority 1 Done add cs action a2 -targetvserver VSERVER_GSLB2 Done add cs policy p2 -rule "CLIENT.IP.SRC.EQ(6.6.6.6)" -action a2 Done bind cs vs CSVSERVER_GSLB -policyname p2 -priority 2 Done 

将目标虚拟服务器表达式关联到GSLB内容切换操作

现在可以将目标虚拟服务器表达式关联到GSLB内容切换操作。这允许GSLB内容交换虚拟服务器在处理DNS请求时使用策略表达式来组成目标GSLB虚拟服务器名称。

通过CLI配置指定表达式的内容切换动作

在命令提示符下,键入以下命令来配置内容切换操作,以检索HTTP调出响应。

添加cs动作 -targetVserverExpr  

例子:

添加cs动作csact_GSLB_VServer -targetVserverExpr "SYS.HTTP_CALLOUT(GSLB_Method_API)"< !——NeedCopy >

通过使用GUI配置指定表达式的内容切换操作

  1. 导航到流量管理>内容切换>动作
  2. 配置内容切换动作,并指定表达式动态计算目标负载平衡虚拟服务器的名称。
使用内容交换配置GSLB服务选择