Tiempo de lectura: 8 minutos
La alta disponibilidad es la descripción de un sistema diseñado para ser tolerante a fallos, altamente confiable, que funciona de forma continua sin intervención o que tiene un único punto de falla. Estos sistemas son muy solicitados para aumentar la disponibilidad y el tiempo de actividad necesarios para mantener una infraestructura en funcionamiento sin problemas. Las siguientes características definen un sistema de Alta Disponibilidad.
- Clústeres de alta disponibilidad
- Tolerancia a fallos
- Fiabilidad y fiabilidad
- Manejo de errores orquestado
- Escalabilidad
- Disponibilidad & Tiempo de actividad de cinco 9
- Heartbeat
- Arquitectura de clúster
- Disponibilidad de ingeniería
- Implementación sin complicaciones
- Objetivos de mejores prácticas
- Diseño
- Disponibilidad
- Deployment
- Evaluation & Testing
- Replicación
- Monitoreo & Seguimiento
- Conclusión
Clústeres de alta disponibilidad
Los clústeres de servidores de alta disponibilidad (también conocidos como clústeres de alta disponibilidad) se definen como un grupo de servidores que admiten aplicaciones o servicios que se pueden utilizar de forma fiable con una cantidad mínima de tiempo de inactividad. Estos clústeres de servidores funcionan utilizando un tipo de software especializado que utiliza redundancia para alcanzar niveles críticos del tiempo de actividad de five9. En la actualidad, aproximadamente el 60% de las empresas necesitan cinco o más de cinco años para prestar servicios vitales a sus empresas.
El software de alta disponibilidad aprovecha el software redundante instalado en varios sistemas agrupando o agrupando un grupo de servidores que se centran en un objetivo común en caso de que los componentes fallen. Sin esta forma de agrupación en clúster, si la aplicación o el sitio web se bloquean, el servicio no estará disponible hasta que se reparen los servidores. La agrupación en clústeres de HA aborda estas situaciones detectando los fallos y reiniciando o reemplazando rápidamente el servidor, el servicio o el servidor con un nuevo proceso que no requiere intervención humana. Esto se define como un modelo de «conmutación por error».
La siguiente ilustración muestra un clúster simple de alta disponibilidad de dos nodos.
Los clústeres de alta disponibilidad se utilizan a menudo para bases de datos de misión crítica, uso compartido de datos, aplicaciones y sitios web de comercio electrónico distribuidos en una red. Las implementaciones de alta disponibilidad crean redundancia dentro de un clúster para eliminar cualquier punto de fallo único, incluso a través de múltiples conexiones de red y almacenamiento de datos, que se pueden conectar de forma redundante a través de redes de área de almacenamiento geográficamente diversas.
Los servidores en clúster de alta disponibilidad suelen utilizar una metodología de replicación denominada Heartbeat, que se utiliza para supervisar el estado y el estado de cada nodo dentro del clúster a través de una conexión de red privada. Una circunstancia crítica que todo software de clústeres debe poder abordar se llama cerebro dividido, que ocurre cuando todos los enlaces internos privados se caen simultáneamente, pero los nodos del clúster continúan ejecutándose. Si esto ocurre, es posible que todos los nodos del clúster determinen incorrectamente que todos los demás nodos se han caído e intenten iniciar servicios que otros nodos aún puedan estar en ejecución. Esta condición de instancias duplicadas que ejecutan servicios similares, lo que podría causar corrupción de datos en el sistema.
Una versión típica de software de alta disponibilidad proporciona atributos que incluyen hardware y software de la redundancia. Estas características incluyen:
- Detección y descubrimiento automáticos de componentes de hardware y software.
- Asignación autónoma de roles activos y contingentes a nuevos elementos.
- Detección de servicios de software, componentes de hardware y otras construcciones de sistemas fallidos.
- Supervisión y notificación de componentes redundantes y cuándo deben activarse.
- Capacidad de escalar el clúster para acomodar los cambios requeridos sin intervención externa.
Tolerancia a fallos
Fallo la tolerancia se define como la capacidad de la infraestructura de un sistema para prever y soportar errores y proporcionar una respuesta automática a esos problemas si se encuentran. La cualidad principal de estos sistemas son los factores de diseño avanzados, a los que se puede recurrir en caso de que ocurra un problema. Ser capaz de configurar una infraestructura que visualice todas las soluciones posibles es una tarea considerable que implica el conocimiento y la experiencia para contrarrestar las múltiples preocupaciones antes de que ocurran. Los arquitectos de sistemas que diseñen tales marcos tendrán las metodologías que prevean los medios para aliviar estos problemas de antemano y la capacidad de implementar estos marcos.
Las siguientes metodologías de redundancia están disponibles y deben revisarse durante las etapas iniciales de diseño e implementación.
- Modelo N + 1: Este concepto infiere la suma de los equipos necesarios (a los que nos referiremos como ‘N’) para mantener todo el marco en funcionamiento, con una copia de seguridad de componentes independiente adicional para cada uno de los ‘N’ componentes en caso de fallo.
- Modelo N + 2: Similar al modelo N + 1, pero con una capa adicional de protección si fallan dos componentes.
- Modelo 2N-Esta modalidad tiene una copia de seguridad redundante dual para cada elemento para garantizar que el marco del sistema sea completamente funcional.
- Modelo 2N + 1-De nuevo, este modelo es similar al modelo 2N, pero con un componente suplementario para agregar una capa terciaria de protección al marco del sistema.
A medida que los modelos progresan de Nx a 2Nx, el factor de costo también aumenta exponencialmente en lo que respecta a los sistemas verdaderamente redundantes que requieren tiempo de actividad. Estas modalidades son fundamentales para la estabilidad y la disponibilidad.
Fiabilidad y fiabilidad
Uno de los inquilinos centrales de un sistema de alta disponibilidad es el tiempo de actividad. El tiempo de actividad es de suma importancia, especialmente si el propósito de un sistema es proporcionar un servicio esencial como los sistemas 911 que responden a situaciones emergentes. En los negocios, se requiere un sistema de alta disponibilidad para garantizar que un servicio vital permanezca en línea. Un ejemplo sería un ISP u otro servicio que no puede tolerar una pérdida de función. Estos sistemas deben diseñarse con alta disponibilidad y tolerancia a fallos para garantizar la fiabilidad y la disponibilidad, al tiempo que se minimizan los tiempos de inactividad.
Manejo de errores orquestado
Si se produce un error, el sistema se adaptará y compensará el problema mientras permanece activo y en línea. Construir este tipo de sistema requiere previsión y planificación para lo inesperado. Ser capaz de prever los problemas de antemano y planificar su resolución es una de las principales cualidades de un sistema de alta disponibilidad.
Escalabilidad
Si el sistema encuentra un problema como un pico de tráfico o un aumento en el uso de recursos, la capacidad del sistema de escalar para satisfacer esas necesidades debe ser automática e inmediata. Las características de construcción como estas en el sistema proporcionarán la capacidad del sistema para responder rápidamente a cualquier cambio en la funcionalidad sistémica de los procesos de arquitectura.
Disponibilidad & Tiempo de actividad de cinco 9
Cinco 9 es el estándar de la industria de medición del tiempo de actividad. Esta medición puede estar relacionada con el sistema en sí, los procesos del sistema dentro de un marco o el programa que opera dentro de una infraestructura. Esta estimación a menudo está relacionada con el programa que se entrega a los clientes en el formulario o en un sitio web o aplicación web. Una disponibilidad de sistemas se puede medir como el porcentaje de tiempo que los sistemas están disponibles utilizando esta ecuación: x = (n – y) * 100 / n. Esta fórmula denota que donde » n «es la cantidad total de minutos dentro de un mes calendario, y» y » es la cantidad de minutos que el servicio es inaccesible dentro de un mes calendario. La siguiente tabla describe el tiempo de inactividad relacionado con el porcentaje de «9» representado.
Como podemos ver, cuanto mayor sea el número de «9», más tiempo de actividad se proporciona. El objetivo de un sistema de alta disponibilidad es lograr una cantidad mínima de tiempo de inactividad potencial para garantizar que el sistema esté siempre disponible para proporcionar los servicios designados.
Heartbeat
Uno de los principales componentes de alta disponibilidad se llama Heartbeat. Heartbeat es un demonio que funciona con un software de gestión de clústeres, como Marcapasos, diseñado específicamente para la gestión de recursos de clústeres de alta disponibilidad. Sus características más importantes son:
- No hay un número máximo específico o fijo de nodos: El latido del corazón se puede usar para construir grandes grupos, así como grupos elementales.Supervisión de recursos: los recursos se pueden reiniciar automáticamente o mover a otro nodo en caso de fallo.
- Se necesita un mecanismo de esgrima para eliminar los nodos fallidos del clúster.
- Una gestión de recursos refinada basada en políticas, interdependencias de recursos y restricciones.
- Conjunto de reglas basadas en el tiempo para permitir diferentes políticas en función de un período de tiempo definido.
- Un grupo de scripts de recursos (para software como Apache, DB2,Oracle, PostgreSQL, etc.) incluye una gestión más granular.
- Una interfaz gráfica de usuario para configurar, controlar y supervisar recursos y nodos.
Arquitectura de clúster
Disponibilidad de ingeniería
El primer segmento de un sistema de alta disponibilidad es la utilización claramente diseñada de servidores de aplicaciones en clúster diseñados de antemano para distribuir la carga entre todo el clúster, lo que incluye la capacidad de conmutación por error a un sistema secundario y posiblemente terciario.
La segunda división incluye la necesidad de escalabilidad de la base de datos. Esto implica el requisito de escalar, ya sea horizontal o verticalmente, utilizando replicación maestra múltiple y un equilibrador de carga para mejorar la estabilidad y el tiempo de actividad de la base de datos.
La tercera característica es la diversidad geográfica. Esto garantiza que, en caso de que un desastre natural afecte a un solo lugar, la falla no obstaculizará la capacidad de proporcionar el servicio.
El cuarto componente, y posiblemente el más importante, es proporcionar una metodología de replicación de copias de seguridad y recuperación ante desastres. La capacidad de garantizar una copia de seguridad en funcionamiento garantiza que nuestros datos estén seguros. El uso de la última estrategia de copia de seguridad (3-2-3) indica que debe tener tres copias de sus datos, en dos tipos de medios diferentes, en tres ubicaciones externas geográficamente diversas para la recuperación ante desastres.
Implementación sin complicaciones
Al analizar el tema de las implementaciones sin complicaciones, deben asignarse específicamente a sus requisitos empresariales específicos. Las siguientes características beneficiarán a nuestro marco operativo, independientemente de la vertical de la industria:
- Requisitos de formación modestos
- Aumento de la productividad
- Ciclo de vida prolongado
- Rentabilidad
- Eficiencia operativa
- Implementación rápida
- Reducción de los riesgos de seguridad
- Integración directa
- Gestión simplificada
Estas características definen muchos de los aspectos principales necesarios para garantizar una solución de agrupación en clúster altamente fiable y tolerante a fallos. La alta disponibilidad, en esencia, debe diseñarse teniendo en cuenta estas características. Capacidades como estas son elementos tangibles clave que son activos necesarios al adoptar opciones de implementación.
Objetivos de mejores prácticas
Diseño
El objetivo principal uno de los objetivos de prácticas recomendadas de alta disponibilidad es el diseño, la instalación, el despliegue, la integración y la adhesión óptimos a una convención estándar al menor costo razonable y la complejidad mínima, al tiempo que se alcanzan los objetivos de referencia establecidos de eliminar cada punto de falla en el sistema.
Disponibilidad
Primero, se debe definir un objetivo determinado antes del diseño del sistema. Esto incluye establecer cuál es el Objetivo del Punto de Recuperación (RPO). El RPO es la mayor cantidad de tiempo de inactividad que su empresa está dispuesta a perder durante una interrupción importante. El hardware, el software y los servicios adjuntos de HA deben tener un RPO definido y probado.
Deployment
A continuación, el sistema debe construirse con el hardware más robusto y rentable disponible. Esto incluye sistemas que son resistentes a cortes de energía y fallas de hardware, que abarcan todo, desde discos duros, componentes de red, el sistema operativo y la aplicación en sí que abarca toda la pila de software.
Evaluation & Testing
Una vez construido el sistema, una pieza clave integral está probando nuestro sistema de destino para garantizar que el sistema de conmutación por error esté listo para cambiar si falla la fuente. Esto requiere preparar nuestras configuraciones de red, servidores, software de replicación síncrona en tiempo real y conmutadores para la transición del procesamiento de producción de origen al sistema de destino que procesa el cambio en cualquier momento. Este método utilizado en este escenario se conoce como un sistema de» espera en caliente». Además, esto incluye establecer un programa de pruebas regimentado a medida que el sistema se vuelve a probar regularmente.
Replicación
Garantizar una iteración reproducible y repetible de toda la pila de software en varias regiones es clave para la durabilidad, la capacidad de entrega y la solidez constantes del marco de aplicación. La otra área de servicio importante es el segmento de hardware replicable, que complementa los marcos de software y monitoreo. Poder confiar en una metodología de duplicación dedicada es fundamental para garantizar un sistema totalmente tolerante a fallos y fiable.
Monitoreo & Seguimiento
Por último, el monitoreo, la evaluación y la observación continuos deben regularse estrictamente para garantizar que se cumplan los objetivos de rendimiento. Cualquier desviación de la norma debe investigarse y evaluarse para determinar el impacto que la varianza tiene en el sistema. Una vez que se haya establecido esa disposición, se debe realizar un análisis de seguimiento para determinar si se deben introducir cambios que incluyan el ajuste o las modificaciones necesarios para que el sistema pase a un nuevo estado estable.
Conclusión
El objetivo principal de un sistema de alta disponibilidad es prevenir y eliminar todos los puntos únicos de falla. Esto debe incluir múltiples planes de acción que se hayan probado y puesto en marcha, listos para reaccionar de forma independiente e inmediata a cualquier y todas las perturbaciones, interrupciones y fallas del servicio. Esto incluye irregularidades de hardware, software y aplicaciones. La erradicación del tiempo de inactividad se puede lograr con la planificación e implementación compuesta y experta de un sistema. Se requiere un ojo crítico para prever y prepararse para cualquier acontecimiento o desastre, que podría impedir el objetivo principal del objetivo de tiempo de actividad declarado y esperado. Un sistema de alta disponibilidad bien instituido puede lograr este objetivo con una planificación y un diseño adecuados, reduciendo o eliminando interrupciones y maximizando la disponibilidad.
Planificación Cuidadosa + Metodologías de Implementación Confiables + Plataformas de Software Estables + Infraestructura de Hardware Sólida + Operaciones Técnicas Fluidas + Objetivos de Administración Prudentes + Seguridad de Datos Consistente + Sistemas de Redundancia Predecibles + Soluciones de Copia de seguridad Robustas + Múltiples Opciones de Recuperación = 100% de Tiempo de actividad
Nuestros talentosos equipos de Soporte están integrados por técnicos de Linux experimentados y administradores de sistemas que tienen un conocimiento íntimo de múltiples tecnologías de alojamiento web, especialmente las que se discuten en este artículo. Si es un servidor VPS Completamente Administrado, Dedicado a la Nube, VMware Private Cloud, Servidor Principal Privado o propietario de un servidor dedicado y se siente incómodo con realizar cualquiera de los pasos descritos, se nos puede contactar por teléfono al 800.580.4985, un chat o un ticket de soporte para ayudarlo con este proceso.