
En mi trabajo, usamos una máquina Linux para almacenar nuestro código fuente y alojar nuestro software de control de revisiones (svn). También tenemos otros productos como "trac" para gestión de proyectos, ojo de pez y crisol para revisiones de código. Si esta caja falla, me gustaría poder mantener todos los servicios, software, cuentas de usuario, etc. en funcionamiento con un tiempo de inactividad casi nulo. ¿Qué solución estoy buscando?
Algunos consejos útiles:
- El coste de la solución no es un problema. Sin embargo, prefiero tener un costo único que una suscripción.
- Quiero un trabajo administrativo mínimo tanto para mantener la copia de seguridad como para restaurarla.
- El box está inactivo por las noches y los fines de semana.
- Tenemos otra instalación a un par de millas de distancia, pero una conexión relativamente lenta entre los dos edificios (aunque más rápida por la noche). Me gustaría tener esta opción de restauración fuera del sitio en caso de incendio, etc.
- Quiero que la copia de seguridad esté comprada, ejecutándose y lista antes de recurrir a ella. No "después del accidente, compre una caja nueva ..."
- La caja no es nada especial, solo una computadora de escritorio estándar con Ubuntu Linux. Nada para lo que lo usamos es para alto rendimiento.
¿Alguien sabe de una solución para mí? No estoy bien versado en nada relacionado con Linux o servidores, así que proporcione explicaciones básicas con sus respuestas.
¡Gracias!
Respuesta1
En realidad, estás hablando de tres cosas interrelacionadas, pero diferentes:
- Tolerancia a fallos (¿cómo sigo ejecutando o hago una copia de seguridad con un tiempo de inactividad mínimo)?
- Copia de seguridad de datos (¿qué hago cuando alguien rm -rf es mi repositorio)?
- Recuperación ante Desastres (¿Qué hago si mi oficina es borrada de la faz de la tierra?)
Realmente deberías pensar en ellos como tres procesos distintos pero interrelacionados. Entraré en mayor detalle con la tolerancia a fallas, ya que eso parece ser lo que realmente está buscando con un tiempo de inactividad máximo de 1 hora.
Algunas cosas a considerar para la tolerancia a fallas:
- ¿Cuánto tiempo me llevará conseguir equipo nuevo?
- ¿Cuánto tiempo me llevará reconstruir la caja?
- ¿Cuánto tiempo me llevará verificar y restaurar los datos?
Tome la suma de esos tiempos, multiplíquelo solo por 30 % (nada sale tan bien como cree en una emergencia) y si esa suma es mayor que su tiempo de inactividad aceptable, debe comenzar a buscar algunas configuraciones de alta disponibilidad. Si es menor, es su decisión asumir el riesgo de que sus estimaciones estén equivocadas y que la gente pueda estar inactiva por más tiempo de lo esperado.
En cuanto a algunas posibles soluciones, hay muchas cosas que puedes hacer. Pero en todos los casos lo haríaaltamenteRecomendamos reemplazar el escritorio con una máquina de clase servidor. La calidad de los componentes es mayor y están diseñados para funcionar las 24 horas del día, los 7 días de la semana, los 365 días del año, por lo que ya hay una cantidad decente de redundancia integrada en el hardware (buenas tarjetas RAID, fuentes de alimentación redundantes, etc.)
- Puede configurar un servidor en espera en su segundo sitio y luego sincronizar sus datos cada x período de tiempo, donde x es la cantidad de datos que está dispuesto a perder si el servidor falla entre replicaciones. rsync es compatible con tuberías de datos muy pequeñas después de la primera sincronización, ya que solo envía archivos delta y modificados. También configure sus servidores para que se acceda a ellos a través de CNAME, de modo que pueda cambiar el lugar al que apunta y listo.
- Haga lo mismo que arriba, excepto que tenga el servidor en espera en su ubicación principal.
- Obtenga un SAN/NAS y dos servidores. Luego configúrelos en un clúster Activo/Activo o en un clúster Activo/Pasivo.
Las copias de seguridad también son una parte muy importante del escenario. Debe recordar que no existe ningún reemplazo para una copia de seguridad de un momento determinado almacenada fuera del sitio. Personalmente, sigo pensando que la mejor opción es hacer una copia de seguridad en cinta y luego que una empresa como Iron Mountain la almacene fuera del sitio. Para su entorno de tamaño, cualquiera de las "grandes" soluciones de respaldo: ArcServ, BackupExec, NetBackup debería funcionar bien. También asegúrese de PROBAR sus copias de seguridad al menos trimestralmente. Nada apesta más que descubrir que la copia de seguridad que necesitas es mala.
La recuperación ante desastres en realidad consiste simplemente en sentarse y planificar desde dónde trabajará, de dónde obtendrá el equipo de reemplazo y asegurarse de tener buenas copias de seguridad externas. Considero que la recuperación ante desastres reúne todos los componentes mencionados anteriormente en un plan de acción coherente para cuando suceda lo peor.
Respuesta2
Podrías virtualizar el entorno y luego todo lo que tendrías que hacer es restaurar la imagen.
Respuesta3
Aquí hay muchas opciones dependiendo de la cantidad de datos, la complejidad del sistema principal y cuánta gestión desea realizar.
Me gusta XenServer para esto si la caja virtualizada es de tamaño relativamente pequeño (pocos GB). Por ejemplo, un servidor de aplicaciones interno que ejecutamos tiene un tamaño de solo 3 GB. Puedo detenerlo fácilmente, hacer una copia de seguridad y transferirla a otro sistema. Sin embargo, si no está al día con XenServer, esta podría ser una curva de aprendizaje pronunciada.
También utilizo el software de copia de seguridad del servidor CDP de R1Soft, pero no es realmente adecuado para una recuperación rápida. Es excelente para realizar una restauración completa de un servidor fallido, pero para copias de seguridad y recuperación en menos de una hora.
He hecho algo como esto para los clientes: use el software de respaldo CDP para clonar un sistema primario en un repuesto en frío. Esto asegura que el repuesto sea idéntico al sistema primario. Luego tenemos instantáneas cada hora almacenadas en el servidor CDP. El servidor CDP utiliza un algoritmo de respaldo muy eficiente, por lo que hay poco impacto en el servidor en vivo.
En caso de falla, puede restaurar los datos del servidor CDP a su repuesto en frío.
El problema con este o un enfoque basado en rsync es que debe asegurarse de administrar tanto el repuesto activo como el frío para que su software permanezca sincronizado. No querrás ejecutar actualizaciones del sistema operativo en uno y olvidarte de hacerlo en el otro.
Una recomendación es intentar lo mejor posible utilizar la configuración estandarizada en su servidor, esto reducirá el impacto de los cambios de configuración/actualización en la restauración/sincronización de datos en el sistema de espera en frío.
Además, me gusta mantener mis datos (es decir, las cosas que agrego) bien aislados del sistema. Si utiliza LVM, los métodos de instantáneas de LVM también pueden funcionar.
Hay muchas opciones a considerar, pero la mejor dependerá de su experiencia interna, el tiempo para administrar el sistema y los patrones de uso de datos.
Además, si la cantidad de datos es muy pequeña, es posible que desees buscar herramientas de copia de seguridad/recuperación a nivel de escritorio. No estoy tan familiarizado con esos.
http://www.r1soft.com/ Software de servidor CDP
http://www.citrix.com/XenServer
http://samba.anu.edu.au/rsync/sincronización
Respuesta4
Parece que algo tan simple como rsync + cron podría ser suficiente aquí.