Libvirt

Ajalugu

Aastal 2005 hakkas RedHat arendama rakendust, mis võimaldaks juhtida virtuaalmasinaid ühiste käskudega, sõltumata sellest, mis tarkvaral need töötavad . Sama aasta 19. detsembril ilmus versioon 0.0.1, mille nimeks oli libvir ja mis võimaldas teostada põhilisi operatsioone virtualiseerimistarkvaraga Xen. Järgmise aasta veebruaris anti tarkvarale uusi nimi – libvirt. Alles aasta pärast lisandus versioonis 0.2.0 tugi KVM ja Qemu juhtimiseks ning võrguühenduste konfigureerimiseks. Kiire areng algas versioonist 0.7.0 (5. august 2009), millega lisandusid näiteks VMWare ESX tugi ja võrguliideste hot-plug (virtuaalmasinat peatamata) lisamise ja eemaldamise võimalus. Versioon 8.2.0 võimaldab teostada virtuaalmasinate live-migratsiooni (virtuaalmasinate teisaldamine ilma neid peatamata) erinevate füüsiliste arvutite vahel. Aasta 2012 suve lõpus ilmus versioon 0.10.1

Toetatud arhitektuurid

Libvirt on kirjutatud C keeles, mis tähendab, et lisaks traditsioonilistele x86 ja amd64 arhitektuuridele on selle lähtekoodi võimalik kompileerida teiste arhitektuuride jaoks. Näiteks Linuxi distributsioon Debian pakub seda eelkompileeritud paketina arhitektuuridele alpha, arm, ia64, mips, powerpc, s390, sh4, sparc ja teised. Virtualiseerimise toeta arhitektuuridele kompileerimise põhjuseks on soov võimaldada nendelt juhtida teistel arvutitel töötavaid virtuaalmasinaid läbi arvutivõrgu.

Töömudel

Rääkides riistvara virtualiseerimisest, eristatakse selle tehnoloogia erinevaid kihte. Kõige madalam kiht on riistvara. Sellel peab olema virtualiseerimise tugi (Inteli protsessoritel VT-x, AMD protsessoritel AMD-V) ning piisavalt ressursse (näiteks mälu mahtu ja kettaruumi), et oleks võimalik käivitada mitu operatsioonisüsteemi. Riistvaralisel kihil paikneb järgmine kiht, milleks on operatsioonisüsteem, samuti tuntud kui Domeen-0. Teisel ehk operatsioonisüsteemikihil töötab virtualiseerimistarkvara ehk hypervizor (kolmas kiht), mis jagab esimese kihi ressursse ja tekitab virtuaalse riistvara (neljas kiht või Domeen-n). Igal tekitatud neljandal kihil on võimalik käivitada teistest sõltumatu operatsioonisüsteem. Libvirt käivitub teisel kihil ning on mõeldud eelkõige Linuxi tuumaga operatsioonisüsteemidele, kuigi virsh käsurida on võimalik käivitada ka teistel, näiteks Windows ja FreeBSD.
Libvirt võimaldab hallata nii kohalikus kui ka kaudses arvutis töötavaid kolmandaid kihte. Virtualiseerimistarkvarade juhtimiseks kaudsetel arvutitel on vajalik Libvirt olemasolu ka nendel.

Teenus libvirtd

Libvirtd on teenus, mis käivitub koos operatsioonisüsteemiga. Selle põhifunktsiooniks on virtuaalmasinate automaatne käivitamine, käsureale juurdepääsu tekitamine ning käsurealt saadud käskude töötlemine.

Turvalisus

Kohalikus arvutis juhtimisõiguste määramiseks on toetatud PolicyKiti rakendus, mille abil on võimalik luua kasutajaid. Kasutajaõigused määratakse teenuse libvirtd konfiguratsioonifailis. Samas failis on võimalik lubada ligipääs ka läbi arvutivõrgu ning selleks vajalikud parameetrid, näiteks x509 sertifikaadid ja ühenduse krüpteerimine. Libvirt toetab autentimisprotokolle Kerberos ja SASL.

Abivahendid

Kuigi käsurea virsh kasutamine ei nõua erilist väljaõpet, on loodud mitmeid graafilisi abivahendeid, mis muudavad virtualiseerimistarkvarade haldamise veelgi efektiivsemaks ja mugavamaks. Graafilisi abivahendeid leidub ka mobiilsetele platvormidele ja ka veebipõhiseid.

Virt-manager

Virt-manager on üks võimsamatest abivahenditest, millega on võimalik juhtida tarkvara Libvirt ning jälgida selle jõudlust ja ressursside kasutamist graafikute pealt. Virtuaalmasinate loomist abistab viisard, mis sarnaneb paljude virtualiseerimistarkvaradega. Virt-manager võimaldab ka virtuaalmasinaid peatamata muuta nende virtuaalse riistvara konfiguratsiooni, nagu protsessorite arvu ja eraldavat mälu mahtu. Rakendus sisaldab integreeritud VNC klienti, mis võimaldab mugavalt saavutada ühendust virtuaalmasina konsooliga.

oVirt

oVirt on veebirakendus, mis on kasulik, kui traditsiooniline rakendus ei ole pagutatud kohalikku arvutisee. oVirt võimaldab virtuaalmasinaid käivitada, peatada, luua, jooksvalt teisaldada ning hinnata nende jõudlust graafikutelt.

VM Manager

Kuna IT-süsteemide administreerimisel kasutatakse järjest rohkem mobiilseid seadmeid, on loodud ka Androidi operatsioonisüsteemile mugav abivahend VM Manager. Selle roll on väike – see võimaldab virtuaalmasinaid käivitada, peatada ja jälgida nende olekut.