Citrix ADC

Personalizar el algoritmo hash para la persistencia en los servidores virtuales

El dispositivo Citrix ADC utiliza algoritmos basados en hash para mantener la persistencia en los servidores virtuales. De forma predeterminada, el método de equilibrio de carga basado en hash utiliza un valor hash de la dirección IP y el número de puerto del servicio. Si un servicio está disponible en diferentes puertos en el mismo servidor, el algoritmo genera diferentes valores hash. Por lo tanto, diferentes servidores virtuales de equilibrio de carga pueden enviar solicitudes para la misma aplicación a diferentes servicios, rompiendo la pseudo-persistencia.

Como alternativa al uso del número de puerto para generar el valor hash, puede especificar un identificador hash único para cada servicio. Para un servicio, se debe especificar el mismo valor de identificador de hash en todos los servidores virtuales. Si un servidor físico sirve más de un tipo de aplicación, cada tipo de aplicación debe tener un identificador hash único.

El algoritmo对位calcular El英勇哈希帕拉联合国的年代ervicio funciona de la siguiente manera:

  • De forma predeterminada, una configuración global especifica el uso del número de puerto en un cálculo hash.
  • Si configura un identificador hash para un servicio, se utiliza y el número de puerto no lo es, independientemente de la configuración global.
  • Si no configura un identificador hash, pero cambia el valor predeterminado de la configuración global para que no especifique el uso del número de puerto, el valor hash se basa únicamente en la dirección IP del servicio.
  • Si no configura un identificador hash o cambia el valor predeterminado de la configuración global para utilizar el número de puerto, el valor hash se basa en la dirección IP y el número de puerto del servicio.

También puede especificar identificadores hash cuando utilice la CLI para enlazar servicios a un grupo de servicios. En la utilidad de configuración, puede abrir un grupo de servicios y agregar identificadores hash en la ficha Miembros.

Para cambiar la configuración global use-port-number mediante la CLI

En el símbolo del sistema, escriba:

set lb parámetro -UsePortForHashLB (YES NO)

Ejemplo:

> set lb parameter -usePortForHashLb NO Done >show lb parameter Global LB parameters: Persistence Cookie HttpOnly Flag: DISABLED Use port for hash LB: NO Done 

Para cambiar la configuración global use-port-number mediante la interfaz gráfica de usuario

  1. Vaya Administracion del trafico > Equilibrio decarga > Configurar parámetros de Equilibrio de carga.
  2. Seleccione o desactive Usar puerto para métodos LB basados en hash.

Para crear un nuevo servicio y especificar un identificador hash para un servicio mediante la CLI

En el símbolo del sistema, escriba los siguientes comandos para establecer el ID de hash y verificar la configuración:

添加服务<名称> (< ip > < serverName > < positive_integer >) < serviceType > < port > -Hashid
show service  

Ejemplo:

> add service flbkng 10.101.10.1 http 80 -hashId 12345 Done >show service flbkng flbkng (10.101.10.1:80) - HTTP State: DOWN Last state change was at Thu Nov 4 10:14:52 2010 Time since last state change: 0 days, 00:00:15.990 Server Name: 10.101.10.1 Server ID : 0 Monitor Threshold : 0 Down state flush: ENABLED Hash Id: 12345 1) Monitor Name: tcp-default State: DOWN Weight: 1 Done 

Para especificar un identificador hash para un servicio existente mediante la CLI

Escriba el comando set service, el nombre del servicio y-hashidseguido del valor de ID.

Para especificar un identificador hash al agregar un miembro del grupo de servicios

Para especificar un identificador hash para cada miembro que se agregará al grupo y verificar la configuración, en el símbolo del sistema, escriba los comandos siguientes (Asegúrese de especificar un HaShid único para cada miembro. ):

bind servicegroup    -hashId  show servicegroup  

Ejemplo:

bind servicegroup http_svc_group 10.102.27.153 80 -hashId 2222222 >show servicegroup SRV SRV - HTTP State: ENABLED Monitor Threshold : 0 … 1) 1.1.1.1:80 State: DOWN Server Name: 1.1.1.1 Server ID: 123 Weight: 1 Hash Id: 32211 Monitor Name: tcp-default State: DOWN … 2) 2.2.2.2:80 State: DOWN Server Name: 2.2.2.2 Server ID: 123 Weight: 1 Hash Id: 12345 Monitor Name: tcp-default State: DOWN … Done 

Para especificar un identificador hash para un servicio mediante la interfaz gráfica de usuario

  1. Vaya a Administración de Tráfico > Equilibrio de carga > Servicios.
  2. Cree un nuevo servicio o abra un servicio existente y especifique el ID de hash.

Para especificar un identificador hash para un miembro del grupo de servicios ya configurado mediante la interfaz gráfica de usuario

  1. Vaya Administracion del trafico > Equilibrio decarga > Grupos de servicio.
  2. Abra un miembro y escriba un ID de hash único.