Migración del servidor: la forma más eficiente

10

Se me ha encomendado la tarea de migrar uno de nuestros sitios entre servidores (dos hosts diferentes). Ambos entornos son linux.

El sitio transmite video, por lo que el servidor está actualmente lleno de archivos multimedia (imágenes y video). Lo primero que pensé fue que usaríamos rsycnc para transferir todo, pero quiero ser lo más eficiente posible y hacer todo lo más rápido posible. Supuse que algunos de ustedes podrían tener consejos sobre cómo acelerar el proceso, o si rsync es incluso la opción correcta aquí.

Gracias por adelantado. Disculpas por mi conocimiento limitado sobre cosas de administrador de sistemas ...

EDITAR: Nos estamos ejecutando en una pila LAMP básica (centos) y nos estamos moviendo a Red Hat en el espacio de rack).

Código fantasma
fuente
1
Definir "eficiente" en este contexto. ¿Rápido, confiable, robusto o qué? Y no, no puedes tener todo eso.
John Gardeniers
1
rsync es casi seguramente la mejor opción para migrar los datos; todavía existe la configuración y las posibles bases de datos, etc. que otros han mencionado que tienen otras mejores opciones.
fukawi2

Respuestas:

12

Hay mucho que ver con "migrar una aplicación de un servidor a otro". Realmente no hay forma de que podamos responder esto de manera integral para todos los casos de uso. Sin embargo, USTED puede responderlo de manera bastante completa para su configuración si lo aborda sistemáticamente:

  1. Haga una lista de todo lo que su aplicación necesita.
    • ¿Servidor web?
    • ¿Servidor de base de datos?
    • ¿Servidor de correo?
    • ¿Lenguaje de script (PHP, Ruby / Rails, Perl, algo más)?
    • ¿Programas auxiliares (ImageMagick, etc.)?
  2. Haga una lista de elementos de configuración importantes.
    • Dirección IP, máscara de red, puerta de enlace, etc.
    • Servidores DNS
    • Elementos específicos de la aplicación (directorios temporales, etc.)
  3. Tome las listas de (1) y (2) y escriba un resumen de la migración.
    Esto debería incluir cosas como instalar y configurar cualquier software / paquete que necesite, descargar y cargar la base de datos, etc.
  4. PRUEBE LA MIGRACIÓN
    Copie todo de la misma manera que lo haría si el servidor se pusiera en funcionamiento, pero no lo haga en vivo. Péguelo en una red aislada cuando haya terminado y pruebe todo.
    Si tiene un procedimiento de prueba estándar para su aplicación, debe ejecutarlo en el servidor migrado.
  5. Si todo no salió a la perfección, vaya a (3), actualice (1) y (2) y luego revise su plan.
  6. Cuando las migraciones de prueba sean perfectas, realice la migración real.
    Dependiendo de cuán complejo sea el proceso de migración, esto podría significar simplemente soltar y volver a cargar una base de datos, o puede querer limpiar la máquina y hacerlo todo desde cero.

Cuando haya terminado, tendrá una lista de verificación para su aplicación particular, en su entorno particular. Esa lista de verificación probablemente evolucionará a medida que desarrolle la aplicación, pero puede servir como punto de partida en 3-5 años cuando tenga que migrar nuevamente.

Otras cosas a considerar incluyen la implementación de la gestión de configuración de Puppet o Chef.
(Si va a ser "el administrador del sistema", debería considerarlos; de lo contrario, páselos a la persona / equipo responsable).

voretaq7
fuente
5

Bueno, tiene que lidiar con la configuración del servidor y el contenido del servidor, y es muy poco probable que la misma técnica funcione para ambos.

¿Tienes una base de datos? Si es así, también será necesario moverlo. Rsync funciona muy bien para contenido estático. Simplemente ejecútelo una vez para obtener la lista de sus datos movidos, y luego diga cada pocas horas para mantener las cosas sincronizadas hasta la transición. ¡Asegúrese de deshabilitar el cron rsync antes de la migración!

Con respecto a la configuración, no tenemos idea de lo que está ejecutando, por lo que realmente no podemos darle recomendaciones.

EEAA
fuente
¡Gracias! Actualmente estamos ejecutando CentOS con una pila Apache / PHP / MySQL (bastante estándar) con WHM. Estamos trasladando todo a redhat linux en Rackspace.
Código fantasma el