Citrix ADC

自定义您的 GSLB 配置

基本 GSLB 配置可操作后,您可以通过修改 GSLB 服务的带宽、配置基于 CNAME 的 GSLB 服务、静态邻近性、动态 RTT、持久性连接或服务的动态权重或更改 GSLB 方法对其进行自定义。

您还可以配置 GSLB 服务的监视以确定其状态。

这些设置取决于您的网络部署以及您希望连接到服务器的客户端类型。

修改 GSLB 服务的最大连接或最大带宽

您可以通过配置代表虚拟服务器的 GSLB 服务的最大客户端数和/或最大带宽来限制可同时连接到负载平衡或内容交换虚拟服务器的新客户端数。

使用命令行界面修改 GSLB 服务的最大客户端或带宽

在命令提示符下,键入以下命令以修改 GSLB 服务的最大客户端连接数或最大带宽,并验证配置:

set gslb service <serviceName> [-maxClients <positive_integer>] [-maxBandwidth <positive_integer>]
show gslb service <serviceName>

示例:

set glsb service Service-GSLB-1 –maxBandwidth 100 –maxClients 100
show gslb service Service-GSLB-1

使用配置实用程序修改 GSLB 服务的最大客户端或带宽

  1. 导航至 流量 管理 > GSLB > 服务 ,然后双击服务。
  2. 单击“其 他设置部分并设置以下参数:
    • 最大客户端-最大客户端
    • 最大带宽 — 最大带宽

创建基于 CNAME 的 GSLB 服务

要配置 GSLB 服务,可以使用服务器的 IP 地址或服务器的规范名称。如果要从一个 IP 地址运行多个服务(如 FTP 和 Web 服务器,每个服务器都在不同的端口上运行),或者在同一个物理主机上使用不同的名称在同一个端口上运行多个 HTTP 服务,则可以为服务使用规范名称 (CNAMS)。

例如,您可以在 DNS 中有两个条目 ftp.example.com 和 www.example.com,分别表示同一域 example.com 上的 FTP 服务和 HTTP 服务。基于 CNAME 的 GSLB 服务在多级域解析程序配置或多级域负载均衡中非常有用。如果物理服务器的 IP 地址可能发生变化,则配置基于 CNAME 的 GSLB 服务也会有所帮助。

如果为 GSLB 域配置基于 CNAME 的 GSLB 服务,则当针对 GSLB 域发送查询时,Citrix ADC 设备会提供别名记录而不是 IP 地址。如果未配置此 CNAME 记录的 A 记录,客户端必须查询别名记录域的 IP 地址。如果配置了此别名记录的 A 记录,Citrix ADC 设备将为别名记录提供相应的 A 记录(IP 地址)。Citrix ADC 设备处理由 GSLB 方法确定的 DNS 查询的最终解析。别名记录可以保留在其他 Citrix ADC 设备上或第三方系统上。

在基于 IP 地址的 GSLB 服务中,服务的状态由它所代表的服务器的状态决定。但是,默认情况下,基于 CNAME 的 GSLB 服务的状态设置为 UP;虚拟服务器 IP (VIP) 地址或衡量指标交换协议 (MEP) 不用于确定其状态。如果基于桌面的监视器绑定到基于 CNAME 的 GSLB 服务,则根据监视器探测的结果确定服务的状态。

只能将基于 CNAME 的 GSLB 服务绑定到具有 DNS 记录类型作为别名记录的 GSLB 虚拟服务器。此外,Citrix ADC 设备最多可包含一个带有给定别名记录条目的 GSLB 服务。

以下是基于 CNAME 的 GSLB 服务支持的一些功能:

  • 支持基于 GSLB 策略的站点关联性,并将 CNAME 作为首选位置。
  • 支持源 IP 持久性。持久性条目包含别名记录信息,而不是所选服务的 IP 地址和端口。

以下是基于 CNAME 的 GSLB 服务的局限性:

  • 不支持站点持久性,因为 CNAME 引用的服务可以存在于任何第三方位置。
  • 不支持多 IP 地址响应,因为一个域不能有多个别名记录条目。
  • 源 IP 哈希和循环是唯一支持的负载平衡方法。不支持静态邻近方法,因为别名记录与 IP 地址没有关联,并且只能根据 IP 地址维护静态邻近方法。

注意:应在将基于 CNAME 的 GSLB 服务绑定到的 GSLB 虚拟服务器上启用空下响应功能。如果启用空下响应功能,则当 GSLB 虚拟服务器处于关闭状态或禁用状态时,对绑定到此虚拟服务器的域的 DNS 查询响应将包含一条没有任何 IP 地址的空记录,而不是错误代码。

使用命令行界面创建基于 CNAME 的 GSLB 服务

在命令提示窗口中,键入:

add gslb service <serviceName> -cnameEntry <string> -siteName <string>

示例:

add gslb service Service-GSLB-1 -cnameEntry transport.mycompany.com -siteName Site-GSLB-East-Coast
add gslb service Service-GSLB-2 -cnameEntry finance.mycompany.com -siteName Site-GSLB-West-Coast

使用配置实用程序创建基于 CNAME 的 GSLB 服务

  1. 导航到流量 管理 > GSLB > 服务
  2. 创建服务,并将 类型设置为基于规范名称

在 GSLB 中配置转换服务外状态 (TROFS)

当您在服务绑定到的 GSLB 虚拟服务器上配置持久性时,服务将继续为来自客户端的请求提供服务,即使禁用客户端的请求,也只接受新请求或连接以遵守持久性。在配置的时间段(称为正常关闭期)之后,不会将新请求或连接定向到服务,并且所有现有连接都将关闭。

禁用服务时,您可以使用延迟参数指定正常的关闭期(以秒为单位)。在正常关闭期间,如果服务绑定到虚拟服务器,其状态将显示为“退出服务”。

配置服务的动态权重

在典型网络中,有些服务器具有比其他服务器更高的流量容量。但是,使用常规负载平衡配置,即使不同的服务表示具有不同容量的服务器,也会在所有服务之间均匀分配负载。

要优化 GSLB 资源,您可以在 GSLB 虚拟服务器上配置动态权重。动态权重可以基于绑定到虚拟服务器的服务总数或绑定到虚拟服务器的各个服务的权重总和。然后,流量分配将基于为服务配置的权重。

在 GSLB 虚拟服务器上配置动态权重时,请求将根据负载平衡方法、GSLB 服务的权重和动态权重进行分配。GSLB 服务的重量和动态权重的乘积称为累积权重。因此,在 GSLB 虚拟服务器上配置动态权重时,请求将基于负载平衡方法和累积权重分发。

禁用虚拟服务器的动态权重时,数值设置为 1。这可确保累积权重始终为非零整数。

动态权重可以基于绑定到负载平衡虚拟服务器的活动服务总数或分配给服务的权重。

考虑一个配置为域配置了两个 GSLB 站点,并且每个站点都有两个可为客户端提供服务的服务。如果任一站点的服务出现故障,则该站点中的其他服务器必须处理与其他站点上的服务相当于其他站点上的服务的两倍。如果动态权重基于活动服务的数量,那么两个服务活动的站点的权重是站点的两倍,一个服务下降,因此接收的流量是两倍。

或者,请考虑一种配置,其中第一个站点的服务表示功能是第二个站点上的服务器的两倍。如果动态权重基于分配给服务的权重,则发送到第一个站点的流量是第二个站点的两倍。

注意:有关为负载平衡服务分配权重的详细信息,请参阅为服务分配权重

作为如何计算动态权重的示例,请考虑将 GSLB 服务绑定到该服务器的 GSLB 虚拟服务器。GSLB 服务表示负载平衡虚拟服务器,该服务器又具有两个服务绑定到它。分配给 GSLB 服务的权重为 3。分配给这两个服务的权重分别为 1 和 2。在此示例中,当动态权重设置为:

  • 禁用:GSLB 虚拟服务器的累积权重是动态权重(禁用 = 1)和 GSLB 服务权重(3)的乘积,因此累积权重为 3。
  • SERVICECOUNT:计数是绑定到与 GSLB 服务对应的负载平衡虚拟服务器的服务数的总和 (2),累积权重是动态权重 (2) 和 GSLB 服务权重 (3) 的乘积,即 6。
  • 服务权重:动态权重是绑定到与 GSLB 服务对应的负载平衡虚拟服务器的服务权重的总和 (3),累积权重是动态权重 (3) 和 GSLB 服务权重 (3) 的乘积,即 9。

注意:配置内容交换虚拟服务器时,动态权重不适用。

使用命令行界面将 GSLB 虚拟服务器配置为使用动态权重

在命令提示窗口中,键入:

set gslb vserver <name> -dynamicWeight SERVICECOUNT | SERVICEWEIGHT

示例:

set gslb vserver vserver-GSLB-1 -dynamicWeight SERVICECOUNT

使用配置实用程序将 GSLB 虚拟服务器设置为使用动态权重

  1. 导航到“流量管理”>“GSLB”>“虚拟服务器”,双击要更改其方法的 GSLB 虚拟服务器(例如,虚拟服务器 GSLB-1)。
  2. 单击方法部分,然后从动态权重下拉列表中选择SERVICECOUNTSERVICEWEIGHT

自定义您的 GSLB 配置