libvirt

Om Libvirt

Om Libvirt
Libvirt er et av de mest populære verktøyene for virtualiseringsadministrasjon der ute. Den består av et administrasjons-API og en demon som du kan samhandle med virtualiseringsstakken din med. Libvirt strever for å forene styringsprosessen for alle de forskjellige virtualiseringsteknologiene fra KVM til VMWare ESX og til og med BHyve. Den kan også administrere LXC-containere og til og med noen av paravirtualiseringsteknologiene som Xen.

Bare fordi den støtter et stort utvalg av teknologier, betyr ikke det at du må være kjent med dem alle. Du kan fokusere på en teknologi som KVM og bygge libvirt-opplevelsen din rundt det. Denne artikkelen vil prøve å gi en omfattende kritikk av teknologien fra forfatterens personlige erfaring med den.

Bakgrunn

For å få tak i hva Libvirt er i stand til og hvordan du kan bruke det på ditt eget system, kan du følge følgende guider:

  1. Installer KVM og Libvirt på Debian
  2. Libvirt med Python

Hvis du allerede er kjent med verktøy som virsh, virt-install, virt-manager, oVirt, etc, bruker du allerede libvirt uten å vite det. De nevnte verktøyene bruker libvirt i backend og gir et brukervennlig grensesnitt, det være seg kommandolinje eller GUI.

Arkitektur

Libvirt er designet for å jobbe med hvilken som helst hypervisor og har vokst gjennom årene til å jobbe med et bredt utvalg av hypervisorer. Libvirt-demonen avslører et API som kan brukes av apper som virt-manager eller virsh (og til og med dine tilpassede Python-skript). Brukerforespørslene mottas av APIen. Disse forespørslene kan være alt som å lage en KVM-gjest, eller vise meg minnet som brukes av en gitt LX-medarbeider osv.

Libvirt-demonen delegerer deretter forespørselen til den aktuelle libvirt hypervisor-driveren. Denne driveren forstår og implementerer alle detaljene til en gitt virtualiseringsteknologi og utfører instruksjonene deretter.

Det er en annen klasse drivere for håndtering av lagring og til og med nettverk av virtuelle maskiner.

Bassenger og volumer

VM-er trenger mye lagringsplass. Lagringsteknologien i seg selv er veldig variabel fra hypervisor til hypervisor. VMWare bruker sitt eget vmdk-format, QEMU liker å bruke qcow2, det er også rå diskbilder og LXC-bilder er også en annen historie. Videre vil du gruppere alle VM-diskbildene og gi dem et annet lagringsmedium som en NFS-server, et ZFS-datasett eller bare en katalog. Dette lar deg bruke libvirt på tvers av en rekke forskjellige brukstilfeller fra en enkelt hjemmeserver til en skalerbar virtualiseringsløsning for bedriftsklasse.

På libvirt-språk, er en enkelt virtuell lagringsenhet tilknyttet hvilken som helst VM, som qcow2, raw eller vmdk-bildefilen til en VM eller monterbar ISO kjent som en volum. Lagringsmediet som brukes på verten for å lagre en gruppe tilknyttede volumer er kjent som a basseng. Du kan bruke en NFS-servere som et basseng eller et ZFS-datasett, som tidligere nevnt. Hvis du ikke har en fancy lagringsløsning, kan du bare bruke en katalog.

Som standard har libvirt to forskjellige bassenger. Først er / var / lib / libvirt / images og / var / lib / libvirt / boot. Volumer for en enkelt VM kan deles over flere bassenger. For eksempel lagrer jeg alle de rene skybildene og OS-installasjons-ISO-ene i / var / lib / libvirt / boot pool, og for individuelle virtuelle maskiner er rootfs installert i bildefiler lagret i / var / lib / libvirt / images.

Du kan til og med ha et enkelt basseng for en enkelt VM, eller du kan dele bassengene videre for VM-øyeblikksbilder, sikkerhetskopier osv. Det hele er veldig fleksibelt og lar deg organisere dataene etter eget behov.

Konfigurasjoner

Virsh er et populært verktøy for å konfigurere alt fra din virtuelle maskin, nettverk av virtuelle maskiner og til og med lagring. Konfigurasjonsfilene lever i XML-format. Du vil finne deg selv å utstede kommandoer som:

$ virsh dumpxml VM1
$ virsh rediger VM1

Og på samme måte er det underkommandoer som net-dumpxml og pool-edit for å vise eller konfigurere konfigurasjonen av bassenger, nettverk osv. Hvis du er nysgjerrig på hvor disse konfigurasjonsfilene bor, kan du gå til / etc / libvirt / og finne den aktuelle hypervisor-katalogen.  Overordnet katalog / etc / libvirt / seg selv inneholder mange globale konfigurasjoner som drivere (f.eks.g qemu.conf og lxc.conf) og deres konfigurasjon og standardoppførselen til libvirt.

For å se på spesifikk konfigurasjon av individuelle komponenter som virtuelle maskiner, bassenger og volumer, må du gå til de tilsvarende katalogene. For qemu-gjester er dette / etc / libvirt / qemu

root @ deb: / etc / libvirt / qemu # ls -al
totalt 24
drwxr-xr-x 4 rotrot 4096 21. april 10:39 .
drwxr-xr-x 6 rotrot 4096 28. april 17:19 ..
drwxr-xr-x 2 rotrot 4096 21. april 10:39 autostart
drwxr-xr-x 3 root root 4096 14. april 13:49 nettverk
-rw ------- 1 rotrot 3527 20. april 19:10 VM1.xml
-rw ------- 1 rotrot 3527 20. april 19:09 VM2.xml

Autostartkatalogen inneholder symlenker til VM1.xml og VM2.xml hvis du har konfigurert virtuelle maskiner til å starte automatisk når vertssystemet starter ($ virsh autostart VM1).

På samme måte inneholder / etc / libvirt / qemu / network en konfigurasjon for standardnettverket som en qemu-gjest. / Etc / libvirt / storage inneholder XMLer som definerer lagringsbassengene.

Konklusjon

Hvis du er interessert i å konfigurere din egen virtualiseringsvert, vil et godt sted å starte være denne artikkelen der jeg viser hvordan du installerer QEMU-KVM-gjester på en Debian-vert ved hjelp av libvirt og relaterte verktøy.

Etter det kan du begynne å spille med virsh CLI og se og administrere enheter som Domain (libvirt kaller gjest-VM-er domene) nettverk, lagringsbassenger og volumer. Dette vil gjøre deg komfortabel nok med teknologien som du kan gå videre til andre konsepter som øyeblikksbilder og nettverksfilter. Jeg håper denne artikkelen vil vise seg å være et godt utgangspunkt for deg.

Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har nylig lest om Microsoft Sculpt Touch trådløs mus og bestemte meg for å kjøpe den. Etter å ha brukt den en stund bestemte jeg meg for å dele mi...
Mus AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
Nettbrettbrukere savner ofte musepekeren, spesielt når de bruker vanlige bærbare datamaskiner. Berøringsskjermen Smarttelefoner og nettbrett har mange...