Evan acertó en algunos buenos puntos, pero aquí hay quizás algunas formas rentables específicas para obtener un tiempo de recuperación inferior a 1 hora ante fallas.
Las pequeñas empresas probablemente significan hardware pequeño, por lo que puede que no sea un gran costo hacer algunas cosas simples que realmente agregan una cantidad significativa de resistencia frente a los problemas. La idea principal es tener hardware extra listo para funcionar.
Primero, póngase cómodo con la idea de una IP virtual. Esa es la dirección IP con la que los usuarios hablarán, pero pueden residir en cualquier servidor al que se la des. Esta es la dirección IP que son usuarios, y las aplicaciones querrán hablar con ellas. Y será lo más útil para finalmente cualquier solución que elija. Tener un VIP significa que no debería tener que reconfigurar ninguna de las aplicaciones al fallar. Además, tenga en cuenta que tener hardware redundante también tiene el impacto de aumentar la sobrecarga administrativa, haciendo dos actualizaciones de configuración en lugar de 1.
Si comenzamos con su servidor proxy de enrutamiento / web, probablemente sea el más fácil, ya que no habrá ningún estado real que deba almacenarse en la caja. Así que solo obtenga un duplicado del mismo cuadro y configúrelo igual. Mantendría a ambos conectados en el segmento LAN, y suponiendo que su Internet esté en otra interfaz, cambie los cables si falla. Desde una perspectiva de enrutamiento, configura todos sus clientes lan para que apunten a la dirección .1 (el VIP) para su ruta predeterminada y el servidor proxy le da al servidor A la dirección .2 y al servidor B la dirección .3. De esta manera, ambos se pueden administrar para actualizaciones de configuración (se aplica a ambos). Y todo lo que tiene que hacer para la conmutación por error es eliminar la asignación de IP .1 de .2 y moverla a .3, y mover la conexión a Internet a la otra interfaz. No es muy complicado, fácil de hacer y entender, y cuesta el hardware extra de una segunda caja. Si puede obtener redundancia en el lado de Internet, podría agregar algo de complejidad y obtener una conmutación por error automática usando algo como VRRP.
Sin detalles, es difícil de decir, pero su servidor web puede ser igual de simple. Agregue un segundo servidor con configuración idéntica, cree un vIP entre los dos y mueva el VIP a la copia de seguridad en caso de falla. Por lo general, no me importa si el estado de la sesión se pierde en una conmutación por error (es un problema crítico causar una conmutación por error). Entonces, si los usuarios tienen que iniciar sesión nuevamente, no es gran cosa. Nuevamente, vrrp probablemente se puede usar para la conmutación por error automática.
Pasando a su DB, esto es significativamente más complejo. La mayoría de las bases de datos tienen algún tipo de modelo primario / secundario, donde hace una copia de seguridad de la base de datos original en la secundaria y luego copia todos los registros de transacciones o los cambios de la base de datos en la secundaria. Nuevamente, puede combinar esto con VIP para las aplicaciones / usuarios que realmente acceden a la base de datos. Sin embargo, la conmutación por error es más complicada. Dependiendo de la falla del primario, es posible que deba poner en funcionamiento las unidades para copiar y sobrar los registros de transacciones. Luego traiga el secundario activo. Si puede tolerar algunos datos perdidos, puede activar el secundario activo de inmediato. Después de la conmutación por error, el servidor B es ahora su principal y su trabajo consistiría en restaurar el servidor A y convertirlo en la nueva copia de seguridad para que esté listo para fallar cuando el servidor b eventualmente tenga problemas.
Los servidores de archivos son siempre la parte más difícil, ya que a diferencia de los DB, es mucho más difícil obtener una función integrada del sistema de archivos. Sin embargo, se puede lograr cierto nivel de resistencia al tener un segundo servidor, y simplemente escribir un script que escanee el sistema de archivos en busca de cambios, y copie los archivos nuevos a su segundo nivel. Básicamente puede ejecutar rsync en un cron. Creo que puedo hacer esto. Nuevamente, usa un VIP que le da a los usuarios, que se mueve si realiza una conmutación por error. En su secuencia de comandos, le recomiendo que verifique para asegurarse de que el sistema sea el propietario del VIP antes de transferir archivos. Realmente realmente no quieres que el rsync se ejecute en la dirección incorrecta y sobrescriba los cambios que están haciendo los usuarios. Esto podría perder algunos archivos si es un error,
No tengo idea de qué podría hacer con su sistema telefónico ... realmente depende del proveedor y de cómo esté configurado. El proveedor puede tener alguna solución estándar para la resistencia.
Algunas palabras finales de advertencia. Asegúrese de probar a fondo cualquier configuración que vaya a utilizar. Asegúrate de saber cómo fallar sin perder esa información crítica. Prueba prueba prueba para asegurarte de que funcionará cuando lo necesites. Asegúrese de tener procesos implementados para que los cambios de configuración, actualizaciones de software, etc. se apliquen correctamente tanto a las copias de seguridad primarias como a las copias de seguridad. La buena noticia es que probablemente pueda realizar una conmutación por error controlada cuando desee bajar un servidor para actualizar, etc. No es una configuración activo-activo, por lo que no tiene idea de si el secundario funcionará cuando lo necesite.
Trabajo en telecomunicaciones y nuestro equipo es muy redundante, incluida en la mayoría de los casos la redundancia geográfica. Nuestro punto de falla número 1 es que la redundancia no se prueba después de los cambios, y los usuarios que realizan cambios que no saben cómo funciona el modelo de redundancia. Sin embargo, tenemos el problema adicional de que todos nuestros equipos deben admitir la conmutación por error automática en no más de varios segundos. Puede tolerar la intervención manual en sus failovers si solo necesita estar en funcionamiento dentro de 30 a 60 minutos. Solo necesitas estar preparado. Buena suerte.