¡Hola Amigos!. ¿Debian 7?. Simple y llanamente Fuera de Serie como decimos en Cuba. ¡La Misión Espacial Internacional cambió Windows XP por Squeeze… porque aun no era estable el Wheezy!.
No puedo escribir sobre el QEMU-KVM sin mencionar al Wheezy. Nunca antes había tenido la muy grata experiencia de instalar un Debian en la versión de escritorio de la forma “instala y úsalo”. Así de fácil es el Wheezy. Se lo recomiendo a TODOS.
Y cuando digo TODOS, es porque acabo de hacerme una máquina virtual con sólo 256 megas de RAM, con el Wheezy y su escritorio. Si selecciono en el inicio de sesión gráfico el “GNOME Classic” funciona muy bien. Por supuesto que con esa cantidad de memoria no se carga el GNOME Shell 3.4+7.
No quiero incluir imágenes sobre la instalación del Wheezy pues prefiero lo descubran por Ustedes mismos. Descarguen un CD o un DVD de instalación, instalen el Debian 7 y úsenlo. Más nada. Ya me contarán.
Los que dispongan de una buena cantidad de memoria (1 giga o más) o se les cargue automáticamente el GNOME Shell 3.4+7, descubrirán parte de sus bondades si dirigen el puntero del ratón o mouse hacia la esquina superior izquierda. Naveguen por éste excelente Debian Desktop tal y como bautizaron los Debianeros a su escritorio en Wheezy.
¡Felicidades a ese inmenso colectivo que es, para la felicidad de muchos, Debian!.
A los que extrañen algunos detalles del GNOME 2.xxx (como yo), recomendamos instalen los siguientes paquetes como mínimo:
- nautilus-emblems
- nautilus-image-converters
- nautilus-image-manipulators
- nautilus-open-terminal
Para aquellos que dispongan de un procesador con las extensiones de virtualización -de forma general de Dual Core moderno hacia adelante- va dirigido esencialmente el resto del post.
Introducción
KVM o Kernel-based Virtual Machine, funciona solamente si el procesador tiene las extensiones de virtualización de hardware, tanto las de Intel© como las de AMD-V©. Lo podemos determinar si ejecutamos en una consola el siguiente comando:
# egrep -c "(svm|vmx)" /proc/cpuinfo
Si el comando nos devuelve 0, indica que el procesador no soporta virtualización de hardware. Un valor 1 o superior nos indicará cuantos procesadores tienen esa característica. Debemos habilitar (o comprobar si está habilitada) ésta función en la BIOS de nuestro equipo, aunque el valor devuelto sea 1 o mayor.
No me gusta hacer comparaciones para nada. Cada software tiene su encanto. Sólo diré que adiós al Ctrl + Alt para liberar el puntero del ratón; adiós a la necesidad de los paquetes build-essential, binutils, linux-headers-’uname -r’; adiós a los parches para ejecutar una vieja versión en un nuevo núcleo; adiós a una -a veces tediosa- instalación a partir de un script en perl u otro lenguaje; adiós a una interfaz web para la administración y/o creación de máquinas virtuales (que en muchas ocasiones nos hacía sufrir o no funcionaba simplemente); y a todas esas específicas cuestiones que conocemos los que hemos trabajado anteriormente con otro software para máquinas virtuales.
QEMU-KVM es una solución total para máquinas virtuales. Los paquetes están en el repositorio en la rama main. Es lo máximo, como me dijo mi colega y amigo El Freake cuando me lo recomendó.
Y aquí les traigo, como siempre, un Punto de Entrada al fascinante mundo de crear y administrar servidores o máquinas virtuales mediante QEMU-KVM sobre Wheezy (también sobre Squeeze).
Definiciones tomadas de Wikipedia:
QEMU es un emulador de procesadores basado en la traducción dinámica de binarios (conversión del código binario de la arquitectura fuente en código entendible por la arquitectura huésped). QEMU también tiene capacidades de virtualización dentro de un sistema operativo, ya sea GNU/Linux, Windows, o cualquiera de los sistemas operativos admitidos, (de hecho es la forma más común de uso). Esta máquina virtual puede ejecutarse en cualquier tipo de Microprocesador o arquitectura (x86, x86-64, PowerPC, MIPS, SPARC, etc.). Está licenciado en parte con la LGPL y la GPL de GNU.
Kernel-based Virtual Machine o KVM, (en español, Máquina virtual basada en el núcleo) es una solución para implementar virtualización completa con Linux. Está formada por un módulo del núcleo (con el nombre kvm.ko) y herramientas en el espacio de usuario, siendo en su totalidad software libre. El componente KVM para el núcleo está incluido en Linux desde la versión 2.6.20.
Libvirt: Librería escrita en C (C toolkit) para interactuar con las recientes capacidades de virtualización de las versiones modernas de Linux (y de otros sistemas operativos).
¡Entremos en materia!.
Instalar los paquetes necesarios en una estación de trabajo:
# apt-get install qemu-kvm libvirt-bin bridge-utils virt-manager hal
Aclaramos que es en una estación de trabajo porque el paquete virt-manager es la interfaz gráfica o GUI para la administración de nuestras máquinas virtuales en nuestro Desktop y para el resto de los servidores de nuestra LAN que tengamos dedicados al soporte de máquinas virtuales. Además, el proceso de creación y administración de las máquinas o servidores virtuales se puede realizar en modo consola solamente sin la necesidad de una interfaz gráfica. Consulten las man pages de los paquetes instalados las cuales son muy descriptivas. Mucho más que éste artículo. Lástima que estén en inglés.
El usuario root y los miembros del grupo libvirt son los únicos que tienen permisos para utilizar las máquinas virtuales KVM. Por tanto debemos hacer a nuestro usuario miembro del grupo libvirt:
# adduser miusuario libvirt
Debemos cerrar la sesión y entrar nuevamente para que surta efecto el comando anterior.
Nota sobre Ubuntu: No he podido probar el qemu-kvm con el Ubuntu 12.04. CREO que la única diferencia importante estriba en éste comando en el cual debemos especificar el grupo libvirtd. Lo demás DEBE ser válido.
Después de lo anterior queda poco por explicar pues ya podemos ejecutar el “Administrador de Máquina Virtual” o virt-manager, al que encontraremos en el grupo de aplicaciones “Herramientas del Sistema“, o podemos invocarlo si presionamos Alt + F2 y escribimos en la caja de diálogo virt-manager.
Para crear una máquina virtual hacemos clic sobre el botón “Crear una máquina virtual nueva” y seguimos los pasos del asistente el cual es muy intuitivo. Después de revisar el hardware de la máquina virtual en proceso de creación, hacemos clic sobre el botón “Iniciar instalación” y comenzamos a instalar el equipo de la forma acostumbrada como si fuera un servidor físico.
Documentación Acompañante:
- /usr/share/doc/qemu
- /usr/share/doc/qemu-kvm
- /usr/share/doc/qemu-system
- /usr/share/doc/virt-manager
- /usr/share/doc/libvirt-bin
- Páginas del manual o “man“: qemu-img, virsh, virt-clone, virt-convert, virt-host-validate, virt-image, virt-install, virt-manager, virt-viewer, virt-xml-validate.
Sitios web:
- http://en.wikibooks.org/wiki/QEMU
- http://virt-manager.org
Tips
Redes Virtuales: por defecto, el Virt-Manager propone para la red virtual tipo NAT la subnet 192.168.122.0/24 y con un servidor interno DHCP. Si por casualidad borramos la red virtual “default”, lo cual NO recomendamos, y tratamos de crear una nueva y no podemos por cuestiones de permisos, vamos a la carpeta /etc/libvirt/qemu/networks, y si NO encontramos el archivo default.xml, lo creamos nuevamente con el siguiente contenido:
<network> <name>default</name> <bridge name="virbr0" /> <forward/> <ip address="192.168.122.1" netmask="255.255.255.0"> <dhcp> <range start="192.168.122.2" end="192.168.122.254" /> </dhcp> </ip> </network>
Como vemos, si editamos manualmente éste archivo, podemos declarar otra subnet y eliminar el DHCP. Siempre será mejor crear una nueva red virtual mediante la interfaz del Virt-Manager, activar la casilla Autoiniciar y seleccionarla cuando creemos una máquina virtual. Para evitar que se auto inicie la red virtual “default”, no seleccionamos la casilla Autoiniciar.
Almacenamiento: por defecto está ubicado en /var/lib/libvirt/images. La mejor opción es la de crear un nuevo Almacenamiento mediante la interfaz gráfica, y ubicarlo en el directorio o lugar que más nos convenga. Los archivos de configuración se encuentran en/etc/libvirt/storage/.
Crear discos duros con formato qcow2 (qemu copy on write) antes de crear una máquina virtual es una buena opción. Consulte man qemu-img.
Copia de seguridad de los archivos de configuración: Siempre hagan una copia de seguridad de los archivos de configuración ANTES de modificarlos manualmente.
Resumen
Como bien declaramos al inicio de nuestro artículo, la guía dada es solo una pequeña introducción al tema. Es imposible sustituir en un post a la extensa documentación de ésta potente herramienta. ¡Que la disfruten!.
¡Hasta la próxima aventura, Amigos!.
Genial.. hoy mismo migro de Virtualbox a Qemu-kvm 😀
Sabeis si las maquinas virtuales de Qemu-kvm permiten manejar los puertos USB?
Gracias.
Si funcionan los USB sobre Qemu KVM
Saludos y Gracias mi amigo El Freake !!!
Bueno lo he instalado en Xubuntu, sin problemas, pero en comparación con VirtualBox, con una maquina Virtual con Windows XP va lento.
Un saludo.
Fico, la versión de Debian que usas, ¿es el Squeeze o Wheezy? Porque hasta ahora no sé cómo demonios hago para que el GNOME 3 fallback tenga el aspecto de GNOME 2.
¿Instalaste gnome-session-fallback? Hace mucho que probé wheezy y no recuerdo si estaba por default instalado junto con el Shell.
Daniel, si instala por defecto el paquete gnome-session-fallback
Hace una semana, el Wheezy, y durante más de 1 año, el Squeeze. En ambas funciona el KVM
Vaya, buen artículo, la verdad esta es la primera vez que me descargo Debian, siempre he usado otras distros, esta ya la tengo descargada hace días pero sin tiempo para usarla en maquina virtual, por suerte tengo 12 gigas en mi PC así que le asignaré al menos 1 giga o tal vez más ya te cuento cómo me fué, un saludo.
Que casualidad que hace unos dias volví a Qemu porque VirtualBox siempre me esta dando problemas, incluso uso Qemu en Windows. Pensé que en el post ibas a explicar como funciona Qemu con comandos, pero no sabia de esta interfaz.
Yo estoy más perdido en Xen que en QUEMU y VirtualBox.
Yo no sabía de esta, el otro día encontré aqemu (qt4) y la he estado probando pero esta solución es mucho más profesional, gracias Federico.
Al final me da un error en la red NAT, pero era porque no está activado en el kernel por defecto.
Pero encontré una solución en el foro, recompilando.
«… add IPv4 NAT (Networking Options -> Network Packet Filtering Framework -> IP Netfilter Configuration)»
http://forums.debian.net/viewtopic.php?f=5&t=94729
Un ejemplo del comando para crear la imagen: «qemu-img create -f qcow2 debian.img 10G»
Saludos Dhunter !!! Con el man qemu-img haces un Doctorado al respecto. 🙂
Ya estoy en Qemu-KVM.. a tomar por culo Virtualbox y sus putas restricciones..
Yo estoy muy comodo con vmware…
¿En serio crees que para mi VMWare es mejor alternativa que Qemu-kvm? Empezando que no solo VMWare es propietario, sino que con Qemu-KVM no necesito nada de terceros.. y siempre será compatible con mi kernel.
😛
no digo que sea mejor alternativa, pero me corre las maquinas virtuales precompiladas, de osx, y windows 7 que descargué de piratebay, y con eso me basta xD,. además tiene muy buen rendimiento
Entonces, a instalar el VirtualBox OSE que hay en Debian Wheezy (o compilarlo por su cuenta la versión 4.2, ya que desgraciadamente Oracle solo deja bajar la versión oficial y no la OSE).
bueno, en windows lo usaba con mi amd x2 y iba bastante bien, para ejecutar entornos osx, es el único que pude la verdad, intenté con virtualbox y nunca me ha acabado de funcionar.
@pandev92:
A mí me sucede lo mismo con el Virtualbox oficial en Windows, pero no he encontrado errores a la hora de ejecutarlo en GNU/Linux.
VMWare es muchísimo más pesado que el Oracle Virtualbox debido a que usa los recursos de tu hardware para acelerar tu máquina virtual. De ahí por qué uso el VirtualBox OSE (aunque prefiero otras alternativas como el Xen o el QUEMU).
Qmenu sería la UI qt para KVM? Tengo que ponerme a hacer pruebas xD
Qué restricciones tienes en VirtualBox?
Pues si usas i386 no puedes emular amd64, con kvm creo que si se puede. No hay soporte USB si no instalas una addons. En GNU/Linux el guestaddition no te pone la pantalla a fullscreen… en fin..
Al emular amd64 en una PC con i386, la sensación es la misma cuando usas VMWare Workstation.
En cuanto al Guest Additions, debo decir que si pones 96 MB puedes lograr que ocupe toda la pantalla (lo probé con KDE, GNOME y demás con Debian Squeeze update 6).
En fin, cuando quiero hacer un Debian Server (lo llamo así en alusión al «Ubuntu Server» que no es nada más ni nada menos que una versión netinstall bastardizada), lo hago sin interfaz gráfica y me sumerjo al mundo de la consola, además que ya le agarré un gusto en particular al GNU Nano y el poder que le otorga a mi meñique.
Esta casi estable esta version de debian, o mejor esta la 6? 😀
No dudes. Instala y usa Wheezy
Por ahora, su estabilidad está a la par de Ubuntu LTS, pero con el pasar de sus actualizaciones, estará al nivel de CentOS (Si no fuera por la inmensa cantidad de paquetes, ya estuviera siendo usado por la Estación Espacial Internacional).
En cuanto a distros como CentOS, preferiría usarlo como reemplazo de Windows XP a menos que facilite la instalación y/o actualización con la terminal.
Hola, estoy usando Ubuntu 13.04 y me sale el siguiente error al abrir el programa:
No se pudo conectar a libvirt.
Verify that:
– The ‘libvirt-bin’ package is installed
– The ‘libvirtd’ daemon has been started
– You are member of the ‘libvirtd’ group
y cuando le doy mostrar detalles sale lo siguiente:
No se pudo conectar a libvirt.
Verify that:
– The ‘libvirt-bin’ package is installed
– The ‘libvirtd’ daemon has been started
– You are member of the ‘libvirtd’ group
Libvirt URI is: qemu:///system
Traceback (most recent call last):
File «/usr/share/virt-manager/virtManager/connection.py», line 1027, in _open_thread
self.vmm = self._try_open()
File «/usr/share/virt-manager/virtManager/connection.py», line 1009, in _try_open
flags)
File «/usr/lib/python2.7/dist-packages/libvirt.py», line 102, in openAuth
if ret is None:raise libvirtError(‘virConnectOpenAuth() failed’)
libvirtError: No se pudo conectar socket a ‘/var/run/libvirt/libvirt-sock’: Permiso denegado
¿Alguien tiene idea de como solucionar esto?
PD: ya verifiqué que este instalado el paquete libvirt-bin y también agregué mi usuario a libvirtd. Lo de verificar si el demonio libvirtd se inició no tengo ni idea de como hacerlo XD. De antemano gracias!
ahhhh otra de las razones por las que odié Linux, me acuerdo que había que ejecutar algo con sudo para eso y aparte antes de iniciar el Vbox pues tenía que usar un comando para desbloquear la virtualización de hardware, si encuentro te lo paso.
Ya lo solucioné, solo hacia falta reiniciar 😛
¿Y por qué no te fijaste si el sistema te avisaba que requería reiniciar? Porque en mi caso, como uso Debian, me pide que reinicie siempre y cuando haga estos menesteres que estén directamente relacionados con el kernel.
Yo no odio el sistema GNU/Linux, sino distros de GNU/Linux que realmente son una porquería a la hora de hacer este tipo de tareas como son Ubuntu normal (las LTS son por lo menos lo suficientemente decentes como para trabajar, pero en cuanto a los drivers propietarios, a la hora de actualizar siempre se cruzan).
Tengo el VirtualBox en Debian Oldstable y hasta ahora no me ha dado problemas (salvo cuando he querido ejecutar una máquina en el kernel Xen que le instalé) y me anda de maravillas.
Si deseas entrar al facebook, trabajar tus documentos de Office o simplemente tener un mejor rendimiento en tus juegos de Steam, usa Ubuntu normal o LTS; pero si quieres virtualizaciones, servidores seguros, estabilidad a prueba de errores por el factor humano, entonces ponte a usar CentOS/RHEL, Slackware y/o Debian Stable.
PD: Uso el Chromium 25 que obtuve del Launchpad (de allí por qué demonios me aparece como si estuviera usando Ubuntu cuando en realidad uso Debian Oldstable {Squeeze}).
Tengo un problema aunque la verdad los comentarios no son el lugar ideal para discutir esto así que abrí un hilo en el foro para poder discutir con calma.
Link aquí
Intenta descartar si el el QEMU que está mal configurado con otros sistemas de MV como VirtualBox OSE o Xen.
Ahora, estoy probando si de verdad funciona el ZPanelX en Wheezy usando el script diseñado para Ubuntu 12.04 LTS.
Yo estoy usando ZPanel en mi Wheezy. Lo puedes pbtener desde la página oficial y anda sin problema algúno:
http://www.zvps.co.uk/zpanelcp/ubuntu-12-04
Logicamente como paquetes pre-requeridos no instalas:
yum install ld-linux.so.2 curl
pero
apt-get install libc6 curl
El paquete libc6 incluye el paquete ld-linux.so.2 😀
Muchas gracias por quitarme un peso de encima. Es más, ya lo tengo guardado en borrador un avance en este blog, por lo que deseo dejar en claro estos los pasos a seguir (además de incluirte en los créditos de mi investigación) y por supuesto, poner un pantallazo en el cual tenga el panel de control de ZPanel X con Debian Wheezy desde un navegador (perdónenme si el pantallazo que hago estuviera hecho en Windows 7, pero la porquería de PC que tengo y la velocidad de internet que uso no me permite sacarle el jugo con máquinas virtuales por lo que tengo que recurrir a las PC’s que hay en el instituto de computación en el cual estudio).
Cuando probé ese panel de control en Windows, me di cuenta lo sencillo de manejar, pero inexplicablemente era lentísimo y por eso me incliné a buscar cómo instalarlo en Debian Squeeze sin éxito, hasta que llegó Wheezy y se me iluminó el camino.
¡Excelente! Me has tentado 🙂
A probarlo.
¿Cuáles serían las ventajas de rendimiento en las máquinas virtuales con los otros entornos de virtualización?
Muchas Gracias a todos por sus comentarios !!!.
KVM es como Xen, un Hypervisor. Su rendimiento es MUY superior al obtenido con VirtualBox, o VMware Workstation o Server. Se lo dice uno que tiene servidores en producción desde el 2005 usando VMware Server. No los borro porque los hosts son viejos y sus procesadores no tienen las extensiones. En mis estaciones de trabajo en mi empresa y en mi casa, borré todas las máquinas virtuales y las hice desde cero con el QUEMU-KVM, y fueron 6 máquinas en total.
Yo dejé de usar el VMWare Workstation porque realmente es un devorador de recursos a la hora de virtualizar y no tiene un instalador de controladores que sea automatizado como el que tiene VirtualBox (de allí por qué me he vuelto adepto a él).
En cuanto al QEMU, tendría que probarlo en Wheezy, ya que en Squeeze (la versión en la cual tengo instalada en mi PC obsoleta), los controladores son obsoletos y mi mayor temor es que no tenga una compatibilidad para sus drivers en Windows NT 5.x y superiores.
Buen post amigo,
[code]# adduser miusuario libvirt[/code]
nada mas que en esa linea te faltó una «d» al final
Lee despacio el artículo, sobre todo donde dice Nota sobre Ubuntu. En Debian Squeeze o el Wheezy el grupo es libvirt, mientras que en Ubuntu es libvirtd.
¿Algún manual para tontos? Porque lo he probado, y no hay manera. Cuando va a crear el disco duro virtual me tira un error. Le he dado permisos de escritura y ni por esas. Creo que seguiré con VirtualBox, que al menos, nunca me ha dado errores y la instalación, facilísima
Si en lugar de gnome usamos lxde u openbox 150 MB son mas que suficientes.
Nunca he tenido problemas con virtualbox aunque me parece interesante lo de virtualizar sistemas x64 en pcs con procesador i386
Hola
Es increible!, yo era usuario hábito de VirtualBox ahora comence con QEMU-KVM y es un mundo totalmente diferente y en efecto me atrevo a decir que superior.
tuve muchos tropiesos al principio, pero solo es cosa de buscarle
* Para empezar no terminaba de crear la maquina virtual porque no se terminaba de configurar la red, para esto resulta que no tenia en mi kernel los modulos de iptables (uso un kernel 3.9.2 compilado por mi), necesarios para crear la red NAT, una vez re-compilado el kernel con dichos modulos ya me terminaba de crear la maquina virtual
* En segundo lugar se tardaba demaciado en instalar el SO (Windows por necesidad de trabajo), resultó que es debido a la configuración del disco duro virtual, primero hay que crear un disco duro virtual en formato qcow2 con la opcion de prealloc, en esta página, esta bien explicado http://itscblog.tamu.edu/improve-disk-io-performance-in-kvm/ , pero ojo, en la opcion disk Bus aún no seleccionen Virtio, ya que primero deben tener el driver instalado en la maquina virtual para que pueda arrancar el disco duro virtual
con esto hecho la velocidad en general de la maquina virtual aumenta conciderablente
* Tercero, para los que instalen guest de windows es muy util esta guia http://www.blah-blah.ch/it/general/kvm-and-windows-vms/ ya que nos dice como instalar los controladores Virtio para el disco duro y VGA que tambien aumentan muchisimo la experiencia de usuario
tambien les recomiendo darse una vuelta por la pagina de qemu y sus foros, tienen articulos interesantes http://www.linux-kvm.com/
En definitiva me quedo con QEMU-KVM!
Saludos.
Excelente la he probado virtualizando un CentOS y anda de maravilla. Y los mejor de todo trabaja excelente sin necesidad de addons o cosas por el estilo….
Hola una pregunta he intentado instalar siguiendo los pasos, baje el debian 7 de la pagina pero cuando intento instalar me marca que no encuentra libvirt-bin, he buscado informacion pero ningun manual comenta sobre repositorios para instalacion de libvirt.
alguien por ahi que me de una idea de que puedo hacer
Gracias
Flaco muchas gracias esto era lo que buscaba.
🙂
No hay porque. Contento de que te sirva. Ahhhhh, y es Fico o Federico. 🙂
Hola buenas:
Intento instalar qemu-kvm y no me deja me sale esto:
# apt-get install qemu-kvm libvirt-bin bridge-utils virt-manager hal
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
E: No se ha podido localizar el paquete qemu-kvm
E: No se ha podido localizar el paquete libvirt-bin
E: No se ha podido localizar el paquete virt-manager
Alguien me puede ayudar. He echo muchas pruebas y estoy estancado.
Saludos
Hola Esteban a mi me paso lo mismo, pero busque agregar mas repositorios desde la pagian de debian, y ya con eso pude instalar los paquetes
Saludos
Hola arturo, una pregunta soy nuevo en el uso de linux en general, pero como le agrego los repositorios a debian?
gracias de antemano
La teoría y las imagenes prácticas se conjugan en un armonioso tutorial XD. Excelente tuto.
Gracias por tu elogio y por comentar !!!
Como puedo hacer para administra en qemu dos placas de red ethernet ? una par mi host y otra para qemu. Lo hago porque tengo dos acces point con conexiones independientes. Y mi idea es utilizar una par descargas con torrent (maquina virtual en qemu) y la otra para uso diario en mi archlinux )(host)