Xen vs. KVM, sammenligning af hypervisorer
I cloud computing-alderen er hypervisorer som KVM og Xen blevet vigtigere end nogensinde. Men hvordan adskiller disse to virtualiseringsteknologier sig fra hinanden? Med vores sammenligning af Xen og KVM ser vi på lighederne og forskellene mellem de to.
Xen i korte træk
Xen er open source -virtualiseringssoftware, der gør det muligt at køre flere gæstoperativsystemer samtidigt på en enkelt værtsmaskine. Xen administrerer fordelingen af hardwareressourcerne på værtsmaskinen.
Hvilken type hypervisor er Xen?
Xen er en type 1 (eller bare metal) hypervisor. Denne type hypervisor installeres direkte på et fysisk system og kommunikerer med hardware via sine egne drivere. Værts- og gæstoperativsystemer installeres oven på Xen-hypervisoren. For at skelne mellem forskellige privilegieniveauer kategoriserer Xen de installerede operativsystemer i to forskellige domæner: dom0 og domU. Værtsoperativsystemet tilhører dom0-domænet og har det højeste privilegieniveau, mens alle gæstoperativsystemer klassificeres som ikke-privilegerede systemer og tilhører domU-domænet.
Værtsoperativsystemet kommunikerer ikke direkte med hardwaren via sine drivere, men i stedet via hypervisoren ved hjælp af en specialiseret Xen API. Denne dybe integration sikrer en mere effektiv udnyttelse af hardwaren, mindre overhead og et reduceret angrebsareal.
Hvordan Xen bruger paravirtualisering til at øge effektiviteten
Xen bruger virtualiseringsteknikken paravirtualisering til at øge effektiviteten. Med denne teknik emulerer hypervisoren ikke hardwarekomponenter, og gæstesystemer er klar over, at de kører i et virtualiseret miljø. Dette muliggør meget hurtigere kommunikation mellem gæsteoperativsystemer og Xen, hvilket fører til øget ydeevne.
Denne tilgang er dog afhængig af specialiserede drivere og specifikke indbyggede funktioner i operativsystemets kerne. Mange udbredte operativsystemkerner, såsom Linux og BSD, har i årevis været i stand til at understøtte paravirtualisering.
Hvis du bruger et operativsystem, hvor paravirtualisering ikke er mulig eller ønsket, understøtter Xen også fuld virtualisering (hvor hardwarekomponenter emuleres virtuelt). Selvom dette gør virtualiseringen langsommere, giver det høj kompatibilitet, så operativsystemer, der ikke understøtter paravirtualisering, kan køre under Xen.
Hvad er KVM’s vigtigste funktioner?
Ligesom Xen er KVM (Kernel-based Virtual Machine) også en open source-hypervisor, der giver brugerne mulighed for at køre flere gæstoperativsystemer på en enkelt fysisk maskine. Selvom begge hypervisorer tjener det samme grundlæggende formål, er deres arkitektoniske design forskelligt, og hver hypervisor er velegnet til forskellige anvendelsestilfælde.
Hvilken type hypervisor er KVM?
Tidligere blev KVM ofte betegnet som en type 2-hypervisor, fordi den kun kunne kommunikere med hardware via driverne i værtsoperativsystemet. KVM var nødt til at emulere alle hardwarekomponenter til gæstesystemerne, hvilket gjorde paravirtualisering umulig.
KVM er siden blevet udvidet til også at omfatte paravirtualisering. Den fungerer dog anderledes end Xen. I modsætning til Xen installeres KVM ikke under værtsoperativsystemet, men integreres i stedet direkte i Linux-kernen. KVM bruger softwarekomponenterne i Linux-systemet til at administrere virtualiserede systemer og deres processer.
Under KVM har hvert gæstoperativsystem sit eget virtualiserede sæt hardware, herunder netværksgrænseflader, diskplads og andre typer hardwarekomponenter. For at fremskynde fuld virtualisering anvender KVM hardwareassisteret virtualisering, som allerede findes i de fleste moderne processorer.
Ikke alle komponenter gennemgår fuld virtualisering i KVM. For at forbedre ydeevnen for kørende systemer og applikationer tilbyder KVM paravirtualiserede grænseflader, der kan kommunikere direkte med hypervisoren via Virtio API. KVM bruger primært paravirtualisering til input- og outputenheder som netværksgrænsefladen. Derfor beskriver folk ofte KVM som en delvis paravirtualisering, når de taler om det.
KVM vs. Xen, hvordan deres ydeevne sammenlignes
Den væsentligste forskel mellem de to hypervisorer ligger i, hvor de opererer inden for softwarestakken. KVM er integreret i Linux-kernen og bruger hardwareassisteret virtualisering til at virtualisere adskillige hardwarekomponenter uden at opleve væsentlige ulemper i ydeevnen. De primære IO-grænseflader er paravirtualiserede, hvilket for de fleste serverapplikationer sandsynligvis er det mest afgørende aspekt.
Xen installeres derimod traditionelt under operativsystemet som en Type 1-hypervisor. Det betyder , at hypervisoren selv styrer fordelingen af hardwareressourcerne. Teoretisk set giver dette Xen mulighed for at levere en mere effektiv og højtydende kommunikation med hardwaren. KVM’s Virtio-drivere og hardwareassisteret virtualisering bringer imidlertid dens ydeevne på niveau med Xen.
CPU-fastgørelse
På trods af ligheder i ydeevne, fungerer de to hypervisorer ikke ens i alle scenarier. Når det kommer til CPU-pinning, tilbyder KVM mere kraft til sine brugere. Med CPU-pinning kan KVM tildele en fysisk processor (eller en processorkerne) til en virtualiseret processor, hvilket sikrer eksklusiv brug for det virtuelle system. Af de to hypervisorer er det kun KVM, der tilbyder denne funktion, hvilket er særligt gavnligt for CPU-intensive applikationer.
Netværksydelse
Med hensyn til netværksydelse ligger Xen i spidsen. Selvom begge hypervisorer leverer paravirtualiserede netværksgrænseflader, har hvert system, der er virtualiseret under KVM, sin egen netværksenhed. Med Xen deler alle gæstesystemer en enkelt virtuel netværksgrænseflade, hvilket fører til øget effektivitet.
Resumé
Spørgsmålet om, hvilken hypervisor der er bedst, afhænger af dine krav. Markedslederen KVM er integreret i Linux-kernen og tilbyder mulighed for fuld virtualisering. Disse aspekter gør den grundlæggende nemmere at bruge.
Xens fulde paravirtualiseringsfunktioner betyder imidlertid, at det teoretisk set kan levere bedre ydeevne. De afgørende faktorer, du bør overveje, når du vælger en hypervisor, er de applikationer, du ønsker at virtualisere, og dit erfaringsniveau.
Leder du efter et alternativ til hypervisor, så du kan migrere din IT-infrastruktur til skyen? Brug cloudmigreringstjenesten fra IONOS og nyd overkommelige kvalitetstjenester og det højeste sikkerhedsniveau.