Modos de tener varias distribuciones corriendo a un mismo tiempo

por Margarita Manterola

lugfi@marga.com.ar

¿Para qué?

Diversión. Probar distribuciones sin borrar la actual.

Trabajo. Utilizar una instalación para el “Escritorio” y otra para compilar, hacer pruebas, etc.

Aprendizaje. Permitir a usuarios “romper”, sin que nada corra peligro.

Servicios. Proveer máquinas virtuales a clientes.

Lo más sencillo:
chroot

Sólo cambia el sistema de archivos.

Podemos correr Debian y Gentoo a la vez, pero con el mismo kernel, mismo proc, y mismos dispositivos.

Es la solución más fácil y cómoda cuando sabemos lo que estamos haciendo.

Lo más sencillo:
chroot

Instalación

Desde CD en una partición especial para ello

Directamente en un directorio (Debian: debootstrap)

En /etc/fstab del sistema principal:

Montar proc dentro del chroot

Montar /dev con opción rbind

Lo más sencillo:
chroot

Para acceder al sistema:

# chroot /mnt/gentoo

Iniciar un ssh, y acceder por red

Inciar un gdm y acceder al escritorio

Modificar inittab, usar el getty del chroot

Una máquina virtual:
qemu

Emula un procesador con sus periféricos.

El sistema operativo corre sin modificar en la VM.

Múltiples arquitecturas soportadas: x86, ppc, etc.

Aceptable velocidad para la mayoría de los OS.

Reemplaza al antiguo Bochs, que siempre fue lento

Una máquina virtual:
qemu

Live-CD:

qemu -cdrom /dev/cdrom -boot d

Disco Virtual:

qemu-img create -f qcow ubuntu.img 2G

Instalación desde CD:

qemu -hda ubuntu.img -cdrom /dev/cdrom -boot d

Arrancar el sistema instalado:

qemu -hda ubuntu.img

Linux en modo usuario:
uml

Sistema operativo virtual: Linux+Parches

A partir de Linux 2.6.9, viene dentro del kernel

Sistema de archivos en un archivo de imagen.

Al no virtualizar hardware, es aceptablemente rápido.

Es el más utilizado comercialmente en la actualidad.

Linux en modo usuario:
uml

Imagen del Sistema de Archivos:

Bajar una de Internet

Crearla con mkrootfs, uml-builder, o rootstrap (Debian)

Montar el rootfs como loop, y usar las técnicas de chroot.

Kernel compilado con ARCH=um

$ ./vmlinuz

Sistema de VMs:
xen

Orientado a correr varias máquinas virtuales en un único servidor.

Se modifica el sistema operativo que corre en la VM.

Logra una velocidad muy superior.

Las distintas instancias están aisladas entre sí.

Ideal para proveer servicios externos.

Sistema de VMs:
xen

Términos:

dom0: el sistema real que corre en el servidor.

domU: cada una de las VM que corren sobre dom0

En el directorio del código fuente, make world

Compila xen y los kernels para dom0 y domU

Otras opciones

Linux-VServer (multi arch) / OpenVZ (solo x86)

Divide el servidor en contextos de seguridad.

El OS se arranca sin modificar.

Todos los VS comparten el mismo kernel.

PearPC

Emulador de la arquitectura PowerPC

2005-10-10T23:56:01