La mejor manera de clonar un sistema Linux en vivo

17

¿Alguien sabe de una manera de clonar un sistema Linux en vivo? Tengo una instalación en vivo que ejecuta un sitio de producción. El problema es que necesito clonarlo (sin bajarlo) y luego moverlo (restaurar) a una máquina virtual. Básicamente estoy migrando del hardware físico al hardware virtual.

Drewrockshard
fuente
Tendrás que derribarlo independientemente, para iniciarlo en la VM.
Ignacio Vazquez-Abrams
El hardware físico estará activo -> ocurre la clonación -> migra a VM -> cambia la dirección de URL -> hecho. Necesito detalles de las mejores prácticas para clonar sistemas en vivo.
drewrockshard
44
El primer paso es tratar de determinar qué sistema operativo está ejecutando.
Pausado hasta nuevo aviso.

Respuestas:

12

En la máquina fuente:

dump -0 -f - / | ssh -c blowfish root@target_machine "cd /; restore -rf -"

Esto volcará el fs en su máquina de origen, cópielo sobre ssh y en la máquina de destino lo restaurará.

Por supuesto, debe repetir esto para cada fs.

'blowfish' está ahí solo para lograr una compresión y descompresión más rápidas.

mrkafk
fuente
Este parecía funcionar de la manera más eficiente.
drewrockshard
no puedo hacer que me guste la minúscula r. Tuve parte de esto trabajando separándome -rf to -r -f, pero ahora restaurar: opción no válida - 'r' cat: opción no válida - 'r'
rjt
44
¿Esta respuesta sigue siendo válida? ¿Qué pasaría si tuviera un servicio MySQL en ejecución en la caja?
MirroredFate
6

VMWare Converter puede hacer la mayoría de los sistemas operativos modernos sin apagar el servidor, pero como señaló Dennis, realmente necesitamos saber qué sistema operativo está ejecutando.

Terminará con una imagen virtual de su servidor cuando haya terminado, en lugar de una imagen de disco sin formato, pero generalmente es lo suficientemente bueno para la mayoría del trabajo, dependiendo de lo que quiera hacer con él una vez que lo haya hecho.

Mark Henderson
fuente
Se está ejecutando en Fedora. Para su información, planeo fotografiarlo para la virtualización más tarde, probablemente en Xen.
Str.
Para fines de virtualización, si no me equivoco, la imagen debe estar en una imagen virtual en lugar de una imagen de disco sin formato, ¿verdad?
Str.
1
@Str, si sabe cuál es el sistema operativo, edite su pregunta para decirlo y use las etiquetas apropiadas.
John Gardeniers
@Str: eso es correcto, sin embargo, no mencionó si iba a virtualizar la máquina o no, solo que quería clonarla.
Mark Henderson
1

¿A qué plataforma de VM está migrando? VMWare tiene un convertidor para Linux . Convertirá una máquina encendida.

Jason Berg
fuente
Al final, está en casa y basado en VMWare. El panel de control es personalizado, por lo que básicamente estaríamos cargando un CD en vivo y expandiéndonos / extrayendo / etc en la VM. No estoy seguro de poder acceder a la infraestructura de VM para hacer el convertidor VMWare, pero todo depende de lo que esté involucrado en esto. Sin embargo, para probar, iba a tratar de migrarlo a un virtualbox vm solo para ver si esta prueba de concepto funcionaba.
drewrockshard
¿Crees que podría ejecutar el convertidor en la máquina física y luego "importar" el vm convertido a vmware (nunca usé el convertidor, por lo que mi terminología podría estar apagada).
drewrockshard
El convertidor realmente no funciona de esa manera. Mira este enlace. Debería mostrarle los conceptos básicos de cómo funciona una conversión vladan.fr/how-to-p2v-linux-into-vmware-esx-server
Jason Berg
¿Hay alguna forma de evitar la importación de infraestructura de VMware para que pueda mantener la imagen "convertida" localmente en mi sistema, o tengo que migrar a otra infraestructura (sin capacidad local)?
drewrockshard
Tenga en cuenta que VMWare Converter (actualmente) requiere Windows, aunque puede migrar una computadora física Linux a una máquina virtual.
Greg Glockner
1

Eche un vistazo al convertidor VMWare que creo que permite la clonación del sistema en vivo.

usuario9517
fuente
1

Generalmente hacemos esto:

  • Arranque el host virtual de destino desde un CD (o arranque en red)
  • Prepare los sistemas de archivos en el host virtual (es decir, prepare los discos, cree los sistemas de archivos y móntelos).
  • Rsincronice los archivos del host físico al host virtual
  • Instale el cargador de arranque en el host de destino

Esto funciona muy bien, siempre y cuando los datos que está copiando no tengan estado. Si se trata, por ejemplo, de un servidor de base de datos, particularmente uno con mucha actividad, deberá asegurarse de que la base de datos esté inactiva antes de realizar el corte final ... así que, algo así, después de todo lo demás está listo:

  • Detener la base de datos
  • Realizar una rsync final de los datos
  • Apaga el host físico
  • Inicie el host virtual
larsks
fuente
1
¿Qué comando rsync usan ustedes?
drewrockshard
0

Mire VMware Converter (es gratis si tiene vCenter) o Plate Spin (uno de sus productos es un convertidor).

Plate Spin hará funcionar una máquina, con un tiempo de inactividad mínimo para cortar.

Con el convertidor VMware, hará una máquina en vivo (si hay una base de datos que podría no estar sincronizada) simplemente no tiene que iniciar la VM cuando haya terminado. Luego desconecte la vNIC y luego inicie la máquina, inicie sesión a través de la consola y cambie las IP, etc. Luego, vuelva a conectar la vNIC.

mrdenny
fuente
0

Es imposible obtener una instantánea consistente sin detener todas las operaciones que pueden cambiar el estado del sistema.

A menos que la aplicación haya sido diseñada explícitamente para acomodar este tipo de operación (es decir, todo el procesamiento manejado a través de mensajes en cola) es imposible obtener una instantánea consistente sin desactivar el sistema (o al menos deshabilitar el componente transaccional).

Sin embargo, es posible reducir significativamente la ventana de tiempo para tomar instantáneamente el sistema (por ejemplo, quitando un espejo de un conjunto RAID y luego volviéndolo a montar en otro lugar). Y cuanto más corto sea el tiempo que lleva generar la instantánea, es menos probable que las transacciones abarquen la operación.

Y la mayoría de los sistemas de archivos / DBS admitirán algún tipo de diario que debería permitir recuperar o revertir la mayoría de las operaciones interrumpidas.

symcbean
fuente