ADC

Cierre elegante de los servicios

Durante las interrupciones programadas de la red, como las actualizaciones del sistema o el mantenimiento del hardware, es posible que tenga que cerrar o inhabilitar algunos servicios. Más adelante, puede habilitar el servicio mediante el comando <name> “enable service”.

Para evitar interrumpir las sesiones establecidas, puede colocar un servicio en el estado de transición fuera de servicio (TROFS) mediante una de las siguientes acciones:

  • Agregar un código o cadena TROFS al monitor: configure el servidor para que envíe un código o cadena específicos en respuesta a una sonda del monitor.
  • Desactive explícitamente el servicio y:
    • Establezca un retraso (en segundos).
    • Habilite el apagado correcto.

Adición de un código o cadena TROFS

Si vincula solo un monitor a un servicio y el monitor está habilitado para TROFS, puede colocar el servicio en el estado TROFS en función de la respuesta del servidor a una sonda de monitor. Esta respuesta se compara con el valor del parámetro TrofsCode para un monitor HTTP o con el parámetro TrofsString para un monitor HTTP-ECV o TCP-ECV. Si el código coincide, el servicio se coloca en el estado TROFS. En este estado, continúa respetando las conexiones persistentes.

Si hay varios monitores enlazados a un servicio, el estado efectivo del servicio se calcula en función del estado de todos los monitores enlazados al servicio. Al recibir una respuesta TROFS, el estado del monitor habilitado para TRFS se considera UP a efectos de este cálculo. Para obtener más información sobre cómo un dispositivo NetScaler designa un servicio como UP, consulte Configuración de un valor umbral para los monitores enlazados a un servicio.

Importante:

  • Puede vincular varios monitores a un servicio, pero no debe habilitar TROFS más de uno de ellos.
  • Puede convertir un monitor compatible con TROFS en un monitor que no esté habilitado para TROFS, pero no al revés.

Para configurar un código o cadena TROFS en un monitor mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba uno de los siguientes comandos:

add lb monitor <monitor-name> HTTP -trofsCode <respcode>

add lb monitor <monitor-name> HTTP-ECV  -trofsString <resp string>

add lb monitor <monitor-name> TCP-ECV  -trofsString <resp string>
<!--NeedCopy-->

Para modificar el código o la cadena TROFS mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba uno de los siguientes comandos:

set lb monitor <trofs monitorname> HTTP -trofscode <newcode>

set lb monitor <trofs monitorname> HTTP-ECV -trofsstring <new string>

set lb monitor <trofs monitorname> TCP-ECV -trofsstring <new string>
<!--NeedCopy-->

Nota: Puede usar el comando set solo si anteriormente se agregó un monitor compatible con TROFS. No puede utilizar este comando para configurar el código o la cadena TROFS de un monitor que no esté habilitado para TROFS.

Para configurar un código o cadena TROFS en un monitor mediante la utilidad de configuración

  1. Vaya a Administración del tráfico > Equilibrio de carga > Monitores.
  2. En el panel Monitores, haga clic en Agregar y realice una de las siguientes acciones:
    • Seleccione Escribir como HTTP y especifique un código TROFS.
    • Seleccione Escribir como HTTP-ECV o TCP-ECV y especifique una cadena TROFS.

Desactivación de un servicio

Sin embargo, a menudo no se puede estimar el tiempo necesario para que todas las conexiones a un servicio completen las transacciones existentes. Si una transacción no se ha completado al expirar el tiempo de espera, el cierre del servicio puede provocar la pérdida de datos. En este caso, puede especificar el cierre correcto del servicio, de modo que el servicio se inhabilite solo cuando el servidor o el cliente cierren todas las conexiones actuales del cliente activas. Consulte la siguiente tabla para conocer el comportamiento si especifica un tiempo de espera además del cierre correcto.

La persistencia se mantiene de acuerdo con el método especificado, incluso si se habilita el apagado correcto. El sistema continúa sirviendo a todos los clientes persistentes, incluidas las nuevas conexiones de los clientes, a menos que el servicio esté marcado como DOWN durante el estado de apagado estable como resultado de las comprobaciones realizadas por un monitor.

En la tabla siguiente se describen las opciones de apagado adecuadas.

State Resultados
Se habilita el apagado correcto y se especifica un tiempo de espera. El servicio se cierra después de servir la última de las conexiones de cliente activas actuales, incluso si el tiempo de espera no ha expirado. El dispositivo comprueba el estado de las conexiones una vez por segundo. Si el tiempo de espera expira, se cerrarán todas las sesiones abiertas.
El apagado correcto está desactivado y se especifica un tiempo de espera. El servicio se cierra solo después de que expire el tiempo de espera, incluso si todas las conexiones establecidas se ofrecen antes del vencimiento.
El apagado correcto está activado y no se especifica ningún tiempo de espera. El servicio se cierra solo después de que se haya servido la última de las conexiones previamente establecidas, independientemente del tiempo necesario para prestar servicio a la última conexión.
El apagado correcto está desactivado y no se especifica ningún tiempo de espera. Sin cierre elegante. El servicio se cierra inmediatamente después de elegir la opción de inhabilitar o de emitir el comando disable. (El tiempo de espera predeterminado es de cero segundos).

Para terminar las conexiones existentes cuando un servicio o un servidor virtual está marcado como DOWN, puede utilizar la opción Desactivar estado. Para obtener más información, consulte Habilitación de la limpieza de conexiones de servidores virtuales.

Para configurar el apagado estable para un servicio mediante la interfaz de línea de comandos

En la línea de comandos, escriba los siguientes comandos para cerrar un servicio correctamente y comprobar la configuración:

disable service <name> [<delay>] [-graceFul (YES|NO)]

show service <name>
<!--NeedCopy-->

Ejemplo:

> disable service svc1 6000 -graceFul YES
Done
>show service svc1
svc1 (10.102.80.41:80) - HTTP
State: GOING OUT OF SERVICE (Graceful, Out Of Service in 5998 seconds)
Last state change was at Mon Nov 15 22:44:15 2010
Time since last state change: 0 days, 00:00:01.160
...
Down state flush: ENABLED

1 bound monitor:
1) Monitor Name: tcp-default
State: UP             Weight: 1
Probes: 13898    Failed [Total: 0 Current: 0]
Last response: Probe skipped - live traffic to service.
Response Time: N/A
Done

>show service svc1
svc1 (10.102.80.41:80) - HTTP
State: OUT OF SERVICE
Last state change was at Mon Nov 15 22:44:19 2010
Time since last state change: 0 days, 00:00:03.250
Down state flush: ENABLED

1 bound monitor:
1)  Monitor Name: tcp-default
State: UNKNOWN           Weight: 1
Probes: 13898    Failed [Total: 0 Current: 0]
Last response: Probe skipped - service state OFS.
Response Time: N/A
Done
<!--NeedCopy-->

Para configurar el cierre correcto de un servicio mediante la utilidad de configuración

  1. Vaya a Traffic Management > Load Balancing > Services.
  2. Abra el servicio y, en la lista de acciones, haga clic en Desactivar. Introduzca un tiempo de espera y seleccione Agraciado.
Cierre elegante de los servicios