En un artículo anterior vimos como instalar Qemu-KVM en Debian Wheezy gracias a la colaboración de Fico y en esta ocasión, yo les mostraré como hacerlo pero en Arch Linux.
Comparado con Debian, lo que les muestro a continuación es un poquito más pesado, pero vamos, es realmente fácil llegar al resultado final. Comencemos:
Instalando los paquetes necesarios
Vamos a instalar los paquetes que necesitamos para que funcione Qemu-KVM y poder administrar nuestras máquinas virtuales.
$sudo pacman -S qemu dmidecode ebtables dnsmasq libvirt bridge-utils openbsd-netcat radvd urlgrabber virtviewer virtinst virt-manager ifplugd ifenslave tcl
Anteriormente el paquete se llamaba qemu-kvm, para yo no más, ahora es solamente qemu. El resto de los paquetes son los necesarios para que funcionen las opciones de red y demás.
Una vez instalados estos paquetes, añadimos nuestro usuario a los grupos kvm y polkitd:
$ sudo gpasswd -a tu_usuario kvm $ sudo gpasswd -a tu_usuario polkitd
Luego levantamos los módulos necesarios, que pueden variar en dependencia de nuestra tarjeta de video:
$ sudo modprobe kvm-intel $ sudo modprobe kvm
Si tienes AMD, debes usar kvm-amd, y supongo que kvm-nvidia para los usuarios de NVidia. Sinceramente no estoy seguro de este último.
Ahora activamos el servicio:
$ sudo systemctl enable libvirtd.service
Y si queremos arrancarlo, ya saben:
systemctl start libvirtd.service
Solo nos resta crear o editar una regla para Policykit que nos permita gestionar las máquinas virtuales con nuestro usuario. Para ello editamos o creamos el archivo:
$ sudo nano /etc/polkit-1/rules.d/50-org.libvirt.unix.manage.rules
Y le insertamos adentro las siguientes líneas:
polkit.addRule(function(action, subject) { if (action.id == "org.libvirt.unix.manage" && subject.user == "tu_usuario") { return polkit.Result.YES; } });
Debemos sustituir tu_usuario por nuestro usuario, como es lógico. ¿Qué nos quedaría? Pues reiniciar el ordenador y probar hacer una nueva máquina virtual.
Referencias: FactorQM.
33 comentarios, deja el tuyo
Saludos Elav!!! Realmente no lo veo más complicado que en Debian. Acaso comandos diferentes. Siempre Vale La Pena ejecutar unos pocos comandos para tener instalada esa Poderosa herramienta para hacer máquinas virtuales. Aunque no use Arch, Gracias por dar a conocer como se instala en esa distro.
Hay que hacer unos pasos de más… a eso me refiero con lo complicado. En Debian no hay necesidad de hacer más nada que instalar los paquetes y añadir nuestro usuario al grupo correspondiente.
Una preguntita elav: Arch ya usa systemd, es necesario ponerle el .service al servicio? No lo reconoce aun por systemctl ‘action’ kdm, por ejemplo?
Si, Arch usa Systemd. No sé si se pueda sin el .service, y como así está en la Wiki, pues así lo hice 😀
Sí lo reconoce, no es necesario ponerlo.
muy bonito el osx…OHH WAIT XD
xDD Ya quisiera OSX ser mi KDE 😛
mañana.
Le doy la razón a @elav, ya que la interfaz Aqua de OSX consume 256 MB de vídeo, comparado con KDE que ronda desde los 96 MB (el mínimo soportable), y 128 MB (el mínimo recomendado).
En Slackware, el KDE corre con 96 MB de vídeo, tal y como si tuviese 128 MB. En fin, entre gustos y colores…
lo del consumo a mi me da igual, compro otro modulo de 4 gb y listo XDD
en video, cualquier tarjeta de los ultimos 4 años viene con 1 gb ddr2 o ddr3 xD.., hasta una nvidia gt610 de 40 euros.
@pandev92:
Vivo en un país de latinoamérica en donde el poder adquisitivo limita la posibilidad de adquirir una buena tarjeta de vídeo para una persona promedio, pero me gustaría usar una Gigabyte con chipset Intel (en sí, es la mejor marca de mainboards que he usado hasta ahora).
evidentemente, el poder adquisitivo le da igual a pandev92, ni hablar XD
Arch no es complicado, solo hay que tener u poco mas de tiempo para leer la wiki.
En sí, Arch es KISS y RTFM a la vez (dependes siempre de las actualizaciones de la wiki para evitarte cualquier modificación que le hagan al proceso de actualización).
No es que sea complicado o no, simplemente no es adecuada para el usuario final.
Si no quieres estar en este modo RTFM (Read The Fucking Manual), mejor usa Mint.
que no sea para el usuario final, a mi me daría igual XD
deberias dejar lo de policykit asi,asi comprueba si esta en el grupo o no y ya esta,
asi si tienes mas de un usuario le daria acceso si esta en el grupo,yo aunque solo uso la maquina para mi tengo varios usuarios para diferentes proyectos,si lo pones como usuario solo ira con ese usuario
un saludo
polkit.addRule(function(action, subject) {
if (action.id == «org.libvirt.unix.manage» &&
subject.isInGroup(«libvirt»)) {
return polkit.Result.YES;
}
});
puse el grupo libvirt pero puedes poner el grupo que quieras,en tu caso kvm o polkitd
Buenas, alguien sabe porque da kvm este error:
Imposible completar la instalación: ‘internal error: el proceso ha finalizado mientras se conectaba con el monitor: char device redirected to /dev/pts/0 (label charserial0)
qemu-system-x86_64: -drive file=/home/zpabuin/Descargas/Fedora-Live-LXDE-x86_64-19-1.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw: could not open disk image /home/zpabuin/Descargas/Fedora-Live-LXDE-x86_64-19-1.iso: Permission denied
‘
Traceback (most recent call last):
File «/usr/share/virt-manager/virtManager/asyncjob.py», line 100, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File «/usr/share/virt-manager/virtManager/create.py», line 1920, in do_install
guest.start_install(False, meter=meter)
File «/usr/share/virt-manager/virtinst/Guest.py», line 1134, in start_install
noboot)
File «/usr/share/virt-manager/virtinst/Guest.py», line 1202, in _create_guest
dom = self.conn.createLinux(start_xml or final_xml, 0)
File «/usr/lib/python2.7/site-packages/libvirt.py», line 2892, in createLinux
if ret is None:raise libvirtError(‘virDomainCreateLinux() failed’, conn=self)
libvirtError: internal error: el proceso ha finalizado mientras se conectaba con el monitor: char device redirected to /dev/pts/0 (label charserial0)
qemu-system-x86_64: -drive file=/home/zpabuin/Descargas/Fedora-Live-LXDE-x86_64-19-1.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw: could not open disk image /home/zpabuin/Descargas/Fedora-Live-LXDE-x86_64-19-1.iso: Permission denied
Gracias, por cierto virtinst es un paquete desactualizado en arch desde mayo y no necesario.
Preguntota…
cuando intento levantar el modulo del kernel kvm-intel (que es el procesador que yo tengo), me dice:
modprobe: ERROR: could not insert ‘kvm_intel’: Operation not supported
Buscando en mi sistema noto que el modulo kvm-intel existe en
/usr/lib/modules/3.10.10-1-ARCH/kernel/arch/x86/kvm/kvm-intel.ko.gz
(y si, ejecutando egrep -c «(svm|vmx)» /proc/cpuinfo se con certeza que si debería soportar virtualización aquí)
Mi pregunta es doble:
-no necesitaré activar/habilitar algo en mi kernel para que soporte esto?
-mi sistema es 64 bits y veo que el modulo vive en x86, será por esto? En cuyo caso pregunto, hay modulos para 64 bits que si pueda instalar y dejen de darme la lata?
gracias de antemano!
Problema resuelto, me falto habilitar la virtualización en la BIOS de mi sistema… 🙂
gracias!
me sale que no encuentra este archivo «virtinst»
El paquete virtinst no lo he instalado, porque ya no está en los repos.
Me sale el mismo error que Xorlogs:
Imposible completar la instalación: ‘Error interno: el proceso ha finalizado mientras se conectaba con el monitor: qemu-system-x86_64: -drive file=/home/maykel/archlinux-2013.10.01-dual.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw: could not open disk image /home/maykel/archlinux-2013.10.01-dual.iso: Permission denied
‘
Traceback (most recent call last):
File «/usr/share/virt-manager/virtManager/asyncjob.py», line 100, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File «/usr/share/virt-manager/virtManager/create.py», line 1920, in do_install
guest.start_install(False, meter=meter)
File «/usr/share/virt-manager/virtinst/Guest.py», line 1134, in start_install
noboot)
File «/usr/share/virt-manager/virtinst/Guest.py», line 1202, in _create_guest
dom = self.conn.createLinux(start_xml or final_xml, 0)
File «/usr/lib/python2.7/site-packages/libvirt.py», line 2897, in createLinux
if ret is None:raise libvirtError(‘virDomainCreateLinux() failed’, conn=self)
libvirtError: Error interno: el proceso ha finalizado mientras se conectaba con el monitor: qemu-system-x86_64: -drive file=/home/maykel/archlinux-2013.10.01-dual.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw: could not open disk image /home/maykel/archlinux-2013.10.01-dual.iso: Permission denied
Ahora mismo lo que tengo instalado es:
– libvirt
– libvirt-glib
– virt-manager
– virtviewer
Revisen 😉
Has actualizado arch?? Has visto el bonito bug en virt-manager con el update virt-manager 0.10.0-4
Error: ‘NoneType’ object has no attribute ‘__getitem__’
https://bugs.archlinux.org/task/37990
Esta bien tu tutorial, y logre gracias a el que virt-manager funcione casi sin problemas, en tu nota no explicas a que .img se le agregan lso permisos, y no he podido crear una maquina virtual
El paquete virtinst no existe, ademas me dice «openbsd-netcat y gnu-netcat están en conflicto. ¿Quitar gnu-netcat? [s/N]», entonces no puedo dejar el gnu-netcat?
ola oie yo tengo una samsung chromebook el modelo creo es Snow Clear, quiero saber si se puede instalar Qemu en una base ARM, se como instalar ubuntu de hecho lo desinstale por el simple hecho q no pude correr exe files ,wine no corre en esta base solo con intel,pero qemu alparecer si, pero nose como instalarlo :/ espero me des una respuesta pronto , gracias, buen trabajo.
Si mal no recuerdo KVM sirve para acelerar qemu. Puesto que qemu emula todo el procesador es más lento que las maquinas virtuales como virtualbox. Así que por lo que sé KVM hace que qemu se comporte como una maquina virtual cuando la arquitectura del guest es la misma que la del host. ¿ No ?. De todas formas interesante el artículo.
Qemu rox !!
Saludos.
Buenas tardes, gracias por el tutorial lo andaba buscando, pero necesito que por favor me den una mano, de cómo instalar una maquina virtual en un disco externo, no utilizar el espacio físico anfitrión, gracias
En la parte donde se activan los módulos del kernel con modprobe en realidad se activan los que corresponden a la cpu, ya que kvm utiliza las instrucciones de virtualización de la cpu para funcionar. Tengo una pc con cpu intel y gpu amd y me funcionó de esta forma