Samo zato što podržava širok spektar tehnologija, ne znači da morate biti upoznati sa svima njima. Možete se usredotočiti na jednu tehnologiju poput KVM-a i oko toga izgraditi svoje libvirt iskustvo. Ovaj će članak pokušati dati sveobuhvatnu kritiku tehnologije iz autorovog osobnog iskustva s njom.
Pozadina
Da biste saznali što je Libvirt sposoban i kako ga možete koristiti na vlastitom sustavu, možete slijediti sljedeće vodiče:
- Instalirajte KVM i Libvirt na Debian
- Libvirt s Pythonom
Ako ste već upoznati s alatima poput virsh, virt-install, virt-manager, oVirt itd., Tada već koristite libvirt, a da to uopće ne znate. Spomenuti alati koriste libvirt u pozadini i pružaju user-friendly sučelje bilo to naredbeni redak ili GUI.
Arhitektura
Libvirt je dizajniran za rad s bilo kojim hipervizorom i s godinama je narastao za rad sa širokim nizom hipervizora. Dabon libvirt izlaže API koji mogu koristiti aplikacije poput virt-manager ili virsh (pa čak i vaše prilagođene Python skripte). API prima korisničke zahtjeve. Ti zahtjevi mogu biti bilo što poput stvaranja KVM gosta ili pokazivanja memorije koju koristi dani LX kontijan, itd.
Dabon libvirt zatim delegira zahtjev odgovarajućem pokretačkom programu hipervizora libvirt. Ovaj pokretač razumije i primjenjuje sve specifičnosti dane tehnologije virtualizacije i u skladu s tim izvršava upute.
Postoji drugačija klasa upravljačkih programa za upravljanje pohranom, pa čak i mreže VM-ova.
Bazeni i volumeni
VM-ovima treba puno prostora za pohranu. Sama tehnologija pohrane vrlo se razlikuje od hipervizora do hipervizora. VMWare koristi vlastiti vmdk format, QEMU voli koristiti qcow2, postoje i sirove slike diska, a LXC slike su druga priča. Štoviše, željeli biste grupirati sve slike VM diska i pružiti im različite medije za pohranu poput NFS poslužitelja, ZFS skupa podataka ili samo direktorija. To vam omogućuje upotrebu libvirt-a u raznim različitim slučajevima korištenja, od jednog kućnog poslužitelja do skalabilnog rješenja za virtualizaciju poduzeća.
U domaćem jeziku libvirt, jedan virtualni uređaj za pohranu povezan s bilo kojim VM-om, poput qcow2, raw ili vmdk slikovne datoteke VM-a ili ugradivog ISO-a poznat je kao volumen. Medij za pohranu koji se koristi na hostu za spremanje grupe pridruženih volumena poznat je kao bazen. NFS poslužitelje možete koristiti kao spremište ili ZFS skup podataka, kao što je prethodno spomenuto. Ako nemate otmjeno rješenje za pohranu, možete jednostavno koristiti direktorij.
Prema zadanim postavkama, libvirt ima dva različita spremišta. Prvo je / var / lib / libvirt / images i / var / lib / libvirt / boot. Volumeni za jedan VM mogu se podijeliti na više spremišta. Na primjer, sve čiste slike u oblaku i ISO-ove za instalaciju OS pohranjujem u spremište / var / lib / libvirt / boot, a za pojedinačne VM-ove rootfs je instaliran u slikovnim datotekama pohranjenim u / var / lib / libvirt / images.
Možete čak imati jedan bazen za jedan VM ili možete dodatno podijeliti bazene za VM snimke, sigurnosne kopije itd. Sve je vrlo fleksibilno i omogućuje vam organiziranje podataka prema vašoj udobnosti.
Konfiguracije
Virsh je popularan alat za konfiguriranje svega, od vašeg VM-a, umrežavanja virtualnih strojeva, pa čak i pohrane. Sama konfiguracijska datoteka živi u XML formatu. Naći ćete da izdajete naredbe poput:
$ virsh dumpxml VM1$ virsh uredi VM1
I slično, postoje potkomande poput net-dumpxml i pool-edit za prikaz ili konfiguriranje konfiguracije spremišta, mreža itd. Ako vas zanima gdje žive ove konfiguracijske datoteke, možete otići na / etc / libvirt / i pronaći direktorij koji se tiče hipervizora. Nadređeni direktorij / etc / libvirt / sam sadrži puno globalnih konfiguracija poput upravljačkih programa (npr.g qemu.conf i lxc.conf) i njihova konfiguracija i zadano ponašanje libvirt-a.
Da biste pogledali specifičnu konfiguraciju pojedinih komponenata poput VM-ova, spremišta i volumena, morate otići u odgovarajuće direktorije. Za goste qemu ovo je / etc / libvirt / qemu
root @ deb: / etc / libvirt / qemu # ls -alukupno 24
drwxr-xr-x 4 korijen korijena 4096 21. travnja 10:39 .
drwxr-xr-x 6 root root 4096 28. travnja 17: 19…
drwxr-xr-x 2 root root 4096 21. travnja 10:39 autostart
drwxr-xr-x 3 root root 4096 14. travnja 13:49 mreže
-rw ------- 1 korijen korijena 3527 20. travnja 19:10 VM1.xml
-rw ------- 1 korijen korijena 3527 20. travnja 19:09 VM2.xml
Direktorij za automatsko pokretanje sadržavat će simboličke veze na VM1.xml i VM2.xml ako ste konfigurirali VM-ove za automatsko pokretanje prilikom pokretanja sustava domaćina ($ virsh autostart VM1).
Slično tome, / etc / libvirt / qemu / network sadrži konfiguracije za zadanu mrežu qemu gosta. / Etc / libvirt / storage sadrži XML-ove koji definiraju spremišta za pohranu.
Zaključak
Ako ste zainteresirani za postavljanje vlastitog domaćina za virtualizaciju, dobro mjesto za početak bit će ovaj članak u kojem ću pokazati kako instalirati QEMU-KVM goste na Debian domaćin pomoću libvirt i srodnih alata.
Nakon toga možete se početi igrati s virsh CLI i vidjeti i upravljati entitetima poput Domene (libvirt poziva gostujuće VM-ove domena) mreže, spremišta i volumeni. To će vam biti dovoljno ugodno s tehnologijom da možete prijeći na druge koncepte poput snimaka i mrežnog filtra. Nadam se da će se ovaj članak pokazati kao dobro polazište za vas.