Hola, el tema de las maquinas virtuales ofrece potencialmente muchas ventajas para la contención de catastrofes informaticas contra perder un poquillo de rendimiento. Estos últimos días me he estado mirando el tema, he probado xen, virtualbox y finalmente KVM.
En mi caso solo he virtualizado windows y por tanto las pruebas que he hecho han sido bastante parecidas en los 3 casos. Lo comento porque xen ofrece la paravirtualización en sistemas linux, con lo que supongo que en esos casos el rendimiento de xen es mucho superior. Pero bueno... uso servidores windows... y el vmware ESX como que vale una pasta.
Finalmente me he quedado con KVM por los siguientes motivos:
Bueno, pos KVM! woooohooo!
Instalación
-hda = disco duro principal
-cdrom = imagen de un cd
-boot = c para arrancar desde el disco o d para arrancar desde el cdrom
-smp = # cpus de la maq. virtual
-net nic = decirle que tiene red
-net tap = se crea una interfície tap en el host
-k = mapa de teclado
-vnc = poder ver la maq. virtual por vnc en el puerto 5900+# (en nuestro caso 5901)
RED en la máquina virtual
Hay varias opciones, creo que la mas fácil es hacer un bridging entre la eth0 (o la que sea) y la interficie tap que te crea. Yo he optado por lo siguiente:
En mi caso solo he virtualizado windows y por tanto las pruebas que he hecho han sido bastante parecidas en los 3 casos. Lo comento porque xen ofrece la paravirtualización en sistemas linux, con lo que supongo que en esos casos el rendimiento de xen es mucho superior. Pero bueno... uso servidores windows... y el vmware ESX como que vale una pasta.
Finalmente me he quedado con KVM por los siguientes motivos:
Sistema | Pros | Contras |
---|---|---|
XEN |
| Requiere usar un kernel parcheado con parches que no he sabido encontrar. Los paquetes de mi distribución (debian-lenny) no funcionaron ya que al arrancar el kernel para xen me daba un kernel panic guapo.
Instalandolo desde las fuentes se baja un kernel, lo parchea y despues lo puedes toquetear para añadir o quitar cosas (por ejemplo usar PAE) pero se baja un kernel relativamente viejo (el 2.6.18 cuando ahora estamos en el 2.6.27) cosa que puede provocar que si tienes un hardware muy nuevo no tengas el driver en ese kernel (por ejemplo la tarjeta de red atl1e) |
VirtualBox |
|
|
KVM |
|
|
Bueno, pos KVM! woooohooo!
Instalación
- apt-get install kvm uml-utilities
- tener un kernel con los modulos de kvm, kvm_intel/kvm_amd. A mí, un apt-get install linux-image-2.6.26-686-bigmem me fue de maravilla
- Crear un disco duro virtual. Por ejemplo uno de 50 Gb.
kvm-img create -f qcow2 discoduro.img 50G - Instalar un sistema operativo en ese disco virtual
kvm -hda discoduro.img -cdrom imagen_cd.iso -boot d -m 2045 -k es -name maquina -smp 2 -net nic -net tap -vnc 0.0.0.0:1 - Arrancar la maquina. Igual que el paso anterior pero con -boot c para que arranque desde el disco duro. man kvm-qemu para ver todas las opciones
-hda = disco duro principal
-cdrom = imagen de un cd
-boot = c para arrancar desde el disco o d para arrancar desde el cdrom
-smp = # cpus de la maq. virtual
-net nic = decirle que tiene red
-net tap = se crea una interfície tap en el host
-k = mapa de teclado
-vnc = poder ver la maq. virtual por vnc en el puerto 5900+# (en nuestro caso 5901)
RED en la máquina virtual
Hay varias opciones, creo que la mas fácil es hacer un bridging entre la eth0 (o la que sea) y la interficie tap que te crea. Yo he optado por lo siguiente:
Comentarios