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.


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.


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.


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.


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

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

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.


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.