Clonar un servidor Linux en funcionamiento

18

Necesito clonar un servidor Linux que funcione. No podemos apagar el servidor en funcionamiento. ¿Hay alguna forma de obtener un clon e implementarlo en otro servidor?


fuente

Respuestas:

14

Hay muchas formas de copiar discos, sistemas de archivos o archivos. En general, copiar el sistema de archivos le brinda un buen clon con la flexibilidad de que puede tener un tamaño ligeramente diferente en el sistema de destino. Con el sistema de destino ejecutando algún tipo de Linux en vivo (knoppix, ubuntu live, etc.), arrancado desde un cdrom, puede crear las particiones en el disco usando fdisk o su aplicación de partición favorita. Suponiendo que tiene un servidor SSH ejecutándose en el sistema de origen, adopte un enfoque similar a este:

http://www.linuxfocus.org/English/March2005/article370.shtml

La magia está sucediendo en este comando:

ssh sourcePC 'dump -0 -f - /' | restore -r -f -

Al utilizar cualquier método particular para clonar discos en un entorno Linux en vivo, su única preocupación probablemente sea con las bases de datos. La mejor manera de hacer una copia de seguridad y restaurar una base de datos es usar su herramienta de volcado para hacer una instantánea de archivo ascii de la base de datos justo antes del volcado del sistema de archivos. Para mysql hay:

mysqldump --all-databases > mysql_databases.sql

Para postgresql, hay:

pg_dumpall > pg_databases.sql

Si encuentra algún tipo de error de consistencia en el nuevo sistema, restaure la base de datos. Alternativamente, una vez que haya apagado los servicios en el sistema de origen, vuelva a realizar el volcado de la base de datos y restaure en el destino, y no se perderá ningún dato modificado recientemente.

labradort
fuente
1
+1 para la referencia de linuxfocus
Bozojoe
2

Construya un diseño de disco en la nueva máquina como lo desee.

Use rsync para transferir el contenido del disco. Repita varias veces para ponerse al día por completo.

En la nueva máquina, experimente con lo que deberá hacer adicionalmente para arrancar correctamente. Grub por ejemplo, y haz que esté en un estado consistente.

Hasta que pueda apagar la máquina anterior, rsync a intervalos regulares para mantener el nuevo disco cerca del anterior.

Luego lleve el anterior al modo de mantenimiento, rsync una vez más, y arranque el nuevo que debería aparecer comportándose como el anterior.

Thorbjørn Ravn Andersen
fuente
55
Esto podría causar corrupción de datos. Para garantizar una copia adecuada de los archivos (incluidas las bases de datos en vivo), necesitaría poder ejecutar todo el comando rsync en una operación atómica, mientras el sistema estaba en pausa. Una instantánea LVM sería atómica, o construiría un espejo RAID y luego desconectaría una de las unidades y la colocaría en la nueva máquina. Sin embargo, aun así, realmente necesitaría ir al nivel de ejecución 1 ( en.wikipedia.org/wiki/Runlevel#Typical_Linux_runlevels ), hacer la instantánea y reiniciar en un nivel de ejecución más alto.
Lee B
1

Mi compañero de trabajo jura por System Imager:

http://wiki.systemimager.org/index.php/Main_Page

No sé qué tan bien funcionaría para los sistemas "en vivo".

De lo contrario, creo que estás atrapado haciendo cosas manualmente:

  • Verifique que no haya aplicaciones de instalación fuera de los repositorios
  • Volcar la lista de paquetes instalados e instalarlos en el nuevo servidor
  • Copiar sobre archivos de configuración
  • Restaurar bases de datos
Natalie Adams
fuente
rocas systemimager. Funciona en un sistema en vivo, con las mismas condiciones para ejecutar rsync para copiar el estado de un sistema en vivo. Algunas aplicaciones deberán cerrarse o descargarse en el disco (por ejemplo, bases de datos mysql) antes de copiarlas y deberán restaurarse en el nuevo sistema.
gbjbaanb
0

Siempre que pueda poner sus bases de datos en un estado consistente en el disco, simplemente puede usar DAR para hacer una copia de todo y luego volver a escribirla en su nuevo servidor.

Sincronizar sus bases de datos a un estado consistente en el disco puede ser complicado, pero simplemente tomar una instantánea y luego restaurarla después de restaurar la imagen DAR puede funcionar. DAR afectará el rendimiento del servidor mientras se está ejecutando.

Sin embargo, una vez que tenga su imagen, puede modificar la configuración de la red y debería poder recuperarla sin ningún problema.

http://dar.linux.free.fr/

Paul McMillan
fuente