Despre Linux

  • Facebook
  • Twitter
  • LinkedIn
  • Acasă
  • Linux
    • Comenzi Linux
    • Tutoriale
  • Kubernetes
  • RHCSA
    • Exerciții RHCSA
    • SELinux
    • Permisiuni
  • General
    • Open source
  • Contact

QEMU și KVM în Arch Linux

13 decembrie 2017 By Bobses 3 comentarii

KVM (Kernel-based Virtual Machine) este sistemul de virtualizare nativ din RedHat; este un hypervisor construit direct în kernelul Linux. Același sistem se întâlnește și la distribuțiile derivate din RedHat: CentOS, Scientific Linux, Oracle Linux sau Fedora. KVM oferă posibilittaea de a crea și administra o mulțime de mașini virtuale pe un singur host: serverul gazdă care are instalată una din distribuțiile mai sus amintite. Probabil KVM este cea mai întâlnită formă de virtualizare la firmele care oferă hosting.

QEMU este un emulator de mașini virtuale care folosește hypervisorul KVM și utilizează extensiile procesului (HVM) pentru a rula mașini virtuale, atingând performanțe comparabile cu cele ale sistemului real, deoarece o mare parte din cod se execută direct pe procesorul mașinii gazdă.

Acest scurt ghid este pentru cei care au instalată distribuția Arch Linux și vor să folosească KVM în loc de Virtualbox.

Verificarea suportului KVM

KVM cere ca procesorul sistemul gazdă să suporte virtualizare (VT-x pentru procesoarele Intel și AMD-V pentru procesoarele AMD). Pentru a verifica dacă procesul nostru suportă virtualizare se execută comanda:

lscpu | grep Virtualization

sau

egrep --color=auto 'vmx|svm|0xc0f' /proc/cpuinfo

Răspunsul la cele 2 comenzi ar trebui să arate ca mai jos:

Dacă nu este afișat nimic, înseamnă că procesorul vostru nu este capabil să ruleze KVM (sau nu aveți activat suportul pentru virtualizare în BIOS).

Se poate verifica dacă modulele necesare sunt disponibile în kernel cu următoarea comandă:

zgrep CONFIG_KVM /proc/config.gz

Răspunsul ar trebui să fie (modulele sunt disponibile dacă sunt marcate cu y sau m):

CONFIG_KVM_GUEST=y
# CONFIG_KVM_DEBUG_FS is not set
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
CONFIG_KVM_MMU_AUDIT=y

Se verifică dacă modulele sunt încărcate automat din kernel:

$ lsmod | grep kvm
kvm_intel 221184 0
kvm 626688 1 kvm_intel
irqbypass 16384 1 kvm

În caz contrar, acestea trebuie încărcate manual cu ajutorul comenzii modprobe:

modprobe kvm_intel

Instalarea QEMU în Arch Linux

Având suportul KVM la dispoziție, ne mai trebuie QEMU pentru a crea și gestiona mașini virtuale.

Pachetul qemu se instalează cu comanda:

sudo pacman -Syu qemu

Spre deosebire de VirtualBox sau VMware, QEMU nu oferă interfață grafică by default, așa că trebuie să instalăm și următorul pachet:

sudo pacman -Syu virt-manager

Pornim serviciul libvirtd și-l facem să pornească la boot:

sudo systemctl enable --now libvirtd

Verificăm statusul său (trebuie să fie activ):

sudo systemctl status libvirtd

Dacă încercăm să pornim din meniu Virtual Machine Manager, ni se cere parola de root.

Folosirea Virtual Machine Manager (virt-manager) ca utilizator non-root

1. Vom verifica dacă există grupul libvirt:

$ getent group | grep libvirt
libvirt:x:613:bobsesa

Dacă nu există deja în sistem, vom crea acest grup cu comanda (unde 7777 este id-ul grupului):

# groupadd -g 7777 libvirt

2. Adăugăm utilizatorul nostru la grupul libvirt:

# usermod -aG libvirt nume_utilizator

Verificăm dacă utilizatorul nostru a fost adăugat la acest grup:

3. Se editează fișierul de configurare libvirtd.conf:

sudo vi /etc/libvirt/libvirtd.conf

și adăugăm la final următoarele 2 linii:

unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"

4. Se restartează serviciul:

sudo systemctl restart libvirtd

  1. Logout și apoi Login în sistem

  2. Lansăm Virtual Machine Manager fie din meniu, fie din linia de comandă:

$ virt-manager

Și bum! 🙂 Avem QEMU și KVM în Arch Linux:

  1. Instalarea unor pachete suplimentare pentru a fi asigurată conectivitatea rețelei (necesare pentru distribuțiile non-rpm, cum este Arch Linux):
  • ebtables și dnsmasq pentru rețeaua default NAT/DHCP
  • bridge-utils a putea crea rețele bridge
  • openbsd-netcat pentru remote management prin SSH.

Instalarea primei mașini virtuale cu CentOS 7 în KVM va face obiectul altui tutorial.

Partajează asta:

  • Dă clic pentru a partaja pe Facebook(Se deschide într-o fereastră nouă)
  • Dă clic pentru a partaja pe LinkedIn(Se deschide într-o fereastră nouă)
  • Dă clic pentru a partaja pe Twitter(Se deschide într-o fereastră nouă)

Similare

Din categoria: Tutoriale Etichete: Arch Linux, KVM, QEMU, virtualizare

Comentarii

  1. MarianB a zis

    13 decembrie 2017 la ora 22:31

    Nu știu ce ai modificat dar e-mailul primit de la tine arată așa ceea ce-i cam ciudat: https://imgur.com/EjjN8RY

    Răspunde
    • Bobses a zis

      13 decembrie 2017 la ora 22:41

      N-am modificat nimic. Uite cum arată cel primit de mine: https://imgur.com/i3yxjIO

      Răspunde

Trackbacks

  1. Știri pe scurt [17.12.1982] – Aventură în lumea GNU Linux spune:
    17 decembrie 2017 la 11:46

    […] QEMU și KVM în Arch Linux […]

    Răspunde

Lasă un răspuns Anulează răspunsul

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Copyright © 2023 · Bobses

Administrează consimțămintele pentru cookie-uri
Pentru a oferi cea mai bună experiență, folosim tehnologii, cum ar fi cookie-uri, pentru a stoca și/sau accesa informațiile despre dispozitive. Consimțământul pentru aceste tehnologii ne permite să procesăm date, cum ar fi comportamentul de navigare sau ID-uri unice pe acest site. Dacă nu îți dai consimțământul sau îți retragi consimțământul dat poate avea afecte negative asupra unor anumite funcționalități și funcții.
Funcționale Mereu activ
Stocarea tehnică sau accesul sunt strict necesare în scopul legitim de a permite utilizarea unui anumit serviciu cerut în mod explicit de către un abonat sau un utilizator sau în scopul exclusiv de a executa transmiterea unei comunicări printr-o rețea de comunicații electronice.
Preferințe
Stocarea tehnică sau accesul este necesară în scop legitim pentru stocarea preferințelor care nu sunt cerute de abonat sau utilizator.
Statistici
Stocarea tehnică sau accesul care sunt utilizate exclusiv în scopuri statistice. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
Stocarea tehnică sau accesul sunt necesare pentru a crea profiluri de utilizator pentru a trimite publicitate sau pentru a urmări utilizatorul pe un site web sau pe mai multe site-uri web în scopuri de marketing similare.
Administrează opțiunile Administrează serviciile Administrează vânzătorii Citește mai multe despre aceste scopuri
Vizualizează preferințele
{title} {title} {title}