Vad är KVM?

What Is Kvm



Virtualisering avser skapandet av en simulerad datorresurs som efterliknar beteendet hos motsvarande verkliga eller fysiska resurs. Många typer av resurser kan virtualiseras, från mjukvara till enskilda hårdvaruenheter till kompletta hårdvaruplattformar. Det här inlägget fokuserar på virtuella maskiner som innehåller enheter som CPU, minne, nätverkskort, disk, grafikkort och operativsystem. Programvara som skapar och kör virtuella maskiner kallas en hypervisor. Nedan kommer vi att diskutera funktionerna hos en hypervisor som heter KVM .

Fördelar med virtualisering

Tidigare var homogenitet arbetssättet i datacenter, utvecklingshus och hemma. Praktiskt taget skulle alla maskiner köra samma version av ett enda operativsystem, oavsett om det är Linux, Windows eller FreeBSD. Tiderna har förändrats.







Idag förväntar vi oss att olika operativsystem som Linux och Windows och till och med olika versioner av ett operativsystem (t.ex. Windows XP och 10) samlokaliseras i samma datormiljö. Utan virtuella maskiner måste flera fysiska maskiner distribueras och underhållas för att applikationer ska kunna köras på flera plattformar. Virtualisering driver flera virtuella maskiner, var och en potentiellt med ett annat operativsystem, på en enda fysisk maskin.



Fördelarna med virtuella maskiner jämfört med fysiska maskiner inkluderar:



  1. Mer effektiv användning av datorresurser.
    Priset på hårdvara fortsätter att sjunka medan deras processorkraft fortsätter att stiga. Under denna verklighet tenderar många stora kraftfulla maskiner idag att vara underutnyttjade, mätt med inaktuella CPU-cykler, oanvänt minne, etc. Konsolidering av virtuella maskiner på färre fysiska maskiner resulterar i mindre fysiska resurser och därför bättre effektivitet.
  1. Förbättrad I.T. lyhördhet och produktivitet.
    Tillhandahållande av ny fysisk hårdvara innebär en lång förvärvstidsperiod följt av en lång installation och distributionstid efter ankomsten. Däremot kan tillhandahållande av virtuella maskiner automatiseras och göras tillgängliga på några minuter snarare än dagar eller till och med veckor som traditionell maskinförvärv ibland tar.
  1. Kostnadsbesparing.
    Stora datacenter kommer att spara pengar på grund av lägre driftskostnader. Besparingen kommer i form av minskade energiräkningar till följd av lägre kylning och effektbehov.

Introducing KVM

Kärnbaserad virtuell maskin, eller KVM kort sagt, är en gratis och öppen källkod hypervisor lösning. Det tävlar i en mogen industri med alternativ med öppen källkod som t.ex. Xen , VirtualBox , liksom egna produkter som VMware vSphere , Citrix XenServer , Microsoft Hyper-V .





Före 2005 var hypervisorlösningar på den tiden, som Xen och VirtualBox, alla programvarubaserade. X86 -arkitekturen hade helt enkelt inte stöd för virtualisering. År 2005, introduktionen av instruktionsuppsättningen tillägg Intel VT och AMD-V förändrade permanent virtualiseringslandskapet. KVM släppte sin första version 2006 och var en av de första hypervisorerna som utnyttjade den nya hårdvaruförsörjningen för att optimera virtualiseringsprestanda.

Du kan installera KVM på valfri 32-bitars eller 64-bitars x86-dator, 'värdmaskinen' i hypervisory lingo, som stöder tillägget Intel VT eller AMD-V. Idag stöder moderna hypervisorer vanligtvis hybridvirtualisering: maskinvaruassisterad när det är möjligt och en failover till endast programvara för äldre chipset.



KVM kategoriseras som en typ-2 hypervisor, vilket betyder att den körs inom ett värdoperativsystem. Som namnet antyder är KVM kärnbaserad, och för att vara mer exakt är det Linux -kärnan. Så det är inte förvånande att KVM endast stöder Linux som sitt värd -operativsystem. (KVM portades därefter till FreeBSD.) Om du vill ha en open-source multi-platform typ-2 hypervisor är VirtualBox en bra kandidat. VirtualBox kan köras på Windows, Linux, Mac OS X och Solaris.

Xen är däremot en typ-1-hypervisor, även känd som bare-metal-hypervisor, som körs direkt som firmware på värddatorn. Fördelen med typ-1 jämfört med typ-2 är effektiviteten som uppnås på grund av att hypervisor körs direkt på den underliggande hårdvaran. Nackdelen är att en typ-1-hypervisor kanske inte stöder ett så stort antal värdenheter som värdoperativsystemet för en typ-2-hypervisor.

Även om hypervisorer kan skilja sig åt huruvida de kräver ett värd -operativsystem och vilka, är de väldigt lika när det gäller vilka gäst -operativsystem som de stöder, det vill säga operativsystemet som en virtuell dator kan köra. KVM stöder virtualisering av följande gäst -operativsystem:

  • Linuxdistributioner inklusive Debian, Ubuntu, Centos, Fedora, RedHat Enterprise Linux
  • BSD som OpenBSD, FreeBSD, NetBSD
  • Solaris
  • Windows

KVM kan köra omodifierade gäst OS -bilder. Denna funktion är känd som full virtualisering, i motsats till para-virtualisering där gäst-operativsystemet modifieras för särskild hantering av operationer som är väsentligt svårare att köra på den virtuella maskinen än på värddatorn.


Hur KVM fungerar

KVM består av två teknologikomponenter: kärna och användarutrymme. Kärnkomponenten består av 2 laddbara kärnmoduler: kvm.ko och antingen kvm-intel.ko eller kvm-amd.ko. Kvm.ko-modulen tillhandahåller kärnarkitekturoberoende virtualiseringsbehandling. Modulerna kvm-intel.ko och kvm-amd.ko motsvarar Intel- och AMD-processorspecifika moduler. Dessa moduler slogs samman till Linux -kärnan från kärnversion 2.6.20.

Den täta integrationen av KVM med Linux -kärnan har sina fördelar. KVM kan delegera till Linux för att göra systemgrunt -arbetet, medan det fokuserar på att hantera de nya virtualiseringsinstruktionerna som hårdvaran avslöjar. KVM drar också nytta av att ärva från alla fortsatta systemförbättringar från uppströms i det större Linux -samhället.

Viktigt att kärnmodulerna är, de emulerar inte virtuell maskinhårdvara som gäst -operativsystemet körs på. Det jobbet hör hemma i användarutrymmet. KVM använder QEMU , som körs i användarutrymmet, för att bygga de virtuella datorerna som interagerar med gäst-operativsystemen. Varje virtuell maskin är helt enkelt en vanlig Linux -process. En stor fördel är att du kan använda välbekanta Linux -kommandon som top och kill för att övervaka och hantera virtuella maskiner.


Sammanfattning och slutsats

KVM är en utmärkt öppen källkodslösning för fullständig virtualisering på Linux-värdplattformen. Efter mer än 10 års aktiv utveckling har KVM blivit det faktiska standardiserade virtualiseringsverktyget på maskinnivå i många Linux-distributioner.