libvirt

O Libvirtu

O Libvirtu
Libvirt je jedan od najpopularnijih alata za upravljanje virtualizacijom. Sastoji se od API-ja za upravljanje i demona s kojim možete komunicirati sa svojim stogom za virtualizaciju. Libvirt nastoji objediniti postupak upravljanja svim raznim tehnologijama virtualizacije od KVM do VMWare ESX, pa čak i BHyve. Također može upravljati LXC spremnicima, pa čak i nekim paravirtualizacijskim tehnologijama poput Xena.

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:

  1. Instalirajte KVM i Libvirt na Debian
  2. 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 -al
ukupno 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.

10 najboljih igara za igranje na Ubuntuu
Windows platforma bila je jedna od dominantnih platformi za igre zbog ogromnog postotka igara koje se danas razvijaju kako bi podržavale Windows. Može...
5 najboljih arkadnih igara za Linux
U današnje vrijeme računala su ozbiljni strojevi koji se koriste za igre na sreću. Ako ne uspijete dobiti novi visoki rezultat, znat ćete na što misli...
Bitka za Wesnoth 1.13.6 Razvoj objavljen
Bitka za Wesnoth 1.13.6 objavljeno prošlog mjeseca, šesto je razvojno izdanje u izdanju 1.13.x series i donosi niz poboljšanja, ponajviše korisničkog ...