Alta disponibilidad
La función de alta disponibilidad (que puede configurarse con el mandato dscontrol highavailability) está disponible para el componente Dispatcher, pero no para el componente CBR o Site Selector.
Para mejorar la disponibilidad de Dispatcher, la función del alta disponibilidad de Dispatcher utiliza los siguientes mecanismos:
- Dos sistemas Dispatcher con conectividad a los mismos clientes y el mismo clúster de servidores, así como conectividad entre los sistemas Dispatcher.
Los dos sistemas Dispatcher deben ejecutarse en el mismo tipo de sistema operativo y plataforma.
- Un mecanismo de "pulso" entre los dos Dispatcher para detectar anomalías
de Dispatcher. Como mínimo un par de pulsos debe tener las NFA del par como dirección de origen y destino.
Si es posible, al menos uno de los pares de pulsos debe estar en una subred distinta del tráfico del clúster normal. Si el tráfico de pulsos se identifica claramente se evitará que se produzcan falsas lecturas de otras señales en condiciones de cargas elevadas en la red y se mejorarán los tiempos de recuperación completos después de producirse una sustitución por anomalía.
- Una lista de destinos de alcance, direcciones que las dos máquinas Dispatcher puedan contactar para equilibrar la carga del tráfico. Para
obtener más información, consulte Capacidad de detección de anomalías utilizando pulsos y destino de alcance.
- La sincronización de la información de Dispatcher (es decir, las tablas de conexión, las tablas de accesibilidad y otra información).
- La lógica para elegir el sistema Dispatcher activo que se ocupa de un determinado clúster de servidores y el sistema
Dispatcher en espera que se sincroniza continuamente para dicho clúster de servidores.
- Un mecanismo para llevar a cabo la toma de control IP, cuando la lógica o un operador decide conmutar entre
activo y en espera.
Nota:
Si desea obtener una ilustración y una descripción de una configuración de
alta disponibilidad mutua , donde dos máquinas Dispatcher que comparten dos conjuntos de clústeres actúan como máquina de reserva entre sí,
consulte el apartado
Alta disponibilidad mutua. La alta disponibilidad mutua es parecida a la alta disponibilidad aunque se basa específicamente en la dirección de clúster en lugar de basarse en una máquina Dispatcher como un todo.
Las dos máquinas deben configurar de la misma forma sus conjuntos de clúster compartidos.
Configurar la alta disponibilidad
La sintaxis completa para dscontrol highavailability se encuentra
en dscontrol highavailability — controlar la alta disponibilidad.
Para obtener una descripción más completa de muchas de las tareas siguientes,
consulte Configuración de la máquina Dispatcher.
- Cree archivos script de alias en cada una de las dos máquinas Dispatcher. Consulte Utilización de scripts.
- Inicie el servidor en las dos máquinas servidor Dispatcher.
- Inicie el ejecutor en las dos máquinas.
- Asegurarse de que la dirección de no reenvío (NFA) de cada máquina Dispatcher
está configurada y que es una dirección IP válida para la subred de las máquinas Dispatcher.
- Añada la información de pulsos en las dos máquinas:
dscontrol highavailability heartbeat add dirección_origen dirección_destino
Nota:
dirección_origen
y
dirección_destino son las direcciones IP (los nombres DNS o las direcciones IP) de las máquinas Dispatcher. Los valores se invertirán en cada máquina. Por
ejemplo:
Primary - highavailability heartbeat add 9.67.111.3 9.67.186.8
Backup - highavailability heartbeat add 9.67.186.8 9.67.111.3
Como mínimo un par de pulsos debe tener las NFA del par como dirección de origen y destino.
Si es posible, al menos uno de los pares de pulsos debe estar en una subred distinta del tráfico del clúster normal. Si el tráfico de pulsos se identifica claramente se evitará que se produzcan falsas lecturas de otras señales en condiciones de cargas elevadas en la red y se mejorarán los tiempos de recuperación completos después de producirse una sustitución por anomalía.
Establezca dl número de segundos que el ejecutor utiliza para indicar el tiempo de espera de los pulsos de alta disponibilidad. Por ejemplo:
dscontrol executor set hatimeout 3
El valor predeterminado es 2.
- En las dos máquinas, configure la lista de direcciones IP que Dispatcher debe poder alcanzar para garantizar un servicio completo, utilizando el mandato reach add. Por ejemplo:
dscontrol highavailability reach add 9.67.125.18
Los destinos de alcance son recomendables aunque no necesarios. Consulte
Capacidad de detección de anomalías utilizando pulsos y destino de alcance para obtener más información.
- Añada la información de reserva en cada máquina:
- Para la máquina primary:
dscontrol highavailability backup add primary [auto | manual] puerto
- Para la máquina backup:
dscontrol highavailability backup add backup [auto | manual] puerto
- En alta disponibilidad mutua, cada máquina Dispatcher tiene ambos roles, primaria y reserva.
dscontrol highavailability backup add both [auto | manual] puerto
Nota:
Seleccione un puerto no utilizado en las máquinas como puerto. El número de puerto entrado se utilizará como clave para asegurarse de que el paquete lo recibe el host correcto.
- Compruebe el estado de alta disponibilidad en cada máquina:
dscontrol highavailability status
Cada una de las máquinas debe tener el rol correcto (reserva, primaria o ambos), estados y subestados. La primara debe estar activa y sincronizada;
la de reserva debe estar en modalidad de espera y debe sincronizarse
en poco tiempo. Las estrategias deben ser las mismas.
- Establezca la información de clúster, puerto y servidor en las dos máquinas.
Nota:
Para la configuración de alta disponibilidad mutua (
Figura 14),
por ejemplo, configure los conjuntos del clúster compartidos entre los dos sistema
Dispatcher tal como se indica a continuación:
- Inicie el gestor y los asesores en las dos máquinas.
Notas:
- Para configurar una sola máquina Dispatcher para direccionar paquetes sin una máquina de reserva, no emita ninguno de
los mandatos de alta disponibilidad durante el arranque.
- Para convertir dos máquinas Dispatcher configuradas para alta disponibilidad en una sola máquina, detenga el ejecutor en una de las máquinas y suprima las características de alta disponibilidad (los pulsos, alcance y reserva) de la otra.
- En los dos casos anteriores, debe utilizar direcciones de clúster para crear un alias para la tarjeta de interfaz de red, según sea necesario.
- Cuando dos máquinas Dispatcher se ejecutan en configuración de alta disponibilidad
y están sincronizadas, entre todos los mandatos dscontrol (para actualizar
la configuración) primero en la máquina en espera y, a continuación,
en la máquina activa.
- Cuando se ejecutan dos máquinas Dispatcher en una configuración de alta disponibilidad, pueden producirse resultados inesperados si en las dos máquinas se establecen distintos valores en alguno de los parámetros para el ejecutor, puerto o servidor (por ejemplo, port stickytime).
- Para la alta disponibilidad mutua, considere el caso en que uno de las máquinas Dispatcher debe direccionar de forma activa paquetes para su clúster primario así como tomar el control del direccionamiento de paquetes para el clúster de reserva. Asegúrese que esto no exceda la capacidad de la producción en esta máquina.
- Para sistemas
Linux,
al configurar la alta disponibilidad y la ubicación compartida juntas
cuando se utiliza el método de reenvío de puerto MAC del componente Dispatcher,
consulte Alternativas de alias de bucle de retorno de Linux cuando se utiliza el reenvío MAC de Load Balancer.
- Si desea sugerencias que le ayuden a reducir los problemas que pueden surgir derivados de los problemas de configuración de alta disponibilidad, como por ejemplo:
- Conexiones desactivadas después de la toma de control
- No se pueden sincronizar máquinas asociadas
- Solicitudes dirigidas erróneamente a la máquina asociada de reserva
Consulte Problema: sugerencias para configurar la alta disponibilidad.
Capacidad de detección de anomalías utilizando pulsos y destino de alcance
Además de los criterios básicos de detección de anomalía (la pérdida de conectividad entre máquinas
Dispatcher activas y en espera, que se detecta a través de los mensajes de pulso), hay
otro mecanismo de detección de anomalías denominado criterios de accesibilidad. Al configurar Dispatcher se puede proporcionar una lista de hosts a los que cada una de las máquinas
Dispatcher debe poder llegar para funcionar correctamente. Los dos asociados
de alta disponibilidad se comunican continuamente entre sí a través de pulsos y se
actualizan mutuamente en la cantidad de destinos de alcance en los que cualquiera de
ellos puede hacer ping. Si la máquina en espera hace ping en más destinos de alcance
que la máquina activa, se produce una sustitución por anomalía.
Los pulsos los envía la máquina Dispatcher activa y está previsto que la máquina Dispatcher en espera los reciba cada medio segundo. Si la máquina Dispatcher en espera no puede recibir un pulso durante un intervalo 2 segundos,
se empieza un proceso de sustitución por anomalía. Para que se produzca un proceso de toma de control por parte de
la máquina Dispatcher en espera, es necesario que se interrumpan todos los pulsos. Es decir, cuando hay dos pares de pulsos configurados, los dos pulsos deben interrumpirse. Para estabilizar el entorno de alta disponibilidad y para evitar que se produzca una sustitución por anomalía, añada más de un par de pulsos.
Para los destinos de alcance, debe elegir como mínimo un host para cada subred que utiliza la máquina Dispatcher. Los hosts pueden ser direccionadores, servidores IP u otros tipos de hosts. La
accesibilidad de hosts se obtiene mediante el asesor de alcance,
que hace ping en el host. La sustitución por anomalía tiene lugar si los mensajes de pulso no pueden transmitirse o si los criterios de accesibilidad los satisface mejor la máquina Dispatcher en espera que la máquina Dispatcher activa. Para tomar una decisión basándose en toda la información disponible, la máquina Dispatcher activa envía regularmente su capacidad de accesibilidad a la máquina Dispatcher en espera.
Luego la máquina Dispatcher en espera compara esta capacidad con la suya y decide si debe conmutar el control.
Nota:
Al configurar el destino de alcance, también debe iniciarse el
asesor de alcance. El asesor de alcance se inicia automáticamente al iniciar la función de gestor. Para
obtener más información sobre el asesor de alcance, consulte la página
***.
Estrategia de recuperación
Hay configuradas dos máquinas Dispatcher: la máquina primaria y una segunda máquina denominada de reserva. Durante el arranque, la máquina primaria envía todos los datos de conexión a la máquina de reserva hasta que la máquina se sincroniza. La máquina primaria pasa a estar activa, es decir, empieza el equilibrio de carga. Mientras tanto, la máquina de reserva supervisa el estado de la máquina primaria y se dice que está en estado en espera.
Si la máquina de reserva detecta en cualquier punto que la máquina primaria ha fallado,
realiza una toma de toma de control de las funciones de
equilibrio de carga de la máquina primaria y se convierte en la máquina activa. Cuando
la máquina primaria vuelve a estar operativa de nuevo, las máquinas responden de acuerdo
con la manera en que el usuario ha configurado la
estrategia de recuperación.
Existen dos tipos de estrategia:
- Automática
- La máquina primaria reanuda el direccionamiento de paquetes tan pronto vuelve a estar en funcionamiento.
- Manual
- La máquina de reserva sigue direccionando paquetes incluso después de que la primaria pase a estar en funcionamiento. Para devolver la máquina primaria al estado activo y restablecer la máquina de reserva al estado en espera es necesario realizar una intervención manual.
El parámetro strategy debe tener el mismo valor en ambas máquinas.
Utilizando el mandato takeover, la estrategia de recuperación manual permite forzar el direccionamiento de paquetes a una máquina determinada. La recuperación manual es útil cuando el mantenimiento se lleva a cabo en la otra máquina. La estrategia de recuperación de automática está diseñada para operaciones desatendidas normales.
Para una configuración de alta disponibilidad mutua, no existe ninguna
anomalía por clúster. Si hay algún problema en una máquina, incluso si sólo afecta a un clúster, la otra máquina tomará el control de los dos clústeres.
Nota:
Durante las situaciones de toma de control, es posible que se pierdan algunas actualizaciones
de conexiones. Esto puede causar que se terminen conexiones de larga ejecución existentes (como Telnet)
a las que se está accediendo cuando se lleva a cabo la toma de control.
Utilización de scripts
Para que Dispatcher direccione paquetes, cada dirección de clúster debe tener un alias asociado a un dispositivo de interfaz de red.
- En una configuración de Dispatcher autónomo, cada dirección de clúster debe tener un alias asociado a una tarjeta de interfaz de red (por ejemplo, en0, tr0).
- En una configuración de alta disponibilidad:
- En la máquina activa, cada dirección de clúster debe tener un alias asociado a una tarjeta de interfaz de red
(por ejemplo, en0, tr0).
- En una máquina en espera, cada dirección de clúster debe tener un alias asociado a un dispositivo de bucle de retorno (por ejemplo, lo0) sólo si se utiliza el método de reenvío MAC con servidores con ubicación compartida.
- En cualquier máquina en la que se haya detenido el ejecutor, deben eliminarse todos los alias para evitar que se produzcan conflictos con otra máquina que pueda estar iniciada.
Para obtener información sobre la creación de alias para la
tarjeta de interfaz de red, consulte Paso 5. Crear un alias para la tarjeta de interfaz de red.
Puesto que las máquinas Dispatcher cambiarán su estado cuando se detecte una anomalía,
los mandatos anteriores deben emitirse automáticamente. Para ello Dispatcher ejecutará scripts creados por el usuario. Los scripts de ejemplo se encuentran en el directorio siguiente:
- Sistemas operativos AIX, HP-UX, Linux y Solaris: /opt/ibm/edge/lb/servers/samples
- Sistemas operativos Windows: <raíz_instalación>ibm\edge\lb\servers\samples
Estos scripts se deben mover al directorio siguiente para poder trabajar:
- Sistemas operativos AIX, HP-UX, Linux y Solaris: /opt/ibm/edge/lb/servers/bin
- Sistemas operativos Windows: <raíz_instalación>ibm\edge\lb\servers\bin
Los scripts se ejecutarán automáticamente sólo si dsserver se está ejecutando.
Notas:
- Para una configuración de alta disponibilidad mutua, Dispatcher invoca cada script “go" con un parámetro que identifique la dirección del Dispatcher primario.
El script debe consultar este parámetro y ejecutar los mandatos executor
configure para dichas direcciones de clúster asociadas a dicho Dispatcher primario.
- Para configurar la alta disponibilidad para el método de reenvío NAT de Dispatcher, debe
añadir a los archivos de script las direcciones de retorno.
Se pueden utilizar los siguientes scripts de ejemplo:
- goActive
- El script goActive se ejecuta cuando un Dispatcher pasa a estado activo y empieza el direccionamiento de paquetes.
- Si ejecuta Dispatcher en una configuración de alta disponibilidad, debe crear este script. Este script suprime alias de bucle de retorno y añade alias de dispositivo.
- Si ejecuta Dispatcher en una configuración autónoma, no es necesario crear este script.
- goStandby
- El script goStandby se ejecuta cuando Dispatcher pasa al estado en espera y supervisa el estado de la máquina activa, pero sin direccionar ningún paquete.
- Si ejecuta Dispatcher en una configuración de alta disponibilidad, debe crear este script. Este script debe suprimir alias de dispositivo y añadir alias de bucle de retorno.
- Si ejecuta Dispatcher en una configuración autónoma, no es necesario crear este script.
- goInOp
- El script goInOp se ejecuta cuando se detiene un ejecutor de Dispatcher.
- Si suele ejecutar Dispatcher en una configuración de alta disponibilidad, debería crear este script. Este script suprime todos los alias de dispositivo y bucle de retorno.
- Si suele ejecutar Dispatcher en una configuración autónoma,
este script es opcional. Puede crearlo y que suprima alias de dispositivos, o puede optar por suprimirlos manualmente.
- goIdle
- El script goIdle se ejecuta cuando un Dispatcher pasa a estado desocupado y empieza el direccionamiento de paquetes. Esto ocurre cuando no se han añadido las características de alta disponibilidad, como en una configuración autónoma. También sucede en una configuración de alta disponibilidad antes de añadir las características de alta disponibilidad o después de eliminarlas.
- Si suele ejecutar Dispatcher en una configuración de alta disponibilidad, no debe crear este script.
- Si suele ejecutar Dispatcher en una configuración autónoma, este script es opcional. Puede crearlo y que añada alias de dispositivos, o puede optar por añadirlos manualmente. Si no crea este script para la configuración autónoma, tendrá que utilizar el mandato dscontrol executor configure o configurar manualmente los alias cada vez que se inicia el ejecutor.
- highavailChange
- El script highavailChange se ejecuta siempre que cambia el estado de alta disponibilidad dentro de
Dispatcher, como ocurre cuando se llama a los scripts "go". El parámetro único pasado a este script es el nombre del script "go" que acaba de ejecutar Dispatcher. Cree este script para utilizar información de cambio de estado, por ejemplo, para avisar a un administrador o para anotar el suceso.
En sistemas Windows: en la configuración, si dispone de Site
Selector equilibrando la carga de dos máquinas Dispatcher
que están funcionando en un entorno de alta disponibilidad, será necesario añadir un alias a la pila de
Microsoft para los Metric Servers.
Este alias debe añadirse al script goActive. Por ejemplo:
call netsh interface ip add address "Conexión de área local"
addr=9.37.51.28 mask=255.255.240.0
En el caso de goStandby y goInOp, será necesario suprimir el alias:
Por ejemplo:
call netsh interface ip delete address "Conexión de área local"
addr=9.37.51.28
Si hay varias NIC en la máquina, compruebe primero qué interfaz debe utilizar emitiendo el siguiente mandato en el indicador de mandatos: netsh interface ip show address. Este mandato devolverá una lista de las interfaces configuradas actualmente y asignará un número a "Conexión de área local" (por ejemplo, "Conexión de área local 2") para que pueda determinar cuál debe utilizar.
En Linux para S/390: Dispatcher emite un
ARP injustificado para mover direcciones IP de un Dispatcher a otro. Este mecanismo
está, por lo tanto, relacionado con el tipo de red implícito. Cuando se ejecuta
Linux para S/390,
Dispatcher sólo puede realizar de forma nativa tomas de control de alta disponibilidad
(completas con movimientos de dirección IP) en las interfaces que pueden emitir
un ARP injustificado y configurar la dirección en la interfaz local.
Este mecanismo no funcionará
correctamente en interfaces punto a punto como, por ejemplo, IUCV y CTC, y no
funcionará correctamente en algunas configuraciones de qeth/QDIO.
Para estas interfaces y configuraciones donde la función de toma de
control de IP nativa del Dispatcher no funcionará correctamente, el cliente puede
colocar mandatos adecuados en los scripts go para mover las direcciones de manera
manual.
De esta manera
también se asegurará de que dichas topologías de red se puedan beneficiar de la
alta disponibilidad.