Citrix ADC

优先 订购 GSLB服务

服务优先级排序功能允许您根据负载均衡选择首选项对服务或服务组的顺序进行优先级排序。 当 执行以下操作时,可以配置 优先级顺序 :

  • 绑定 服务到 GSLB 虚拟服务器。
  • 2 .绑定 服务组和 GSLB虚拟服务器 
  • 将服务组成员 绑定到 GSLB服务组  

目前,您可以使用以下方法为服务配置优先级 顺序。然而,这些方法有以下限制: 

  • 配置备份虚拟服务器链:配置行数  高,必须运行 显示多次执行 命令,以了解每个虚拟服务器的所有GSLB服务的状态。

  • 配置首选位置:  必须 为所有应用程序端点创建位置项。

 服务 的优先级顺序 功能通过更少的配置命令解决了上述限制 ,并帮助您 完成 首选位置配置,而不需要所有GSLB服务的IP地址的位置表示。

配置GSLB业务的优先级顺序

要配置GSLB业务的优先级顺序,请使用 订单数量< >在bind命令中增加 参数

注意:

最低的订单号具有最高的优先级。

命令:

绑定GSLB vserver -servicename/servicegroupname  -order

例如,考虑 是绑定到GSLB虚拟服务器(gv1)的一组 服务。使用 — 秩序<数字>参数 ,则 可以 优先考虑 的 选择 的顺序,如下所示:

  • Set 1 (s1, s2)绑定到gv1 - order 1 
  • 集2 (s3, s4)绑定到gv1 -订单 2 
  • 集3 (s5, s6)绑定到gv1 -顺序3 

将业务绑定到gv1、 和 后,当 gv1 接收到客户端流量时,服务 的 选择 的顺序为 :

  • 虚拟服务器(gv1) 选择  服务 设置1 (s1和s2)  秩序  数量1, 因为这组分配最低  订单号码。 缺省情况下,顺序号越低优先级越高。
  • 如果set 1中的所有服务都DOWN,则gv1选择 set 2 (s3和s4) ,订单为 ,编号为 2。
  • 如果set 1和set 2中的所有服务都关闭, gv1选择 set 3 (s5和s6) ,订单号为  3。

使用 配置GSLB业务的优先级顺序 

要配置GSLB服务的优先级顺序,请在命令提示符下输入以下命令: 

  1. 添加GSLB站点。

    添加GSLB站点site1 1.1.1.1

    添加GSLB站点site2 1.1.1.2

  2. 添加GSLB虚拟服务器。

    添加gslb vserver gv1 HTTP

  3. 添加GSLB服务 

    添加GSLB服务gsvc1 1.1.1.3 HTTP 80 -sitename site1

    添加GSLB服务gsvc2 1.1.1.4 HTTP 80 -sitename site2

    添加GSLB服务gsvc3 1.1.1.5 HTTP 80 -sitename site1

    添加GSLB服务gsvc4 1.1.1.6 HTTP 80 -sitename site2

    添加GSLB服务gsvc5 1.1.1.7 HTTP 80 -sitename site1

    添加GSLB服务gsvc6 1.1.1.8 HTTP 80 -sitename site2

  4. 设置订单号,并绑定GSLB虚拟服务器 

    绑定GSLB vserver gv1 gsvc1 -order 1

    绑定GSLB vserver gv1 gsvc2 -order 1

    绑定GSLB vserver gv1 gsvc3 -order 2

    绑定GSLB vserver gv1 gsvc4 -order 2

    绑定GSLB vserver gv1 gsvc5 -order 3

    绑定GSLB vserver gv1 gsvc6 -order 3

配置GSLB业务的优先级顺序 使用 的 GUI 

先决条件:

  • 已创建GSLB站点。
  • 已创建GSLB虚拟服务器。
  • 已创建GSLB服务。

配置GSLB业务的优先级顺序,并绑定GSLB虚拟服务器。

  1. 导航到 流量管理 > GSLB > 虚拟服务器 ,双击GSLB虚拟服务器。

  2. GSLB虚拟服务器,在 下GSLB服务和GSLB服务组绑定部分中,点击GSLB虚拟服务器到GSLB服务绑定

  3.  中GSLB服务和GSLB服务组绑定 对话框中,单击 添加绑定 。

  4. 在  GSLB服务绑定在“ ”对话框中,选择一个服务。

  5. 在 中键入一个数字订单 字段设置为 ,设置 为服务的 优先顺序 。

    配置优先级顺序并绑定GSLB业务

  6. 单击 绑定 。

  7. 重复步骤1-6,为不同的业务配置不同的优先顺序号。

使用 LB策略命令配置 GSLB业务 的 优先级顺序

缺省情况下, 最低的 订单号 优先级为  。 However, you can defer this default behavior using the new LB action and policy commands. You can configure the service selection order based on the incoming client traffic or client data.

例如,考虑绑定到GSLB虚拟服务器(gv1)的一组服务。使用 — 秩序<数字>参数“ ”,则“ ”已配置了各业务的优先级顺序:“ ”

  • Set 1 (s1, s2)绑定到gv1 - order 1 

  • 集合2 (s3, s4)绑定到gv1 - order 2 

  • 集合3 (s5, s6)绑定到gv1 - 3阶 

缺省情况下,顺序号越小优先级越高。 Therefore, the default priority order of preference is 1, 2, and 3 for services in set 1, set2, and set3, respectively. However, for a specific client traffic, you want to change the priority order to 3, 1, and 2. To achieve this, you can add an LB policy and bind it to gv1.

一条 LB策略 命令 由规则和动作两部分组成。 The rule is associated with an action, which is performed if a request matches the rule. 

注意:

 LB 策略命令对于LB和GSLB配置都是通用的,并且适用于Citrix ADC设备处理的请求。

磅的行动

表达式:

添加lb动作

例子:

add lb action act1 -type SELECTIONORDER -value 3 2

参数:

  • 名字: 动作名称

  • 类型: 动作类型 

  • 字符串: 指定动作的值。

磅 政策

表达式:

添加lb策略  < undeffaction >

例子:

add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

参数:

  • 名字:策略名称。 

  • 规则: 规则 由一个或多个表达式组成。规则与一个操作相关联,如果  请求与规则匹配,则执行该操作。 

  • 行动: 支持DROP、NOLBACTION、RESET 

  • undefaction: 当请求与策略不匹配时,Citrix ADC设备生成一个未定义事件(UNDEF事件)。 您可以使用set lb param -undefAction  命令 到 设置未定义动作。 You can assign these actions to an undefined event: DROP, NOLBACTION, and RESET. 

让我们 考虑一个例子,您添加了一个LB动作 LB策略,并将策略绑定到GSLB虚拟服务器(gv1) ,如下所示:

add lb action act1 -type SELECTIONORDER -value 3 1 2

add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

bind gslb vserver gv1 - policyname pol1 -priority 20 - gotoPriorityExpression END -type REQUEST

该规则选择与 IP 地址匹配的客户端流量,8.8.8.8,并将该流量发送到gv1。LB动作类型(SELECTIONORDER)定义服务选择顺序。当 gv1 接收到IP地址为 的客户端 流量时,将 LB 策略绑定到 gv1和 上8.8.8.8, 选择的顺序如下: 

  1. 虚拟服务器gv1选择集 3 (s5 和s6)中的服务,优先级为 ,顺序为 3. 

  2. 如果集合 3 中的所有业务都是DOWN,则gv1选择集合 1 (s1 和s2),优先级为 ,顺序为2。

  3. 如果集合 3 和集合2中的所有服务都关闭,则gv1选择顺序为 1的集合 1 (s1 和s2)。

使用LB策略命令 通过命令行 为 GSLB 服务 配置 优先级

要使用LB策略命令配置GSLB服务的优先级顺序,请在命令提示符下输入以下命令: 

  1. 添加LB动作 

    add lb action act1 -type SELECTIONORDER -value 3 1 2

  2. 添加LB策略 

    add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

  3. 添加GSLB站点。

    添加GSLB站点site1 1.1.1.1

    添加GSLB站点site2 1.1.1.2

  4. 添加GSLB虚拟服务器 

    添加gslb vserver gv1 HTTP

  5. 绑定LB策略到 GSLB虚拟服务器 

    bind gslb vserver gv1 - policyname pol1 -priority 20 - gotoPriorityExpression END -type REQUEST

  6.  添加 GSLB 服务

    添加GSLB服务gsvc1 1.1.1.3 HTTP 80 -sitename site1

    添加GSLB服务gsvc2 1.1.1.4 HTTP 80 -sitename site2

    添加GSLB服务gsvc3 1.1.1.5 HTTP 80 -sitename site1

    添加GSLB服务gsvc4 1.1.1.6 HTTP 80 -sitename site2

    添加GSLB服务gsvc5 1.1.1.7 HTTP 80 -sitename site1

    添加GSLB服务gsvc6 1.1.1.8 HTTP 80 -sitename site2

  7. 设置订单并绑定到GSLB虚拟服务器 

    绑定GSLB vserver gv1 gsvc1 -order 1

    绑定GSLB vserver gv1 gsvc2 -order 1

    绑定GSLB vserver gv1 gsvc3 -order 2

    绑定GSLB vserver gv1 gsvc4 -order 2

    绑定GSLB vserver gv1 gsvc5 -order 3

    绑定GSLB vserver gv1 gsvc6 -order 3

使用负载均衡策略命令 通过GUI界面 配置 GSLB 服务 的优先级顺序

先决条件:

  • 已创建GSLB站点。
  • 已创建GSLB虚拟服务器。
  • 已创建服务。

步骤1 -创建LB动作:

  1. 导航到AppExpert > LB > Actions

  2. 在 磅的行为 单击 添加

  3.  中创建 磅操作对话框中, 指定以下参数的值 :

    • 动作名称: act1
    • 类型: SELECTIONORDER
    • 价值: 3 1 2

      注意:

      这些数字价值“ ”字段之间用“ ”和“ ”分隔。

    添加LB动作

  4. 点击创建

步骤2 - 创建LB策略:

  1. 导航到AppExpert > LB >策略

  2. 在 磅的政策,单击 添加

  3.  中创建LB策略对话框中, 输入以下参数:

    • 名字: pol1
    • 行动: act1
    • Undefined-Result行动: NOLBACTION
    • 表达式: CLIENT.IP.SRC.EQ (8.8.8.8)

    添加LB策略

  4. 单击 创建

步骤3 - 绑定 和 GSLB虚拟服务器。

  1. 导航到 流量管理>GSLB >虚拟服务器 和 双击 GSLB虚拟服务器。

  2. GSLB虚拟服务器,在高级设置部分, 单击 政策

  3.  中政策 部分, 点击GSLB虚拟服务器LB策略绑定

  4. 在 政策约束力对话框中, 输入以下参数:

    • 选择政策: pol 1
    • 优先级: 10
    • 转到表达式:结束

    绑定LB策略

  5. 点击绑定

步骤4 -配置GSLB服务的优先级顺序:

配置GSLB的优先级顺序,请参见通过 的 界面配置GSLB业务 的优先级顺序过程。

 持久性 设置 服务

如果为服务配置了 持久性 ,那么默认情况下,优先级总是  给 持久性。

例如, 考虑一个服务 ,它配置了 持久性  和 优先级 order 1。如果 服务 优先 秩序 0, 然后  总是 优先考虑服务  1 .  优先顺序

但是,您可以使用 下面的 CLI命令 覆盖此默认行为 : 

设置gslb参数-overridePersistencyforOrder

让我们 考虑下面的例子: 

一套   服务绑定到 GSLB虚拟服务器 (gv1) 以下  优先顺序: 

  • 设置1 (s1, s2) 绑定到gv1 - order 1 

  • Set 2 (s3, s4) 绑定到gv1 - 订单 2 

在命令提示符处输入以下命令 覆盖持久性: 

设置gslb参数-overridePersistencyforOrder YES

如果set 1(配置了持久性服务)DOWN,则set 2服务处理所有请求,直到set 1服务UP。创建优先级为2的持久性条目。

我们 假设一段时间后, set 1 服务 是 UP。现在,set 1和set 2服务都已启动以处理请求。 在 this scenario, new load balancing decisions are made as higher order services are UP. The persistence entry is overridden with a new load balancing entry. 

 优先切换

与优先级  切换功能,  可以 切换 一切交通  低优先级 服务期间 版本升级   服务   更高优先级 秩序。 可以使用以下命令 切换 优先级:

  • set gslb vserver -toggleorder <升序/降序>

  • 设置GSLB vserver v1 -orderthreshold 80

例如, 让我们 考虑有两个优先级如下的服务: 

  •  0 服务 1 - 秩序
  • 服务2 - 订购 1 

缺省情况下,所有流量由 服务 1 处理。如果 服务1 需要升级,然后  交通 需要  路线2 .  服务

在命令提示符下,输入以下命令 切换 优先级: 

set gslb vserver -toggleorder 降序

缺省情况下, 0 的优先级高于 。 However, after priority toggling, 1 is considered as a higher priority. If persistence entry is present for the service, the persistence preference behavior is as explained in the 服务的持久性设置部分。