libvirt

O Libvirtu

O Libvirtu
Libvirt je eno najbolj priljubljenih orodij za upravljanje virtualizacije. Sestavljen je iz API-ja za upravljanje in demona, s katerim lahko komunicirate s svojim skladom za virtualizacijo. Libvirt si prizadeva poenotiti postopek upravljanja vseh različnih tehnologij za virtualizacijo od KVM do VMWare ESX in celo BHyve. Lahko tudi upravlja vsebnike LXC in celo nekatere tehnologije za paravirtualizacijo, kot je Xen.

Ker podpira široko paleto tehnologij, še ne pomeni, da morate biti seznanjeni z vsemi. Lahko se osredotočite na eno tehnologijo, kot je KVM, in okoli tega ustvarite svojo izkušnjo libvirt. Ta članek bo poskušal izčrpno kritizirati tehnologijo na podlagi avtorjevih osebnih izkušenj z njo.

Ozadje

Če želite izvedeti, kaj Libvirt je zmožen in kako ga lahko uporabite v svojem sistemu, lahko sledite naslednjim navodilom:

  1. Namestite KVM in Libvirt v Debian
  2. Libvirt z Pythonom

Če že poznate orodja, kot so virsh, virt-install, virt-manager, oVirt itd., Potem že uporabljate libvirt, ne da bi to sploh vedeli. Zgoraj omenjena orodja uporabljajo libvirt v zaledju in zagotavljajo uporabniku prijazen vmesnik, najsi bo to ukazna vrstica ali GUI.

Arhitektura

Libvirt je zasnovan za delo s katerim koli hipervizorjem in je z leti zrasel v široko paleto hipervizorjev. Dabon libvirt izpostavlja API, ki ga lahko uporabljajo aplikacije, kot sta virt-manager ali virsh (in celo vaši skripti Python po meri). Uporabniške zahteve prejema API. Te zahteve so lahko kar koli podobnega, kot je ustvariti gosta KVM ali pa mi pokazati pomnilnik, ki ga uporablja dani uporabnik LX itd.

Demon libvirt nato zahtevo prenese na ustrezen gonilnik hipervizorja libvirt. Ta gonilnik razume in izvaja vse posebnosti dane tehnologije za virtualizacijo in v skladu s tem izvaja navodila.

Obstaja drugačen razred gonilnikov za obdelavo pomnilnika in celo omrežij VM.

Bazeni in zvezki

VM potrebujejo veliko prostora za shranjevanje. Sama tehnologija shranjevanja se zelo razlikuje od hipervizorja do hipervizorja. VMWare uporablja svoj format vmdk, QEMU rad uporablja qcow2, obstajajo tudi surove slike diska in slike LXC so druga zgodba. Poleg tega bi radi združili vse slike diska VM in jim zagotovili drugačen medij za shranjevanje, kot so strežnik NFS, nabor podatkov ZFS ali samo imenik. To vam omogoča uporabo libvirt v različnih primerih uporabe od enega domačega strežnika do prilagodljive rešitve za virtualizacijo v podjetju.

V domačem jeziku libvirt je ena navidezna pomnilniška naprava, povezana s katerim koli VM, kot je slikovna datoteka qcow2, raw ali vmdk VM ali vgradljivega ISO, znana kot glasnost. Medij za shranjevanje, ki se uporablja na gostitelju za shranjevanje skupine povezanih nosilcev, je znan kot bazen. Strežnike NFS lahko uporabite kot področje ali nabor podatkov ZFS, kot smo že omenili. Če nimate modne rešitve za shranjevanje, lahko preprosto uporabite imenik.

Privzeto ima libvirt dva različna področja. Najprej je / var / lib / libvirt / images in / var / lib / libvirt / boot. Količine za en VM lahko razdelite na več bazenov. Na primer, vse čiste slike v oblaku in ISO-je za namestitev OS shranim v / var / lib / libvirt / boot pool, za posamezne VM-je pa je rootfs nameščen v slikovnih datotekah, shranjenih v / var / lib / libvirt / images.

Lahko imate celo en bazen za posamezen VM ali pa lahko bazene še razdelite za posnetke VM, varnostne kopije itd. Vse je zelo prilagodljivo in vam omogoča, da svoje podatke organizirate glede na vaše udobje.

Konfiguracije

Virsh je priljubljeno orodje za konfiguriranje vsega od vaše VM, omrežja navideznih strojev in celo pomnilnika. Konfiguracijske datoteke same živijo v obliki XML. Izdali boste ukaze, kot so:

$ virsh dumpxml VM1
$ virsh edit VM1

In podobno obstajajo podkomande, kot sta net-dumpxml in pool-edit za ogled ali konfiguracijo konfiguracije bazenov, omrežij itd. Če vas zanima, kje te konfiguracijske datoteke živijo, pojdite na / etc / libvirt / in poiščite imenik zadevnih hipervizorjev.  Nadrejeni imenik / etc / libvirt / sam vsebuje veliko globalnih konfiguracij, kot so gonilniki (npr.g qemu.conf in lxc.conf) in njihovo konfiguracijo ter privzeto vedenje libvirt.

Če si želite ogledati specifično konfiguracijo posameznih komponent, kot so VM-ji, področja in nosilci, pojdite v ustrezne imenike. Za goste qemu je to / etc / libvirt / qemu

root @ deb: / etc / libvirt / qemu # ls -al
skupaj 24
drwxr-xr-x 4 korenski koren 4096 21. april 10:39 .
drwxr-xr-x 6 korenski koren 4096 28. april 17: 19…
drwxr-xr-x 2 korenski koren 4096 21. april 10:39 samodejni zagon
drwxr-xr-x 3 korenski koren 4096 14. april 13:49 omrežja
-rw ------- 1 korenski koren 3527 20. april 19:10 VM1.xml
-rw ------- 1 korenski koren 3527 20. april 19:09 VM2.xml

Imenik samodejnega zagona bo vseboval simbolne povezave do VM1.xml in VM2.xml, če ste konfigurirali VM-je za samodejni zagon ob zagonu gostiteljskega sistema ($ virsh autostart VM1).

Podobno tudi / etc / libvirt / qemu / network vsebuje konfiguracije za privzeto omrežje gost qemu. / Etc / libvirt / storage vsebuje XML-je, ki definirajo področja shranjevanja.

Zaključek

Če vas zanima nastavitev lastnega gostitelja za virtualizacijo, bo dober začetek ta članek, v katerem bom pokazal, kako namestiti goste QEMU-KVM na gostitelja Debian z uporabo libvirt in sorodnih orodij.

Po tem se lahko začnete igrati z virsh CLI in si ogledujete in upravljate entitete, kot je Domain (libvirt pokliče gostujoče VM-je domena) omrežja, skladišča in nosilci. Tako boste s tehnologijo dovolj udobni, da boste lahko prešli na druge koncepte, kot so posnetki in omrežni filter. Upam, da se bo ta članek izkazal kot dobro izhodišče za vas.

Bitka za Wesnoth 1.13.6 Razvoj izdan
Bitka za Wesnoth 1.13.6, ki je izšel prejšnji mesec, je šesta razvojna izdaja v 1.13.x series in prinaša številne izboljšave, predvsem uporabniški vme...
Kako namestiti League Of Legends na Ubuntu 14.04
Če ste ljubitelj League of Legends, je to priložnost, da preizkusite League of Legends. Upoštevajte, da LOL podpira PlayOnLinux, če uporabljate Linux....
Namestite najnovejšo strategijo igre OpenRA v Ubuntu Linux
OpenRA je Libre / Free Real Time strateški stroj, ki poustvarja zgodnje igre Westwood, kot je klasična Command & Conquer: Red Alert. Porazdeljeni modi...