Zainstaluj i skonfiguruj Qemu-KVM w Arch Linux [Zaktualizowano]

Wirtualny menedżer

W jednym Poprzedni artykuł widzieliśmy, jak zainstalować Qemu-KVM en świszczący oddech Debiana dzięki współpracy Fico i tym razem pokażę ci, jak to zrobić, ale w Arch Linux.

W porównaniu do Debian, to co pokażę wam dalej jest trochę cięższe, ale dajcie spokój, naprawdę łatwo dojść do końcowego efektu. Zaczynajmy:

Instalowanie niezbędnych pakietów

Zamierzamy zainstalować pakiety, których potrzebujemy, aby to działało Qemu-KVM i móc zarządzać naszymi maszynami wirtualnymi.

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

Wcześniej pakiet był nazywany qemu-sq.m, dla mnie już nie, teraz jest tylko qemu. Pozostałe pakiety są niezbędne do działania opcji sieciowych i tak dalej.

El Paquete Virtinst Nie ma go już w repozytoriach lub zmieniono jego nazwę. Teraz potrzebne są tylko pakiety virt-manager, libvirt-glib, libvirt, vde2 y qemu

Po zainstalowaniu tych pakietów dodajemy naszego użytkownika do grup Kvm y polka:

$ sudo gpasswd -a twój_użytkownik_kvm $ sudo gpasswd -a twój_użytkownik_polkitd

Następnie budujemy niezbędne moduły, które mogą się różnić w zależności od naszej karty graficznej:

$ sudo modprobe kvm-intel $ sudo modprobe kvm

Jeśli masz AMD, powinieneś użyć kvm-amd i zakładam kvm-nvidia dla użytkowników NVidia. Szczerze mówiąc nie jestem przekonany co do tego ostatniego.

Teraz aktywujemy usługę:

$ sudo systemctl enable libvirtd.service

A jeśli chcemy to zacząć, wiesz:

systemctl start libvirtd.service

Musimy tylko utworzyć lub edytować regułę dla Policykit, która pozwoli nam zarządzać maszynami wirtualnymi z naszym użytkownikiem. W tym celu edytujemy lub tworzymy plik:

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

I wstawiamy następujące wiersze do środka:

polkit.addRule(funkcja(akcja, temat) { if (action.id == "org.libvirt.unix.manage" && subject.user == "twój_użytkownik") { return polkit.Result.YES; } });

Musimy wymienić Twój użytkownik oczywiście przez naszego użytkownika. Co byśmy zostawili? Cóż, uruchom ponownie komputer i spróbuj utworzyć nową maszynę wirtualną.

W moim konkretnym przypadku, gdy próbowałem utworzyć nową maszynę wirtualną z istniejącym obrazem, wystąpił błąd uprawnień podczas kończenia działania kreatora. Musiałem tylko nadać uprawnienia do odczytu/zapisu do pliku .img

Referencje: Czynnik QM.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Federico A. Valdes Toujague powiedział

    Pozdrawiam Elaw!!! Naprawdę nie widzę tego bardziej skomplikowanego niż w Debianie. Może inne polecenia. Zawsze warto uruchomić kilka poleceń, aby zainstalować to potężne narzędzie do tworzenia maszyn wirtualnych. Nawet jeśli nie używasz Archa, dziękuję za poinformowanie mnie, jak zainstalować go w tej dystrybucji.

    1.    pełen życia powiedział

      Musisz zrobić kilka dodatkowych kroków... to właśnie rozumiem przez skomplikowane. W Debianie nie trzeba nic robić poza instalacją pakietów i dodaniem naszego użytkownika do odpowiedniej grupy.

  2.   oskar powiedział

    Małe pytanie dotyczące elav: Arch używa już systemd, czy konieczne jest umieszczenie .service w usłudze? Na przykład nie jest rozpoznawany nawet przez systemctl „action” kdm?

    1.    pełen życia powiedział

      Tak, Arch używa Systemd. Nie wiem czy to możliwe bez .service, a skoro jest na Wiki, to zrobiłem 😀

    2.    opłata powiedział

      Jeśli go rozpoznaje, nie trzeba go umieszczać.

  3.   pandev92 powiedział

    osx jest bardzo fajny… OHH CZEKAJ XD

    1.    pełen życia powiedział

      xDD Chciałbym, żeby OSX był moim KDE 😛

      1.    pandev92 powiedział

        jutro.

        1.    Eliotime3000 powiedział

          Zgadzam się z @elav, ponieważ interfejs Aqua OSX zużywa 256 MB wideo, w porównaniu do KDE, które wynosi około 96 MB (minimalne obsługiwane) i 128 MB (zalecane minimum).

          W Slackware KDE działa z 96 MB wideo, tak jakby miało 128 MB. Krótko mówiąc, między gustami a kolorami…

          1.    pandev92 powiedział

            Nie zależy mi na zużyciu, dokupuję kolejny moduł 4 GB i tyle XDD

          2.    pandev92 powiedział

            w wideo, każda karta z ostatnich 4 lat ma 1 GB ddr2 lub ddr3 xD..., aż do nvidii gt610 za 40 euro.

          3.    Eliotime3000 powiedział

            @ pandev92:

            Mieszkam w kraju Ameryki Łacińskiej, gdzie siła nabywcza ogranicza możliwość zakupu dobrej karty graficznej dla przeciętnego człowieka, ale chciałbym użyć Gigabyte z chipsetem Intela (sama w sobie jest to najlepsza marka płyt głównych, z jakich korzystałem, więc daleko).

          4.    Xavier powiedział

            oczywiście siła nabywcza nie ma znaczenia dla pandev92, nie ma mowy XD

  4.   Lew powiedział

    Arch nie jest skomplikowany, wystarczy mieć trochę więcej czasu na czytanie wiki.

    1.    Eliotime3000 powiedział

      Sam Arch to jednocześnie KISS i RTFM (zawsze polegasz na aktualizacjach wiki, aby uniknąć jakichkolwiek zmian wprowadzanych w procesie aktualizacji).

  5.   pandev92 powiedział

    Nie chodzi o to, że jest to skomplikowane, czy nie, po prostu nie jest odpowiednie dla użytkownika końcowego.

    1.    Eliotime3000 powiedział

      Jeśli nie chcesz być w tym trybie RTFM (Read The Fucking Manual), lepiej użyj Mint.

    2.    Xavier powiedział

      to nie jest dla użytkownika końcowego, nie obchodzi mnie XD

  6.   Bernie powiedział

    Powinieneś tak zostawić policykit, sprawdzić czy jest w grupie czy nie i tyle,
    Więc jeśli masz więcej niż jednego użytkownika, dałbym mu dostęp, jeśli jest w grupie. Chociaż używam maszyny tylko dla siebie, mam kilku użytkowników do różnych projektów. Jeśli umieścisz go jako użytkownika, pójdzie tylko z tym użytkownikiem.

    pozdrowienia

    polkit.addRule(funkcja(akcja, temat) {
    if (action.id == "org.libvirt.unix.manage" &&
    temat.isInGroup("libvirt")) {
    zwróć polkit.Wynik.TAK;
    }
    });

    1.    Bernie powiedział

      Umieściłem grupę libvirt, ale możesz umieścić grupę, którą chcesz, w twoim przypadku kvm lub polkitd

  7.   xoslorg powiedział

    Cześć, czy ktoś wie, dlaczego kvm podaje ten błąd:

    Nie można ukończyć instalacji: „błąd wewnętrzny: proces zakończony podczas łączenia z monitorem: przekierowanie urządzenia char do /dev/pts/0 (etykieta charserial0)
    qemu-system-x86_64: -drive file=/home/zpabuin/Downloads/Fedora-Live-LXDE-x86_64-19-1.iso,if=none,id=drive-ide0-1-0,readonly=on,format =raw: nie można otworzyć obrazu dysku /home/zpabuin/Downloads/Fedora-Live-LXDE-x86_64-19-1.iso: Odmowa uprawnień
    "

    Traceback (ostatnie połączenie ostatnio):
    Plik „/usr/share/virt-manager/virtManager/asyncjob.py”, wiersz 100, w cb_wrapper
    wywołanie zwrotne (asyncjob, *args, **kwargs)
    Plik „/usr/share/virt-manager/virtManager/create.py”, wiersz 1920, w do_install
    guest.start_install(fałsz, licznik=metr)
    Plik „/usr/share/virt-manager/virtinst/Guest.py”, wiersz 1134, w pliku start_install
    brak rozruchu)
    Plik „/usr/share/virt-manager/virtinst/Guest.py”, wiersz 1202, w _create_guest
    dom = self.conn.createLinux(start_xml lub final_xml, 0)
    Plik „/usr/lib/python2.7/site-packages/libvirt.py”, linia 2892, w createLinux
    jeśli ret to None:raise libvirtError('virDomainCreateLinux() nie powiodło się', conn=self)
    libvirtError: błąd wewnętrzny: Proces zakończony podczas łączenia z monitorem: przekierowanie urządzenia char do /dev/pts/0 (etykieta charserial0)
    qemu-system-x86_64: -drive file=/home/zpabuin/Downloads/Fedora-Live-LXDE-x86_64-19-1.iso,if=none,id=drive-ide0-1-0,readonly=on,format =raw: nie można otworzyć obrazu dysku /home/zpabuin/Downloads/Fedora-Live-LXDE-x86_64-19-1.iso: Odmowa uprawnień

    Dzięki, tak przy okazji, virtinst jest przestarzałym pakietem w arch od maja i nie jest potrzebny.

  8.   Xavier powiedział

    Pytanie…

    Kiedy próbuję podnieść moduł jądra kvm-intel (który jest procesorem, który mam), mówi mi:

    modprobe: BŁĄD: nie można wstawić „kvm_intel”: operacja nie jest obsługiwana

    Przeszukując mój system, zauważam, że istnieje moduł kvm-intel
    /usr/lib/modules/3.10.10-1-ARCH/kernel/arch/x86/kvm/kvm-intel.ko.gz

    (i tak, uruchamiając egrep -c "(svm|vmx)" /proc/cpuinfo wiem na pewno, że powinien tutaj obsługiwać wirtualizację)

    Moje pytanie jest dwojakie:

    - czy nie będę musiał aktywować/włączyć czegoś w moim jądrze, aby to obsługiwać?
    -Mój system jest 64-bitowy i widzę, że moduł żyje w x86, czy to przez to? W takim przypadku pytam, czy istnieją moduły dla 64 bitów, które mogę zainstalować i przestać mnie dręczyć?

    z góry dzięki!

    1.    Xavier powiedział

      Problem rozwiązany, muszę włączyć wirtualizację w BIOSie mojego systemu... 🙂

      dziękuję!

  9.   Leonardopc1991 powiedział

    Rozumiem, że nie może znaleźć tego pliku „virtinst”.

    1.    majkel535 powiedział

      Nie zainstalowałem pakietu virtinst, ponieważ nie ma go już w repozytoriach.

      Otrzymuję ten sam błąd co Xorlogs:

      Nie można ukończyć instalacji: „Błąd wewnętrzny: Proces zakończony podczas łączenia z monitorem: 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: nie można otworzyć obrazu dysku /home/maykel/archlinux-2013.10.01-dual.iso: Odmowa uprawnień
      "

      Traceback (ostatnie połączenie ostatnio):
      Plik „/usr/share/virt-manager/virtManager/asyncjob.py”, wiersz 100, w cb_wrapper
      wywołanie zwrotne (asyncjob, *args, **kwargs)
      Plik „/usr/share/virt-manager/virtManager/create.py”, wiersz 1920, w do_install
      guest.start_install(fałsz, licznik=metr)
      Plik „/usr/share/virt-manager/virtinst/Guest.py”, wiersz 1134, w pliku start_install
      brak rozruchu)
      Plik „/usr/share/virt-manager/virtinst/Guest.py”, wiersz 1202, w _create_guest
      dom = self.conn.createLinux(start_xml lub final_xml, 0)
      Plik „/usr/lib/python2.7/site-packages/libvirt.py”, linia 2897, w createLinux
      jeśli ret to None:raise libvirtError('virDomainCreateLinux() nie powiodło się', conn=self)
      libvirtError: Błąd wewnętrzny: Proces zakończony podczas łączenia z monitorem: 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: nie można otworzyć obrazu dysku /home/maykel/archlinux-2013.10.01-dual.iso: Odmowa uprawnień

      1.    pełen życia powiedział

        Obecnie to co mam zainstalowane to:

        –libvirt
        --libvirt-glib
        –wirt-menedżer
        –Widok wirtualny

        Sprawdź 😉

        1.    majkel535 powiedział

          Czy zaktualizowałeś plik? Widzieliście niezły błąd w virt-manager z aktualizacją virt-manager 0.10.0-4

          Błąd: obiekt „NoneType” nie ma atrybutu „__getitem__”

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

  10.   Dźwięk-Alchemik powiedział

    Twój poradnik jest w porządku i dzięki niemu udało mi się sprawić, że virt-manager działał prawie bez problemów, w swojej notatce nie wyjaśniasz, że uprawnienia są dodawane do .img, a ja nie byłem w stanie stworzyć maszyny wirtualnej

  11.   edo powiedział

    Pakiet virtinst nie istnieje, a także mówi mi, że „openbsd-netcat i gnu-netcat są w konflikcie. Usunąć gnu-netcat? [t/N]”, więc nie mogę wyjść z gnu-netcat?

  12.   Manuel powiedział

    cześć hej, mam chromebooka Samsunga, myślę, że model to Snow Clear, chcę wiedzieć, czy Qemu można zainstalować na bazie ARM, wiem, jak zainstalować ubuntu, w rzeczywistości odinstalowałem go z tego prostego faktu, że nie mogłem uruchomić exe, wine nie działa na nim. Bazuje tylko na danych wywiadowczych, ale wygląda na to, że tak, ale nie wiem, jak to zainstalować:/ Mam nadzieję, że szybko mi odpowiesz, dzięki, dobra robota.

  13.   swój powiedział

    Jeśli dobrze pamiętam, KVM służy do przyspieszenia qemu. Ponieważ qemu emuluje cały procesor, jest wolniejsze niż maszyny wirtualne, takie jak virtualbox. O ile mi wiadomo, KVM sprawia, że ​​qemu zachowuje się jak maszyna wirtualna, gdy architektura gościa jest taka sama jak hosta. NIE ?. W każdym razie artykuł jest ciekawy.

    Qemu rox!!

    Pozdrowienia.

  14.   Roberto powiedział

    Dzień dobry, dzięki za samouczek, szukałem go, ale potrzebuję pomocy, jak zainstalować maszynę wirtualną na dysku zewnętrznym, a nie używać fizycznej przestrzeni hosta, dzięki

  15.   Strona Asgardiusa powiedział

    W części, w której moduły jądra są aktywowane za pomocą modprobe, te, które odpowiadają procesorowi, są faktycznie aktywowane, ponieważ kvm używa instrukcji wirtualizacji procesora do pracy. Mam komputer z procesorem Intel i AMD GPU i działało to dla mnie w ten sposób