KVM

Vad är KVM?kärna

Vad är KVM?kärna

Virtualisering avser skapandet av en simulerad datorresurs som efterliknar beteendet hos motsvarande verklig eller fysisk resurs. Många typer av resurser kan virtualiseras, från programvara 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 hypervisor. Nedan kommer vi att diskutera funktionerna hos en hypervisor som heter KVM.

Fördelar med virtualisering

Tidigare var det att fungera homogent 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 olika operativsystem som Linux och Windows och till och med olika versioner av ett operativsystem (t.ex.g., Windows XP och 10) för att samlokalisera i samma datormiljö. Utan virtuella maskiner måste flera fysiska maskiner distribueras och underhållas för att kunna köra applikationer på flera operativplattformar. Virtualisering driver driften av 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 tränga medan processorkraften fortsätter att öka. Under denna verklighet tenderar många stora kraftfulla maskiner idag att vara underutnyttjade, mätt genom inaktiva CPU-cykler, oanvänt minne etc. Konsolideringen av virtuella maskiner till färre fysiska maskiner resulterar i mindre fysiska resurser och därmed 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 väntetid för förvärv följt av en lång installations- och driftsperiod efter ankomsten. Däremot kan provisionering 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 sparar pengar på grund av lägre driftskostnader. Besparingen kommer i form av reducerade energiräkningar till följd av lägre kyl- och effektbehov.

Vi introducerar KVM

Kernel-based Virtual Machine, eller KVM i korthet, är en gratis och öppen källkod hypervisor-lösning. Det konkurrerar i en mogen bransch med open source-alternativ som Xen, VirtualBox, samt egna produkter som VMware vSphere, Citrix XenServer, Microsoft Hyper-V.

Före 2005 var hypervisorlösningar vid den tiden, som Xen och VirtualBox, alla mjukvarubaserade. X86-arkitekturen hade helt enkelt inte möjlighet att stödja virtualisering.  År 2005 ändrade introduktionen av instruktionsuppsättningarna Intel VT och AMD-V permanent virtualiseringslandskapet. KVM släppte sin första version 2006 och var en av de första hypervisorerna som utnyttjade den nya hårdvarubeståndet 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 Intel VT- eller AMD-V-förlängningen. Idag stöder moderna hypervisorer vanligtvis hybridvirtualisering: hårdvaruassisterad när det är möjligt och en failover till endast programvara för äldre chipsets.

KVM kategoriseras som en typ-2 hypervisor, vilket innebär att den körs i 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 värd OS. (KVM portades därefter till FreeBSD.) Om du vill ha en öppen källkod 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ärdmaskinen. Fördelen med typ-1 framför 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.

Medan hypervisorer kan skilja sig åt om de behöver ett värd-operativsystem och vilka, är de väldigt lika med avseende på vilka gäst-operativsystem de stöder, dvs. operativsystemet som en virtuell maskin kan köra. KVM stöder virtualisering av följande gäst-OS:

KVM kan köra omodifierade gäst-OS-bilder. Denna funktion kallas full virtualisering, i motsats till paravirtualisering där gäst-operativsystemet modifieras för speciell hantering av operationer som är betydligt svårare att köra på den virtuella maskinen än på värdmaskinen.


Hur KVM fungerar

KVM består av två teknologikomponenter: kärna och användarutrymme. Kärnkomponenten består av två laddningsbara kärnmoduler: kvm.ko, och antingen kvm-intel.ko eller kvm-amd.ko. Kvm.ko-modulen ger kärnarkitekturoberoende virtualiseringsbehandling. Kvm-intel.ko och kvm-amd.ko-moduler motsvarar Intel- och AMD-processorspecifika moduler. Dessa moduler slogs samman i Linux-kärnan från och med kärnversion 2.6.20.

Den snäva integrationen av KVM med Linux-kärnan har sina fördelar. KVM kan delegera till Linux för att göra systemgruntarbetet, medan det fokuserar på att hantera de nya virtualiseringsinstruktionerna som exponeras av hårdvaran. KVM drar också nytta av att arva från en fortsatt systemförbättring från uppströms i det större Linux-samhället.

Viktigt att kärnmodulerna är, de emulerar inte hårdvara för virtuell maskin 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 maskiner 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 bekanta Linux-kommandon som topp och död för att övervaka och hantera virtuella maskiner.


Sammanfattning och slutsats

KVM är en utmärkt öppen källkodslösning för full virtualisering på Linux-värdplattformen. Efter 10+ års aktiv utveckling har KVM blivit det de facto standard virtualiseringsverktyget på maskinnivå i många Linux-distributioner.

SuperTuxKart för Linux
SuperTuxKart är en fantastisk titel som är utformad för att ge dig Mario Kart-upplevelsen gratis på ditt Linux-system. Det är ganska utmanande och rol...
Battle for Wesnoth Tutorial
Slaget om Wesnoth är ett av de mest populära open source-strategispel som du kan spela just nu. Det här spelet har inte bara utvecklats under mycket l...
0 A.D. Handledning
Av de många strategispelen där ute, 0 A.D. lyckas framstå som en omfattande titel och ett mycket djupt, taktiskt spel trots att det är öppen källkod. ...