Instal·lar i configurar Qemu-KVM en Arch Linux [Actualitzat]

Virtual-Manager

En un article anterior vam veure com instal·lar Qemu-KVM en Debian Wheezy gràcies a la col·laboració de FIG i en aquesta ocasió, jo els mostraré com fer-ho però en Arch Linux.

comparat amb Debian, El que els mostro a continuació és una miqueta més pesat, però anem, és realment fàcil arribar a el resultat final. Comencem:

Instal·lació de paquets necessaris

Anem a instal·lar els paquets que necessitem perquè funcioni Qemu-KVM i poder administrar les nostres màquines virtuals.

$ Sudo pacman -S qemu dmidecode ebtables dnsmasq libvirt bridge-utils openbsd-netcat radvd urlgrabber virtviewer virtinst virt-manager ifplugd ifenslave tcl

Anteriorment el paquet es deia qemu-kvm, Per jo no més, ara és només qemu. La resta de les aplicacions són els necessaris perquè funcionin les opcions de xarxa i altres.

El paquete bullir ja no es troba en els repositoris o canviar de nom. Ara són necessaris només els paquets virt-manager, libvirt-glib, libvirt, vde2 y qemu

Un cop instal·lats aquests paquets, afegim el nostre usuari als grups kvm y polkitd:

$ Sudo gpasswd -a tu_usuario kvm $ sudo gpasswd -a tu_usuario polkitd

Després vam aixecar els mòduls necessaris, que poden variar en dependència de la nostra targeta de vídeo:

$ Sudo modprobe kvm-intel $ sudo modprobe kvm

Si tens AMD, has de fer servir kvm-amd, i suposo que kvm-nvidia per als usuaris de NVidia. Sincerament no estic segur d'aquest últim.

Ara activem el servei:

$ sudo systemctl enable libvirtd.service

I si volem arrencar-lo, ja saben:

systemctl start libvirtd.service

Només ens resta crear o editar una regla per PolicyKit que ens permeti gestionar les màquines virtuals amb el nostre usuari. Per a això vam editar o creem l'arxiu:

$ sudo nano /etc/polkit-1/rules.d/50-org.libvirt.unix.manage.rules

I li inserim dins les següents línies:

polkit.addRule (function (action, subject) {if (action.id == "org.libvirt.unix.manage" && subject.user == "tu_usuario") {return polkit.Result.YES;}});

hem de substituir el teu_usuari pel nostre usuari, com és lògic. Què ens quedaria? Doncs reiniciar l'ordinador i provar fer una nova màquina virtual.

En el meu cas particular, a l'intentar crear una nova màquina virtual amb una imatge ja existent, em feia una error de permisos a l'hora de finalitzar l'assistent. Només vaig haver de donar-li permisos de lectura / escriptura a el fitxer .img

referències: FactorQM.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Federico A. Valdés Toujague va dir

    Salutacions ILAV !!! Realment no ho veig més complicat que a Debian. Que potser ordres diferents. Sempre Val La Pena executar uns pocs comandaments per tenir instal·lada aquesta Poderosa eina per fer màquines virtuals. Encara que no faci servir Arch, Gràcies per donar a conèixer com s'instal·la en aquesta distro.

    1.    ILAV va dir

      Cal fer unes passes de més ... a això em refereixo amb el complicat. A Debian no hi ha necessitat de fer més res a instal·lar els paquets i afegir el nostre usuari a el grup corresponent.

  2.   Ozkar va dir

    Una pregunteta ILAV: Arch ja fa servir systemd, cal posar-li el .service a el servei? No ho reconeix fins i tot per systemctl 'action' kdm, per exemple?

    1.    ILAV va dir

      Si, Arch fa servir systemd. No sé si es pugui sense el .service, i com així està en la Wiki, ja que així ho vaig fer 😀

    2.    carreguen va dir

      Sí que ho reconeix, no cal posar-ho.

  3.   pandev92 va dir

    molt bonic el osx ... OHH WAIT XD

    1.    ILAV va dir

      xDD Ja voldria OSX ser el meu KDE 😛

      1.    pandev92 va dir

        matí.

        1.    eliotime3000 va dir

          Li dono la raó a @elav, ja que la interfície Aqua de OSX consumeix 256 MB de vídeo, comparat amb el KDE que ronda des dels 96 MB (el mínim suportable), i 128 MB (el mínim recomanat).

          En Slackware, el KDE corre amb 96 MB de vídeo, tal com si tingués 128 MB. En fi, entre gustos i colors ...

          1.    pandev92 va dir

            el de l'consum a mi em dóna igual, compro un altre mòdul de 4 gb i llest xDD

          2.    pandev92 va dir

            en vídeo, qualsevol targeta dels últims 4 anys ve amb 1 gb DDR2 o DDR3 xD .., fins a una nvidia gt610 de 40 euros.

          3.    eliotime3000 va dir

            @ Pandev92:

            Visc en un país de llatinoamèrica on el poder adquisitiu limita la possibilitat d'adquirir una bona targeta de vídeo per una persona mitjana, però m'agradaria utilitzar una Gigabyte amb xipset Intel (en si, és la millor marca de mainboards que he fet servir fins ara ).

          4.    Javier va dir

            evidentment, el poder adquisitiu li és igual a pandev92, ni parlar XD

  4.   Lleó va dir

    Arch no és complicat, només cal tenir o poc mes de temps per llegir la wiki.

    1.    eliotime3000 va dir

      En si, Arch és KISS i RTFM alhora (depens sempre de les actualitzacions de la wiki per evitar-te qualsevol modificació que li facin a el procés d'actualització).

  5.   pandev92 va dir

    No és que sigui complicat o no, simplement no és adequada per a l'usuari final.

    1.    eliotime3000 va dir

      Si no vols estar en aquesta manera RTFM (Read The Fucking Manual), millor usa Mint.

    2.    Javier va dir

      que no sigui per a l'usuari final, a mi em seria igual XD

  6.   Berny va dir

    hauries deixar el de PolicyKit així, així comprova si aquesta en el grup o no i ja està,
    aixi si tens més d'un usuari li donaria accés si aquesta en el grup, jo encara que només faig servir la màquina per a la meva tinc diversos usuaris per a diferents projectes, si ho poses com a usuari només ira amb aquest usuari

    una salutació

    polkit.addRule (function (action, subject) {
    if (action.id == «org.libvirt.unix.manage» &&
    subject.isInGroup ( «libvirt»)) {
    return polkit.Result.YES;
    }
    });

    1.    Berny va dir

      vaig posar el grup libvirt però pots posar el grup que vulguis, en el teu cas kvm o polkitd

  7.   Xoslorg va dir

    Bones, algú sap perquè dóna kvm aquest error:

    Impossible completar la instal·lació: 'internal error: el procés ha finalitzat mentre es connectava amb el monitor: char device redirected to / dev / pts / 0 (label charserial0)
    qemu-system-x86_64: -drive file = / home / zpabuin / Descàrregues / 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 (última trucada més recent):
    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, ficar = ficar)
    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
    dg = 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 procés ha finalitzat mentre es connectava amb el monitor: char device redirected to / dev / pts / 0 (label charserial0)
    qemu-system-x86_64: -drive file = / home / zpabuin / Descàrregues / 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

    Gràcies, per cert virtinst és un paquet desactualitzat a fitxers des de maig i no necessari.

  8.   Javier va dir

    Preguntota ...

    quan intento aixecar el mòdul de el nucli kvm-intel (que és el processador que jo tinc), em diu:

    modprobe: ERROR: could not insert 'kvm_intel': Operation not supported

    Buscant en el meu sistema noto que el mòdul kvm-intel existeix en
    /usr/lib/modules/3.10.10-1-ARCH/kernel/arch/x86/kvm/kvm-intel.ko.gz

    (I si, executant egrep -c «(SVM | VMX)» / proc / cpuinfo es amb certesa que si hauria de suportar virtualització aquí)

    La meva pregunta és doble:

    -no necessitaré activar / habilitar alguna cosa en el meu nucli per a que suporti això?
    -el meu sistema és 64 bits i veig que el mòdul viu a x86, serà per això? En aquest cas pregunto, hi ha mòduls per a 64 bits que si pugui instal·lar i deixin de donar-me la llauna?

    gràcies per endavant!

    1.    Javier va dir

      Problema resolt, em mancat habilitar la virtualització a la BIOS del meu sistema ... 🙂

      gràcies!

  9.   leonardopc1991 va dir

    em surt que no troba aquest fitxer «virtinst»

    1.    maykel535 va dir

      El paquet virtinst no ho he instal·lat, perquè ja no està en els repos.

      Em surt el mateix error que Xorlogs:

      Impossible completar la instal·lació: 'Error intern: el procés ha finalitzat mentre es connectava amb 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 (última trucada més recent):
      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, ficar = ficar)
      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
      dg = 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 intern: el procés ha finalitzat mentre es connectava amb 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

      1.    ILAV va dir

        Ara mateix el que tinc instal·lat és:

        - libvirt
        - libvirt-glib
        - virt-manager
        - virtviewer

        revisin 😉

        1.    maykel535 va dir

          Has actualitzat arch ?? Has vist el bonic error en virt-manager amb l'update virt-manager 0.10.0-4

          Error: 'NoneType' object has no attribute '__getitem__'

          https://bugs.archlinux.org/task/37990

  10.   Sound-Alchemist va dir

    Aquesta bé la teva tutorial, i aconsegueixi gràcies a què virt-manager funcioni gairebé sense problemes, en la teva nota no expliques a què .img se li afegeixen lso permisos, i no he pogut crear una màquina virtual

  11.   edo va dir

    El paquet virtinst no existeix, a més em diu «openbsd-netcat i gnu-netcat estan en conflicte. ¿Treure gnu-netcat? [S / N] », llavors no puc deixar el gnu-netcat?

  12.   Manuel va dir

    onada oie jo tinc una samsung chromebook el model crec és Snow Clear, vull saber si es pot instal·lar Qemu en una base ARM, es com instal·lar Ubuntu de fet ho desinstal pel simple fet q no vaig poder córrer exe files, wine no corre en aquesta base només amb intel, però qemu alparecer si, però nose com instal·lar-lo: / espere em donis una resposta aviat, gràcies, bona feina.

  13.   tau va dir

    Si no recordo malament KVM serveix per accelerar qemu. Ja que qemu emula tot el processador és més lent que les maquines virtuals com virtualbox. Així que pel que sé KVM fa que qemu es comporti com una maquina virtual quan l'arquitectura de l'guest és la mateixa que la de l'amfitrió. No?. De tota manera interessant l'article.

    Qemu rox !!

    Salutacions.

  14.   Roberto va dir

    Bona tarda, gràcies pel tutorial el caminava buscant, però necessito que si us plau em donin un cop de mà, de com instal·lar una màquina virtual en un disc extern, no utilitzar l'espai físic amfitrió, gràcies

  15.   Page Asgardius va dir

    A la part on s'activen els mòduls de l'nucli amb modprobe en realitat s'activen els que corresponen a la cpu, ja que kvm utilitza les instruccions de virtualització de la cpu per funcionar. Tinc una pc amb cpu intel i gpu amd i em va funcionar d'aquesta manera