ADC

设置基本负载平衡

在配置初始负载平衡设置之前,启用负载平衡功能。然后首先为负载平衡组中的每台服务器创建至少一项服务。配置好服务后,您就可以创建负载平衡虚拟服务器并将每项服务绑定到虚拟服务器了。这样就完成了初始设置。在继续进行进一步配置之前,请验证您的配置,确保每个元素都已正确配置并按预期运行。

启用负载平衡

禁用负载平衡功能时,您可以配置负载平衡实体(如服务和虚拟服务器),但在启用该功能之前,它们将无法运行。

使用 CLI 启用负载平衡

在命令提示符下,键入以下命令以启用负载平衡并验证配置:

  • enable ns feature LB
  • show ns feature

示例

    > enable ns feature LoadBalancing

     Done

    > show ns feature



            Feature                        Acronym              Status

            -------                        -------              ------

     1)     Web Logging                    WL                   OFF

     2)     Surge Protection               SP                   ON

     3) Load Balancing LB ON

     .

     .

     .

     24)    NetScaler Push                 push                 OFF

     Done
<!--NeedCopy-->

使用 GUI 启用负载平衡

导航到“系统”>“设置”,然后在“配置基本功能”中选择“负载平衡”。

配置服务器对象

在 Citrix ADC 设备上为您的服务器创建一个条目。Citrix ADC 设备支持基于 IP 地址的服务器和基于域的服务器。如果创建基于 IP 地址的服务器,则可以在创建服务时指定服务器的名称,而不是其 IP 地址。有关为基于域的服务器设置 DNS 的信息,请参阅 域名系统

使用 CLI 创建服务器对象

在命令提示符下,键入:

add server `<name>`@ `<IPAddress>`@ | `<domain>`
<!--NeedCopy-->

添加基于 IP 地址的名称服务器的示例:

add server web_serv 10.102.27.150
<!--NeedCopy-->

添加基于域的服务器的示例:

add server web_serv test.com
<!--NeedCopy-->

使用 GUI 创建服务器对象

导航到“流量管理”>“负载平衡”>“服务器”,然后添加服务器对象。

配置服务

启用负载平衡功能后,必须为要包含在负载平衡设置中的每个应用程序服务器创建至少一项服务。您配置的服务提供 Citrix ADC 设备和负载平衡服务器之间的连接。每个服务都有名称,并指定 IP 地址、端口和处理的数据类型。

如果您在未先创建服务器对象的情况下创建服务,则该服务的 IP 地址也是托管该服务的服务器的名称。如果您更喜欢按名称而不是 IP 地址来识别服务器,则可以创建服务器对象,然后在创建服务时指定服务器的名称而不是其 IP 地址。

当您创建使用 UDP 作为传输层协议的服务时,ping 监视器会自动绑定到该服务。ping 监视器是最基本的内置监视器。当您创建使用 TCP 作为传输层协议的服务时,TCP_Default 监视器会自动绑定到该服务。在制定管理负载平衡设置的策略时,您可能会决定将其他类型的监视器或多个监视器绑定到该服务。

创建服务

在创建服务之前,您需要了解不同的服务类型以及每种服务的使用方式。以下列表描述了 NetScaler 设备支持的服务类型。

  • HTTP

    用于接受 HTTP 流量的负载平衡服务器,例如标准网站和 Web 应用程序。HTTP 服务类型使 NetScaler 设备能够为您的第 7 层 Web 服务器提供压缩、内容过滤、缓存和客户端保持连接支持。此服务类型还支持虚拟服务器 IP 端口插入、重定向端口重写、Web 2.0 推送和 URL 重定向支持。

    由于 HTTP 是基于 TCP 的应用程序协议,因此您也可以将 TCP 服务类型用于 Web 服务器。但是,如果您这样做,NetScaler 设备只能执行第 4 层负载平衡。它不能提供前面描述的任何第 7 层支持。

  • SSL

    用于接受 HTTPS 流量的服务器,例如电子商务网站和购物车应用程序。SSL 服务类型允许 NetScaler 设备为您的安全 Web 应用程序加密和解密 SSL 流量(执行 SSL 卸载)。它还支持 HTTP 持久化、内容切换、重写、虚拟服务器 IP 端口插入、Web 2.0 推送和 URL 重定向。

    您也可以使用 SSL_BRIDGE、SSL_TCP 或 TCP 服务类型。但是,如果您这样做,则设备仅执行第 4 层负载平衡。它无法提供 SSL 卸载或上述任何第 7 层支持。

  • FTP

    用于接受 FTP 流量的服务器。FTP 服务类型使 NetScaler 设备能够支持 FTP 协议的特定细节。

    您也可以将 TCP 或任何服务类型用于 FTP 服务器。

  • TCP

    用于接受许多不同类型的 TCP 流量的服务器,或接受某种 TCP 流量但无法提供更具体类型的服务的服务器。

    您也可以对这些服务器使用 ANY 服务类型。

  • SSL_TCP

    用于接受非基于 HTTP 的 SSL 流量的服务器,以支持 SSL 卸载。

    您也可以为这些服务使用 TCP 服务类型。如果您这样做,NetScaler 设备会同时执行第 4 层负载平衡和 SSL 卸载。

  • UDP

    用于接受 UDP 流量的服务器。您也可以使用 ANY 服务类型。

  • SSL_BRIDGE

    用于在您不希望 NetScaler 设备执行 SSL 卸载时接受 SSL 流量的服务器。或者,您可以使用 SSL_TCP 服务类型。

  • NNTP

    用于接受网络新闻传输协议 (NNTP) 流量的服务器,通常是 Usenet 站点。

  • DNS

    用于接受 DNS 流量的服务器,通常是域名服务器。使用 DNS 服务类型,NetScaler 设备会验证每个 DNS 请求和响应的数据包格式。它还可以缓存 DNS 响应。您可以将 DNS 策略应用于 DNS 服务。

    您也可以为这些服务使用 UDP 服务类型。但是,如果您这样做,NetScaler 设备只能执行第 4 层负载平衡。它无法为 DNS 特定功能提供支持。

  • 任何

    用于接受任何类型的 TCP、UDP 或 ICMP 流量的服务器。ANY 参数主要用于防火墙负载平衡和链路负载平衡。

  • SIP-UDP

    用于接受基于 UDP 的会话初始协议 (SIP) 流量的服务器。SIP 启动、管理和终止多媒体通信会话,并已成为互联网电话 (VoIP) 的标准。

    您也可以为这些服务使用 UDP 服务类型。但是,如果您这样做,NetScaler 设备将仅执行第 4 层负载平衡。它无法为 SIP 特定功能提供支持。

  • DNS-TCP

    用于接受 DNS 流量的服务器,其中 NetScaler 设备充当发送到 DNS 服务器的 TCP 流量的代理。使用 DNS-TCP 服务类型的服务,NetScaler 设备会验证每个 DNS 请求和响应的数据包格式,并可以像 DNS 服务类型一样缓存 DNS 响应。

    您也可以为这些服务使用 TCP 服务类型。但是,如果您这样做,NetScaler 设备仅对外部 DNS 名称服务器执行第 4 层负载平衡。它不能为任何 DNS 特定功能提供支持。

  • RTSP

    用于接受实时流协议 (RTSP) 流量的服务器。RTSP 提供多媒体和其他流媒体数据的传输。选择此类型以支持音频、视频和其他类型的流媒体类型。

    您也可以为这些服务使用 TCP 服务类型。但是,如果您这样做,NetScaler 设备将仅执行第 4 层负载平衡。它无法解析 RTSP 流,也不能为 RTSPID 持久性或 RTSP NAT 提供支持。

  • DHCPRA

    用于接受 DHCP 流量的服务器。DHCPRA 服务类型可用于在 VLAN 之间中继 DHCP 请求和响应。

  • DIAMETER

    用于对多台 Diameter 服务器之间的 Diameter 流量进行负载平衡。Diameter 使用基于消息的负载平衡。

  • SSL_DIAMETER

    用于通过 SSL 对 Diameter 流量进行负载平衡。

    在 NetScaler 设备连接到相关的负载平衡服务器并验证其运行之前,服务会被指定为“已禁用”。此时,该服务被指定为“已启用”。此后,NetScaler 设备会定期监视服务器的状态,并将任何未能响应监视探测器(称为运行状况检查)的服务器重新置于“已禁用”状态,直到它们做出响应。

    注意:

    您可以通过单个 CLI 命令或同一个对话框创建一系列服务。该范围内的名称因用作后缀/前缀的数字而异。例如,服务 1、服务 2 等。在 GUI 中,只能在 IP 地址的最后一个二进制八位数中指定范围,对于 IPv4 地址,该范围是第四个,在 IPv6 地址中是第八个二进制八位数。在命令行中,您可以指定 IP 地址的任意二进制八位数的范围。

  • QUIC

    由接受基于 UDP 的 QUIC 视频流量的负载平衡服务器使用。该服务使 NetScaler 设备能够通过 UDP 协议优化加密的 ABR 视频流量。

使用 CLI 创建服务

在命令提示符下,键入:

add service <name> <serverName> <serviceType> <port>

add service Service-HTTP-1 192.0.2.5 HTTP 80
<!--NeedCopy-->

使用 GUI 创建服务

  1. 导航到“流量管理”>“负载平衡”>“服务”。

  2. 在详细信息窗格中,单击“添加”。

  3. 在创建服务对话框中,为以下参数指定值:

    • 服务名称 - name
    • 服务器 - serverName
    • 协议 - serviceType
    • 端口 - port
  4. 单击“创建”,然后单击“关闭”。您创建的服务将显示在“服务”窗格中。

创建虚拟服务器

创建服务后,必须创建虚拟服务器来接受负载平衡网站、应用程序或服务器的流量。配置负载平衡后,用户通过虚拟服务器的 IP 地址或 FQDN 连接到负载平衡的网站、应用程序或服务器。

注意:

  • 尽管以“app_”为前缀的虚拟服务器名称存在于 ns.conf 文件中并且在运行 show 命令时显示,但它们不会出现在 GUI 中。但是,以“app”为前缀的虚拟服务器名称会显示在 GUI 中。

  • 在您将创建的服务绑定到虚拟服务器之前,以及 Citrix ADC 设备连接到这些服务并验证它们是否正常运行之前,该虚拟服务器将被指定为关闭。只有这样,虚拟服务器才会被指定为 UP。

使用 CLI 创建虚拟服务器

在命令提示符下,键入:

add lb vserver <name> <serviceType> <ip> <port>

add lb vserver Vserver-LB-1 HTTP 10.102.29.60 80
<!--NeedCopy-->

使用 GUI 创建虚拟服务器

导航到 流量管理 > 负载平衡 > 虚拟服务器,然后创建虚拟服务器。

将服务绑定到虚拟服务器

注意:一项服务最多可以绑定到 500 个虚拟服务器。

创建服务和虚拟服务器后,必须将服务绑定到虚拟服务器。通常,服务绑定到相同类型的虚拟服务器,但是您可以将某些类型的服务绑定到某些不同类型的虚拟服务器,如下所示。

虚拟服务器类型 服务类型 评论
HTTP SSL 通常,您需要将 SSL 服务绑定到 HTTP 虚拟服务器以进行加密。
SSL HTTP 通常,您需要将 HTTP 服务绑定到 SSL 虚拟服务器来执行 SSL 卸载。
SSL_TCP TCP 通常,您需要将 TCP 服务绑定到 SSL_TCP 虚拟服务器,为其他 TCP 执行 SSL 卸载(无内容感知的 SSL 解密)。

绑定到虚拟服务器的服务的状态决定了虚拟服务器的状态:如果所有绑定服务均为 DOWN,则虚拟服务器被标记为 DOWN;如果任何绑定服务为 UP 或 OUT OF SERVICE,则虚拟服务器的状态为 UP。

使用 CLI 将服务绑定到负载平衡虚拟服务器

在命令提示符下,键入:

bind lb vserver <name> <serviceName>

bind lb vserver Vserver-LB-1 Service-HTTP-1
<!--NeedCopy-->

使用 GUI 将服务绑定到负载平衡虚拟服务器

  1. 导航到“流量管理”>“负载平衡”>“虚拟服务器”,然后选择虚拟服务器。
  2. 单击“服务”部分,然后选择要绑定的服务。

注意:您可以将一个服务绑定到多个虚拟服务器。

验证配置

完成基本配置后,您可以在负载平衡设置中查看每个服务和负载平衡虚拟服务器的属性,以验证每个服务和负载平衡虚拟服务器的属性是否正确配置。配置启动并运行后,您可以查看每个服务和负载平衡虚拟服务器的统计信息,以检查可能出现的问题。

查看服务器对象的属性

您可以查看 Citrix ADC 设备配置中任何服务器对象的名称、状态和 IP 地址等属性。

使用命令行界面查看服务器对象的属性

在命令提示符下,键入:

show server <serverName>

show server server-1
<!--NeedCopy-->

使用 GUI 查看服务器对象的属性

导航到 流量管理 > 负载平衡 > 服务器。可用服务器的参数值显示在详细信息窗格中。

查看虚拟服务器的属性

您可以查看虚拟服务器的名称、状态、有效状态、IP 地址、端口、协议、方法和绑定服务数量等属性。如果您配置的不仅仅是基本负载平衡设置,则可以查看虚拟服务器的持久性设置、绑定到虚拟服务器的任何策略以及绑定到虚拟服务器的任何缓存重定向和内容交换虚拟服务器。

使用 CLI 查看负载平衡虚拟服务器的属性

在命令提示符下,键入:

show lb vserver <name>

show lb vserver Vserver-LB-1
<!--NeedCopy-->

使用 GUI 查看负载平衡虚拟服务器的属性

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器

  2. 在详细信息窗格中,单击虚拟服务器以在详细信息窗格底部显示其属性。

  3. 要查看绑定到此虚拟服务器的缓存重定向和内容交换虚拟服务器,请单击 显示 CS/CR 绑定。

查看服务的属性

您可以查看已配置服务的名称、状态、IP 地址、端口、协议、最大客户端连接数、每个连接的最大请求数和服务器类型,并使用此信息来解决服务配置中的任何错误。

使用 CLI 查看服务的属性

在命令提示符下,键入:

show service <name>

show service Service-HTTP-1
<!--NeedCopy-->

使用 GUI 查看服务的属性

导航到流量管理 > 负载平衡 > 服务。可用服务的详细信息显示在“服务”窗格上。

查看服务的绑定

您可以查看服务绑定到的虚拟服务器列表。绑定信息还提供服务绑定到的虚拟服务器的名称、IP 地址、端口和状态。您可以使用绑定信息来解决将服务绑定到虚拟服务器时出现的任何问题。

使用 CLI 查看服务的绑定

在命令提示符下,键入:

show service bindings <name>

show service bindings Service-HTTP-1
<!--NeedCopy-->

使用 GUI 查看服务的绑定

  1. 导航到流量管理 > 负载平衡 > 服务

  2. 在详细信息窗格中,选择要查看其绑定信息的服务。

  3. 在“操作”选项卡中,单击“显示绑定”。

查看虚拟服务器的统计信息

要评估虚拟服务器的性能或解决问题,可以显示 Citrix ADC 设备上配置的虚拟服务器的详细信息。您可以显示所有虚拟服务器的统计信息摘要,也可以指定虚拟服务器的名称以仅显示该虚拟服务器的统计信息。您可以显示以下详细信息:

  • 名称
  • IP 地址
  • 端口
  • 协议
  • 虚拟服务器的状态
  • 收到请求的比率
  • 命中率

使用 CLI 显示虚拟服务器统计信息

要显示设备上当前配置的所有虚拟服务器或单个虚拟服务器的统计信息摘要,请在命令提示符下键入:

stat lb vserver [`<name>`]
<!--NeedCopy-->

示例

stat lb vserver server-1
<!--NeedCopy-->

下图显示了示例统计数据。

负载平衡虚拟服务器统计

使用 GUI 显示虚拟服务器统计信息

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器

  2. 如果您只想显示一个虚拟服务器的统计信息,请在详细信息窗格中选择要显示其统计信息的虚拟服务器。

  3. 在详细信息窗格中,单击“统计”。

查看服务的统计信息

您可以使用服务统计信息查看请求速率、响应、请求字节、响应字节、当前客户端连接、浪涌队列中的请求、当前服务器连接等。

使用 CLI 查看服务的统计信息

在命令提示符下,键入:

stat service <name>
<!--NeedCopy-->

示例:

stat service Service-HTTP-1
<!--NeedCopy-->

使用 GUI 查看服务的统计信息

  1. 导航到流量管理 > 负载平衡 > 服务

  2. 在详细信息窗格中,选择要查看其统计信息的服务(例如 Service-HTTP-1)。

  3. 单击“统计”。统计数据显示在新窗口中。

设置基本负载平衡