KVM

Hva er KVM?kjernen

Hva er KVM?kjernen

Virtualisering refererer til opprettelsen av en simulert databehandlingsressurs som etterligner oppførselen til den tilsvarende reelle eller fysiske ressursen. Mange typer ressurser kan virtualiseres, fra programvare til individuelle maskinvareenheter til komplette maskinvareplattformer. Dette innlegget fokuserer på virtuelle maskiner som består av enheter som CPU, minne, nettverkskort, disk, grafikkort og operativsystem. Programvare som oppretter og kjører virtuelle maskiner kalles hypervisor. Nedenfor vil vi diskutere funksjonene til en hypervisor som heter KVM.

Fordeler med virtualisering

Tidligere var det å være homogen modus operandi i datasentre, utviklingshus og hjemme. I praksis vil alle maskiner kjøre den samme utgivelsen av et enkelt operativsystem, enten det er Linux, Windows eller FreeBSD. Tidene har endret seg.

I dag forventer vi forskjellige operativsystemer som Linux og Windows, og til og med forskjellige versjoner av et operativsystem (f.eks.g., Windows XP og 10) for å samlokalisere i samme datamiljø. Uten virtuelle maskiner må flere fysiske maskiner distribueres og vedlikeholdes for å kunne kjøre applikasjoner på flere driftsplattformer. Virtualisering driver driften av flere virtuelle maskiner, hver potensielt med et annet operativsystem, på en enkelt fysisk maskin.

Fordelene med virtuelle maskiner fremfor fysiske maskiner inkluderer:

  1. Mer effektiv bruk av dataressurser.
    Prisen på maskinvare trender stadig ned mens prosessorkraften fortsetter å øke. Under denne virkeligheten har mange store kraftige maskiner i dag en tendens til å bli underutnyttet, målt ved inaktive CPU-sykluser, ubrukt minne osv. Konsolidering av virtuelle maskiner på færre fysiske maskiner resulterer i mindre fysiske ressurser og dermed bedre effektivitet.
  1. Forbedret jeg.T. respons og produktivitet.
    Å skaffe ny fysisk maskinvare medfører en lang ventetid for anskaffelse etterfulgt av en lang installasjons- og distribusjonsperiode etter ankomst. Derimot kan klargjøring av virtuelle maskiner automatiseres og gjøres tilgjengelige på få minutter i stedet for dager eller til og med uker som tradisjonell maskininnsamling noen ganger tar.
  1. Kostnadsbesparende.
    Big datasentre vil spare penger på grunn av lavere driftskostnader. Besparelsen kommer i form av reduserte energiregninger som et resultat av lavere kjøle- og strømbehov.

Vi presenterer KVM

Kernebasert Virtual Machine, eller kort sagt KVM, er en gratis hypervisor-løsning med åpen kildekode. Den konkurrerer i en moden bransje med åpen kildekode-alternativer som Xen, VirtualBox, samt proprietære produkter som VMware vSphere, Citrix XenServer, Microsoft Hyper-V.

Før 2005 var hypervisor-løsninger på den tiden, som Xen og VirtualBox, alle programvarebaserte. X86-arkitekturen hadde rett og slett ikke bestemmelser om støtte for virtualisering.  I 2005 endret introduksjonen av instruksjonsutvidelsene Intel VT og AMD-V virtualiseringslandskapet permanent. KVM ga ut sin første versjon i 2006, og var en av de første hypervisorene som utnyttet den nye maskinvaretilbudet for å optimalisere virtualiseringsytelsen.

Du kan installere KVM på hvilken som helst 32-biters eller 64-biters x86-datamaskin, 'vertsmaskinen' i hypervisory lingo, som støtter Intel VT- eller AMD-V-utvidelsen. I dag støtter moderne hypervisorer vanligvis hybridvirtualisering: maskinvareassistert når det er mulig og en failover til programvare bare for eldre brikkesett.

KVM er kategorisert som en type 2 hypervisor, noe som betyr at den kjører i et vertsoperativsystem. Som navnet antyder, er KVM kjernebasert, og for å være mer presis, er det Linux-kjernen. Så det er ikke overraskende at KVM bare støtter Linux som verts-OS. (KVM ble deretter portet til FreeBSD.) Hvis du vil ha en åpen kildekode multi-plattform type 2 hypervisor, er VirtualBox en god kandidat. VirtualBox kan kjøres naturlig på Windows, Linux, Mac OS X og Solaris.

Xen er derimot en type 1 hypervisor, også kjent som bare metal hypervisor, som kjører direkte som firmware på vertsmaskinen. Fordelen med type 1 fremfor type 2 er effektiviteten oppnådd på grunn av at hypervisoren kjører direkte på den underliggende maskinvaren. Ulempen er at en type 1 hypervisor kanskje ikke støtter så bredt et utvalg av vertsenheter som vertsoperativsystemet til en type 2 hypervisor.

Mens hypervisorer kan være forskjellige i om de trenger et verts-operativsystem og hvilke, er de veldig like med hensyn til hvilke gjest-operativsystemer de støtter, dvs. operativsystemet som en virtuell maskin kan kjøre. KVM støtter virtualisering av følgende gjest-OSer:

KVM er i stand til å kjøre umodifiserte OS-bilder. Denne funksjonen er kjent som full virtualisering, i motsetning til paravirtualisering der gjesten OS er modifisert for spesiell håndtering av operasjoner som er vesentlig vanskeligere å kjøre på den virtuelle maskinen enn på vertsmaskinen.


Hvordan KVM fungerer

KVM består av to teknologikomponenter: kjerne og brukerrom. Kjernekomponenten består av to kjernemoduler som kan lastes inn: kvm.ko, og enten kvm-intel.ko eller kvm-amd.ko. Kvm.ko-modul gir kjernearkitekturuavhengig virtualiseringsbehandling. Kvm-intel.ko og kvm-amd.ko-moduler tilsvarer Intel- og AMD-prosessorspesifikke moduler. Disse modulene ble slått sammen til Linux-kjernen fra og med kjernen versjon 2.6.20.

Den tette integrasjonen av KVM med Linux-kjernen har sine fordeler. KVM er i stand til å delegere til Linux for å utføre systemgruntarbeidet, mens det fokuserer på å håndtere de nye virtualiseringsinstruksjonene som er utsatt for maskinvaren. KVM har også fordeler ved å arve fra kontinuerlig forbedring av systemet fra oppstrøms i det større Linux-samfunnet.

Viktig at kjernemodulene er, de etterligner ikke maskinvare for virtuell maskin som gjest OS kjører på. Den jobben hører hjemme i brukerområdet. KVM bruker QEMU, som kjører i brukerområdet, for å bygge virtuelle maskiner som samhandler med gjeste-operativsystemene.  Hver virtuelle maskin er rett og slett en vanlig Linux-prosess. En stor fordel er at du kan bruke kjente Linux-kommandoer som topp og drep for å overvåke og administrere virtuelle maskiner.


Sammendrag og konklusjon

KVM er en utmerket løsning med åpen kildekode for full virtualisering på Linux-vertsplattformen. Etter 10+ års aktiv utvikling har KVM blitt det de facto standard virtualiseringsverktøyet på maskinnivå i mange Linux-distribusjoner.

Hvordan vise OSD-overlegg i fullskjerm Linux-apper og spill
Å spille fullskjermspill eller bruke apper i distraksjonsfri fullskjermmodus kan avskrekke deg fra relevant systeminformasjon som er synlig i et panel...
Topp 5 spillfangstkort
Vi har alle sett og elsket streaming av spill på YouTube. PewDiePie, Jakesepticye og Markiplier er bare noen av de beste spillerne som har tjent milli...
Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...