Virtualiseerimine: Mis vahe on KVM ja QEMU vahel?


Vastus 1:

KVM on 1. tüüpi hüperviisor ja Qemu on 2. tüüpi hüperviisor. 1. tüüpi hüperviisor paigaldatakse koos riistvarasüsteemiga nagu Linuxis KVM. KVM pakub riistvaralist kiirendust virtuaalsetele masinatele, kuid see vajab Qemu mis tahes opsüsteemi jäljendamiseks.

Qemu on 2. tüüpi hüperversor, seda saab installida opsüsteemi ja see töötab iseseisva protsessina ning Quemu-s antud juhised täidetakse hostmasinas. Qemu saab iseseisvalt töötada ilma KVM-i kui selle emulaatorita, kuid jõudlus on kehv, kuna Qemu ei tee mingit riistvaralist kiirendust

Käimas on projekt, mis ühendab Qemu ja KVM. See on 1. tüüpi hüperviisor. Nii on meil Qemu kui emulaatori eelised ja KVM-i riistvaraline kiirendus parema jõudluse tagamiseks.


Vastus 2:

KVM - asub Linuxi kernelis laaditava moodulina. Pärast laadimist teisendab KVM Linuxi kerneli 1. tüüpi hüperviisoriks ehk palja metalli hüperviisoriks. KVM-i virtualiseerimine kasutab oma hüperviisorina Linuxi kerneli (VM on põhimõtteliselt protsess). Riistvaraabid, mis võimaldavad jõulist virtualiseerimist, sõltuvad vastavalt Inteli ja AMD-V virtualiseerimislaienditest Intel-VT ja AMD-V. Töötades koos nende laiendustega, aitab KVM pakkuda paremat virtualiseerimiskogemust suurema läbilaskevõimega, peaaegu nullilähedase latentsusega. Seega saavad kõik VM-id (lugemisprotsess) töötada ilma jõudluse või ühilduvuseta, justkui töötaksid nad spetsiaalsel keskseadmel. Ülalnimetatud laiendite tõttu on ka VM-id paremini teadlikud aluseks oleva riistvaraplatvormi võimalustest. Seetõttu on õiglane öelda, et KVM pakub riistvara virtualiseerimist kõige uudsemas ja parimas vormis.

QEMU - teiselt poolt elab kasutajaruumis ja pakub süsteemi emuleerimist, sealhulgas protsessorit ja mitmesuguseid lisaseadmeid. Tavaliselt juurutatakse QEMU koos KVM-iga tuumasisese kiirendina, kus KVM täidab suurema osa külalise koodist natiivselt, samal ajal kui QEMU jäljendab ülejäänud külalisele vajalikku masinat (lisaseadmeid). Kohtades, kus VM peab rääkima väliste seadmetega, kasutab QEMU passthrough.

KVM ja QEMU võivad eksisteerida eraldi, kuid ühiselt kasutusele võttes pakuvad need rikkalikumat virtualiseerimiskogemust. HTH