
Actualmente, una PC con Linux falló debido a una falla en la placa base. El disco duro, sin embargo, sigue funcionando. Trasplanté el disco a otra máquina Linux y descubrí que todo era legible.
Ahora quiero revivir la vieja PC, pero como VM. ¿Es posible hacerlo sin tener que convertir primero el disco a un archivo de imagen, es decir, ejecutarlo con el disco existente? Todavía no sé si KVM o LXC es una mejor opción, pero preferiría LXC porque la PC host es bastante lenta. es posible? Mi experiencia con la implementación de VM es bastante limitada...
Por cierto, ambas computadoras ejecutan Gentoo Linux.
EDITADO
Gracias por ahora por todas las respuestas. Para aclarar las cosas, la razón principal por la que necesito el disco duro para ejecutar algún tipo de máquina virtual es que la computadora vieja era el servidor coda principal de un pequeño grupo de coda. No puedo (fácilmente) sacar los datos de las particiones "sin procesar", por lo que simplemente ejecutar un contenedor podría ser la forma más fácil. La computadora host tiene muy restricciones en cuanto a capacidades de hardware, por lo que simplemente clonar el disco mediante dd no funcionará; no hay suficiente espacio (!) (no preguntes por qué :-/ - una configuración bastante extraña). Además, la vieja PC también usaba LVM. Sin embargo, las diversas particiones y LVM LV se pueden montar bastante bien en la nueva computadora host: los datos están ahí, y una vez incluso inicié accidentalmente la nueva computadora host con el disco antiguo como "zona de usuario" (núcleo nuevo, zona de usuario antigua) - funcionó, por lo que los sistemas son bastante similares.
El encanto de una configuración LXC es que no necesita tantos recursos. La desventaja es que no tengo idea de si los servidores CODA funcionarán bien cuando estén en un contenedor, por lo que colocarlos en una máquina virtual completa puede ser más seguro.
Respuesta1
Es posible arrancar desde un disco duro físico con VirtualBox.Manual: uso de un disco duro host sin formato de un invitado.
Alrededor de esto escribí un tutorial en alemán:Virtualización de Windows de arranque dual. Su objetivo principal es iniciar Windows físico, pero también funciona con Linux.
Los puntos principales que debes hacer:
- Instale VirtualBox. Asegúrate de ser miembro del grupo
vboxusers
después. - Descubra el archivo de dispositivo del nuevo disco duro (por ejemplo
/dev/sdb
) - Crear una máquina virtual en VirtualBoxsinun disco duro virtual (yo lo llamo
oldsys
) - como root: crea un archivo vmdk que apunte a un nuevo disco duro
VBoxManage internalcommands createrawvmdk -filename ~/VirtualBox\ VMs/oldsys/oldsys.vmdk -rawdisk /dev/sdb
cambia el propietario de
oldsys.vmdk
root al tuyo.cree una regla udev para permitirle acceso al disco sin formato, por ejemplo
KERNEL=="sdb", OWNER="myusername", MODE="0600"
En VirtualBox, conéctelo
oldsys.vmdk
al controlador SATA virtual de VM oldsys.Si oldsys ha sido un sistema arrancado con EFI, cambie la configuración de VM de oldsys en "sistema" para "activar EFI"
es posible que también deba habilitar "IO-APIC".
reiniciar para habilitar la regla udev
Ejecute oldsys en VirtualBox. Debería arrancar sin ningún problema.
Respuesta2
Yo sugeriría capturar una imagen de disco usandoddrescatey luego usar el archivo de imagen para respaldar el almacenamiento de la VM. De esta manera, no arriesgará la copia original de sus datos si algo sale mal con sus planes de virtualización.
KVM ciertamente funcionaría, ya que arrancaría el sistema operativo completo. LXC puede funcionar, dependiendo de qué tan similares sean los sistemas. La principal limitación de LXC es que cualquier cosa que ejecute dentro del contenedor compartirá el kernel del host. KVM le permite ejecutar un kernel dentro del invitado. Siempre que solo esté operando con una copia de sus datos, debería ser seguro experimentar hasta que encuentre la configuración que mejor se adapte a su situación.
Respuesta3
Es posible, pero es recomendable crear una copia de seguridad de su disco, si le interesan esos datos.
Siempre que la CPU de la PC host tenga soporte de virtualización (en Intel, verifique a través de grep vmx /proc/cpuinfo
), KVM no ralentiza mucho al invitado.
Suponiendo que su disco antiguo esté disponible, /dev/sde
podría usar un comando como este (como usuario normal):
$ qemu-system-x86_64 -enable-kvm -drive file=/dev/sde,if=virtio,format=raw \
-m 2048 \
-net user,hostfwd=tcp::10022-:22 -net nic,model=virtio
Esto arranca una máquina virtual con 2 GiB de RAM. Las -net
opciones sólo son necesarias si está interesado en un reenvío de puerto al sshd invitado y en el acceso a la red de invitados en general.
Si decide utilizar un archivo de imagen en lugar de un disco real, sólo tiene que reemplazarlo /dev/sde
con el nombre de ese archivo de imagen.
Respuesta4
Resolví esto usando VBoxManage. Básicamente, creé una nueva máquina virtual VirtualBox, la cambié en el disco sin formato y la subí.
Inicialmente tuve un problema con la configuración de la red correctamente (porque el kernel host era demasiado antiguo para mis módulos de kernel auxiliares de VirtualBox), pero después de una actualización del kernel obtuve una conexión de red Bridget, y desde entonces todo fue bastante sencillo.