6 tehnologii de virtualizare open source pe care trebuie să le cunoști în 2020

Virtualization Tools, mai bine cunoscut sub numele de Virt Tools, este o colecție de șase instrumente de virtualizare open source create de diverși contribuitori pentru a face lumea virtualizării un loc mai bun.

Câteva dintre instrumente, cum ar fi KVM și QEMU, ar putea fi familiare pasionaților de Linux, dar instrumente precum libvirt și libguestfs sunt probabil mai puțin familiare.

În cazul în care preferați să învățați prin vizionare de videoclipuri decât prin lectură, am creat o versiune video a acestui articol, pe care o puteți accesa pe YouTube.

Înainte de a parcurge instrumentele, este o idee bună să cunoașteți o parte din terminologia esențială a virtualizării. Am derivat multe dintre aceste definiții din Wikipedia, cu pagini legate în tabel.

Emulator

Daemon

Termen Definiție
Virtualizare În informatică, virtualizarea se referă la actul de a crea o versiune virtuală (mai degrabă decât fizică) a ceva, inclusiv platforme hardware virtuale de calculator, dispozitive de stocare și resurse de rețea de calculatoare.
Un emulator este un hardware sau un software care permite unui sistem informatic (numit gazdă) să se comporte ca un alt sistem informatic (numit oaspete).
Mașină virtuală (VM) Cunoscută și sub numele de „mașină oaspete”, aceasta este o emulație a calculatoarelor hardware reale, fizice.
Hosturi În virtualizarea hardware, un calculator pe care un hipervizor rulează una sau mai multe VM.
Hypervizor Acesta este un software, firmware sau hardware de calculator care creează și rulează o VM.
Kernel Acesta este un program de calculator aflat în centrul sistemului de operare al unui calculator, cu control complet asupra tuturor elementelor din sistem.
Acesta este un program de calculator care rulează ca un proces de fundal, mai degrabă decât sub controlul direct al unui utilizator interactiv.

Acest tabel rezumă fiecare instrument Virt, incluzând informații despre licență și link-uri către site-ul web și codul sursă al fiecărui instrument. O mare parte din aceste informații provin de pe site-ul Virt Tools și de pe site-ul fiecărui instrument.

Un modul de virtualizare în nucleul Linux care permite nucleului să funcționeze ca un hipervizor

GNU

Cod sursă

Nume Ce este Licență Cod sursă
Kernel-based Virtual Machine (KVM) GNU GPL sau LGPL Codul sursă
Codul sursă
Rapid Emulator (QEMU) Un emulator de mașini și un virtualizator generic și cu sursă deschisă GPLv2 Cod sursă
Libvirt O bibliotecă și un daemon care oferă o funcție stabilă, API open source pentru gestionarea gazdelor de virtualizare Cod sursă
Libguestfs Un set de instrumente pentru accesarea și modificarea imaginilor de disc ale mașinilor virtuale LGPL, GPL
Virt…manager O interfață utilizator desktop pentru gestionarea VM-urilor prin libvirt GPLv2+ Cod sursă
Libosinfo Furnizează o bază de date de informații despre versiunile sistemului de operare pentru a ajuta la configurarea optimă a hardware-ului atunci când se implementează VM-uri LGPLv2+ Cod sursă

Kernel-based Virtual Manager (KVM)

2_kvm.jpg

Site web KVM

(Bryant Son, CC BY-SA 4.0)

KVM este o soluție completă de virtualizare pentru Linux pe hardware care conține extensii de virtualizare. KVM asigură virtualizarea hardware pentru o mare varietate de sisteme de operare invitate, inclusiv Linux, Windows, macOS, ReactOS și Haiku. Utilizând KVM, puteți rula mai multe mașini virtuale pe imagini Linux sau Windows nemodificate. Fiecare VM are hardware virtualizat privat: o placă de rețea, un disc, un adaptor grafic etc.

În cea mai mare parte a timpului, nu veți interacționa direct cu KVM. În schimb, trebuie să folosiți QEMU, virt-manager sau un alt instrument de gestionare a virtualizării pentru a valorifica KVM.

Puteți găsi documentația completă pe site-ul web KVM, precum și să accesați codul său sursă.

Quick Emulator (QEMU)

3_qemu.jpg

Site-ul QEMU

(Bryant Son, CC BY-SA 4.0)

QEMU este un emulator și virtualizator de mașini generic, open source. Atunci când este utilizat ca emulator, QEMU poate rula sisteme de operare și programe realizate pentru o mașină (de exemplu, o placă ARM) pe o altă mașină (de exemplu, propriul PC x86_64). Atunci când este utilizat ca virtualizator, QEMU obține performanțe aproape native prin executarea codului invitat direct pe CPU-ul gazdă folosind KVM.

QEMU este suportat pe mai multe sisteme de operare, iar procesul său de instalare este la fel de ușor ca și rularea câtorva comenzi simple; aici, puteți vedea cum să instalați QEMU pe macOS cu Homebrew.

3_1_qemuinstall.jpg

Informații de instalare QEMU pe macOS

(Bryant Son, CC BY-SA 4.0)

După instalare, învățați cum să îl folosiți citind documentația sa și puteți accesa și codul său sursă.

Libvirt

4_libvirt.jpg

Site-ul Libvirt

(Bryant Son, CC BY-SA 4.0)

Libvirt este o bibliotecă și un daemon care oferă un API open source stabil pentru gestionarea gazdelor de virtualizare. Acesta vizează mai multe hipervizoare, inclusiv QEMU, KVM, LXC, Xen, OpenVZ, VMWare ESX, VirtualBox și multe altele.

Un alt lucru interesant despre libvirt este că KubeVirt, un proiect open source pentru crearea și gestionarea VM-urilor în interiorul platformei Kubernetes, utilizează în mare parte Libvirt. (Voi aborda KubeVirt într-un articol viitor.) Libvirt este un proiect interesant de explorat și puteți găsi o multitudine de informații pe site-ul său oficial, precum și să descărcați codul său sursă.

Libguestfs

5_libguestfs.jpg

Site-ul Libguestfs

(Bryant Son, CC BY-SA 4.0)

Libguestfs este un set de instrumente pentru accesarea și modificarea imaginilor de disc VM. Îl puteți utiliza pentru vizualizarea și editarea fișierelor din interiorul oaspeților; scriptingul modificărilor la VM-uri; monitorizarea statisticilor de discuri utilizate/libere; crearea de oaspeți, mașini fizice la virtuale (P2V) sau virtuale la virtuale (V2V); efectuarea de copii de rezervă; clonarea VM-urilor; construirea de VM-uri; formatarea discurilor; redimensionarea discurilor; și multe altele. L-am folosit recent în timp ce lucram la un proiect bazat pe KubeVirt numit OpenShift Virtualization, despre care puteți afla mai multe în tutorialul meu video.

Site-ul oficial al lui Libguestfs conține o documentație amplă despre cum se utilizează fiecare comandă și puteți, de asemenea, descărca codul său sursă de pe GitHub.

Virt-manager

6_virtualmanager.jpg

Site-ul lui Virt-manager

(Bryant Son, CC BY-SA 4.0)

Virt-manager este o interfață de utilizator desktop pentru gestionarea VM-urilor prin libvirt. Acesta vizează în primul rând VM-urile KVM, dar gestionează și Xen și LXC. Include, de asemenea, instrumentul de provizionare în linie de comandă virt-install. Gândiți-vă la virt-manager ca la un instrument de gestionare ușor de utilizat pentru mașinile dumneavoastră virtuale. De exemplu, puteți folosi virt-manager pentru a rula un mediu Microsoft Windows pe o stație de lucru Linux sau invers.

Codul sursă al virt-manager este disponibil pe GitHub, iar documentația este disponibilă pe site-ul său. În acest moment, virt-manager este disponibil doar pentru platformele Linux.

Libosinfo

7_libosinfo.jpg

Site-ul Libosinfo

(Bryant Son, CC BY-SA 4.0)

Libosinfo oferă o bază de date cu informații despre versiunile sistemului de operare pentru a ajuta la configurarea hardware-ului la implementarea VM-urilor. Acesta include o bibliotecă C pentru interogarea informațiilor din baza de date, care este, de asemenea, accesibilă din orice limbaj acceptat de introspecția GObject. După cum probabil ați ghicit, libosinfo este mai mult un bloc de construcție pentru a activa funcționalitatea unui sistem de operare – dar unul destul de important.

Codul sursă al libosinfo este disponibil pe GitLab, iar documentația sa poate fi găsită pe site-ul său.

Concluzie

Lasă un răspuns

Adresa ta de email nu va fi publicată.