En mi trabajo me he encontrado con un Linux alojado en una vieja y achacosa máquina, que contenía un programa que en su momento nos dio muchos problemas para configurarlo e infinitos dolores de cabeza. La máquina nos daba problemas de conectividad, no tenia pantalla… Y para colmo de males, en mi trabajo reina el mal, digo Windows. Y el programita en cuestión, OTRS solo corre en Linux.
Estaba la opción de crear una máquina virtual, instalar Linux, sufrir otra vez para instalar bien OTRS y luego pasar los datos… O también de convertir la máquina real en virtual y ejecutarla en cualquier sitio con VirtualBox.
Como no me apetecía bregar de nuevo con OTRS y los problemas para pasar los datos de una máquina a otra, opte por virtualizar. Te cuento como.
Lo primero es arrancar la máquina real con una versión live de Linux para poder copiar el contenido integro de su disco, incluidas todas las particiones y el swap. Para ello eche mano de un Ubuntu, pero lo cierto es que me hubiera valido cualquier distribución live.
Para empezar, necesitamos identificar donde está el disco a clonar. Desde la consola se lanza un
Luego necesito espacio para grabarlo todo. Puede ser un disco USB o una unidad de red. Sea como fuere, ahora es el momento de montar este almacenamiento, por ejemplo en /media/espacio
Y por fin pasamos a copiar los datos.
Una vez que ya tengo el disco.raw, lo que necesito es que la máquina que va a oficiar de anfitriona tenga instalado VirtualBox. Una pasadita Synaptic y seguimos.
Cuando ya tenemos VirtualBox y disco.raw en la máquina anfitriona, llega el momento de convertir los datos crudos generados por dd en un disco .vdi que pueda manejar VirtualBox. Y es la misma aplicación la que se encarga de hacerlo.
Estaba la opción de crear una máquina virtual, instalar Linux, sufrir otra vez para instalar bien OTRS y luego pasar los datos… O también de convertir la máquina real en virtual y ejecutarla en cualquier sitio con VirtualBox.
Como no me apetecía bregar de nuevo con OTRS y los problemas para pasar los datos de una máquina a otra, opte por virtualizar. Te cuento como.
Lo primero es arrancar la máquina real con una versión live de Linux para poder copiar el contenido integro de su disco, incluidas todas las particiones y el swap. Para ello eche mano de un Ubuntu, pero lo cierto es que me hubiera valido cualquier distribución live.
Para empezar, necesitamos identificar donde está el disco a clonar. Desde la consola se lanza un
- sudo df -h
Luego necesito espacio para grabarlo todo. Puede ser un disco USB o una unidad de red. Sea como fuere, ahora es el momento de montar este almacenamiento, por ejemplo en /media/espacio
Y por fin pasamos a copiar los datos.
- dd if=/dev/sda of=/media/espacio/disco.raw
Una vez que ya tengo el disco.raw, lo que necesito es que la máquina que va a oficiar de anfitriona tenga instalado VirtualBox. Una pasadita Synaptic y seguimos.
Cuando ya tenemos VirtualBox y disco.raw en la máquina anfitriona, llega el momento de convertir los datos crudos generados por dd en un disco .vdi que pueda manejar VirtualBox. Y es la misma aplicación la que se encarga de hacerlo.
- sudo VBoxManage convertfromraw disco.raw --format vdi disco.vdi
(¡OJO! son dos signos - juntos antes de format)
Ahora ya podemos crear una máquina virtual nueva y llegado el momento de seleccionar el disco duro, en lugar de crear uno nuevo utilizar el que nos ha costado tanto esfuerzo conseguir. Aunque podemos encontrarnos aun con algún obstáculo.
En primer lugar el disco tiene un tamaño bastante grande. Podemos tratar de compactarlo para que ocupe menos con:
En segundo lugar, por algún motivo que no he logrado entender, VirtualBox puede dar problemas con la UUID del disco. Es decir, no tragarse su identificador universal. Si es el caso, podemos solucionarlo rápido y fácil con:
En primer lugar el disco tiene un tamaño bastante grande. Podemos tratar de compactarlo para que ocupe menos con:
- sudo VBoxManage modifyhd --compact disco.vdi
(¡OJO! son dos signos - juntos antes de compact)
En segundo lugar, por algún motivo que no he logrado entender, VirtualBox puede dar problemas con la UUID del disco. Es decir, no tragarse su identificador universal. Si es el caso, podemos solucionarlo rápido y fácil con:
- sudo VBoxManage internalcommands sethduuid /ruta/completa/a/disco.vdi
Excelente artículo.
ResponderEliminarEntiendo que puedo tomar mi máquina física con todo sus componentes de software, clonarla y luego utilizarla en cualquier otra máquina a través de Virtualbox.
Gran ayuda con mi trabajo, muchas gracias.
Exacto. Imagina que tienes tu certificado para Hacienda, o un servidor de correo o un programa del que has perdido el instalador... Pos todo eso lo sigues teniendo.
EliminarMuy buena solución para no depender de una posible avería de hardware.
ResponderEliminarSolo una duda, si en lugar de Linux se usa Windows la solución tiene el problema de los drivers que se puedan necesitar.
Los drivers ya van con el Windows que has virtualizado. El problema es que la tarjeta gráfica o de sonido, por poner dos ejemplos, cambiarían y ante cierto numero de cambios Windows puede decidir que necesitas una nueva licencia.
EliminarBuen articulo, pero VMware vCenter tiene una herramienta gratuita que hace eso, Vcenter Converter Stanalone Client, por lo menos yo la uso, por lo generar cuando quiero pasar un Windows a mi Linux uso esa Herramienta.
ResponderEliminarPor lo que sé, esa herramienta es solo para Windows, así que no podría virtualizar un Linux usándola.
Eliminaren windows el tema es que cambia el hardware, lo que tenes que hacer es un sysprep (que desde windows 7 se volvio mas facil y viene en el sistema) esto borra los identificadores de hardware y cuando reinicia el sistema (pasandolo a otro hardware o virtual) empieza a reconocer los dispositivos como si fuera recien instalado. tambien puede borrar la activacion segun este configurado. por eso a partir de windows 7 la instalacion es mas rapida, plancha una imagen e incluso podes crear la tuya con software preinstalado y quemarla en un dvd
ResponderEliminarpor lo que entiendo según este articulo Linux no tiene esa limitación de cerrarse al hardware donde se instalo.
buena data!!!!! habia buscado pero nunca la pude encontrar
En Windows si puedes tener muchos problemas por los drivers e incluso que no se active porque la licencia sea para una máquina o fabricante concreto.
EliminarEn Linux si funciona bien.
Gracias por la información.
ResponderEliminarHola, excelente articulo, sencillo y directo, pero en mi caso que tengo esta salida como deberia poner el comando dd?
ResponderEliminarel destino no es problema porque puedo montar un disco usb, en mi caso la duda es si debo usar /sdb1 o debo usar el /dev/mapper/VolGroup00-LogVol00 ?
seria asi?
dd if=/dev/mapper/VolGroup00-LogVol00 of=/discousb/disco.raw
[root@linux /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
61G 28G 30G 49% /
/dev/sdb1 99M 31M 64M 33% /boot
tmpfs 8.0G 0 8.0G 0% /dev/shm
[root@linux /]# dd if=/dev/mapper/VolGroup00-LogVol00 of=/discousb/disco.raw