Виртуализация: Каква е разликата между KVM и QEMU?


Отговор 1:

KVM е хипервизор от тип 1, а Qemu е хипервизор от тип 2. Тип 1 хипервизор се инсталира с хардуерната система като KVM в Linux. KVM осигурява хардуерно ускорение за виртуални машини, но се нуждае от Qemu, за да подражава на всяка операционна система.

Qemu е хипверизор тип 2, той може да бъде инсталиран на операционна система и работи като независим процес и инструкциите, които даваме в Quemu, ще бъдат изпълнени на хост машината. Qemu може да работи независимо без KVM като негов емулатор, но производителността ще бъде лоша, тъй като Qemu не прави никакво хардуерно ускорение

Има проект, който продължава да интегрира Qemu и KVM. Това ще бъде хипервизор тип 1. Така че ще имаме всички предимства на Qemu като емулатор и KVM хардуерно ускорение за по-добра производителност.


Отговор 2:

KVM - пребивава в ядрото на Linux като зареждащ се модул. Веднъж зареден, KVM преобразува ядрото на Linux в хипервизор тип 1, известен като хипервизор с голи метали. KVM виртуализацията използва Linux ядрото като свой хипервизор (VM е по същество процес). Това обаче зависи от разширенията за виртуализация на Intel-VT и AMD-V за Intel и AMD, съответно за хардуерни асисти, за да се даде възможност за стабилна виртуализация. Работейки съгласувано с тези разширения, KVM помага да се осигури по-добро виртуализиране на опит с по-висока производителност почти почти нулева латентност. По този начин всички виртуални машини (процес на четене) могат да работят без каквато и да е хит на производителност или съвместимост, сякаш се изпълняват от собствения си процесор. Освен това, поради гореспоменатите разширения, VM имат по-голяма информираност за възможностите на основната хардуерна платформа. Следователно, честно е да се каже, че KVM предлага хардуерна виртуализация в своята искрена и най-добра форма.

QEMU - От друга страна, се намира в потребителското пространство и осигурява системна емулация, включваща процесора и различни периферни устройства. Обикновено QEMU се разгръща заедно с KVM като вътрешен ускорител, където KVM изпълнява по-голямата част от кода на гостите, докато QEMU емулира останалите машини (периферни устройства), необходими на госта. На места, където VM трябва да разговаря с външни устройства, QEMU използва миналото.

KVM и QEMU могат да съществуват отделно, но когато се разгърнат съвместно, те осигуряват по-богат опит за виртуализация. HTH