Какво е KVM?

What Is Kvm



Виртуализацията се отнася до създаването на симулиран изчислителен ресурс, който имитира поведението на съответния реален или физически ресурс. Много видове ресурси могат да се виртуализират, от софтуер до отделни хардуерни устройства до завършени хардуерни платформи. Тази публикация се фокусира върху виртуални машини, които включват устройства като процесор, памет, мрежова карта, диск, графичен адаптер и операционна система. Софтуерът, който създава и изпълнява виртуални машини, се нарича хипервизор. По -долу ще обсъдим характеристиките на хипервизор, наречен KVM .

Предимства на виртуализацията

В миналото хомогенността е била начинът на работа в центрове за данни, къщи за развитие и у дома. На практика всички машини ще изпълняват една и съща версия на една операционна система, независимо дали става въпрос за Linux, Windows или FreeBSD. Времената се промениха.







Днес бихме очаквали различни операционни системи като Linux и Windows и дори различни версии на операционна система (например Windows XP и 10) да се локализират съвместно в една и съща компютърна среда. Без виртуални машини трябва да бъдат разгърнати и поддържани множество физически машини, за да се изпълняват приложения на множество операционни платформи. Виртуализацията дава възможност за работа на множество виртуални машини, всяка потенциално с различна операционна система, на една физическа машина.



Предимствата на виртуалните машини пред физическите включват:



  1. По -ефективно използване на компютърните ресурси.
    Цената на хардуера продължава да намалява, докато тяхната процесорна мощ продължава да расте. При тази реалност много големи мощни машини днес са склонни да бъдат недостатъчно използвани, измервани чрез цикли на процесора на празен ход, неизползвана памет и т.н.
  1. Подобрен I.T. отзивчивост и производителност.
    Предоставянето на нов физически хардуер изисква дълъг период на изчакване за придобиване, последван от дълъг период на инсталиране и внедряване след пристигането му. За разлика от това, осигуряването на виртуални машини може да бъде автоматизирано и достъпно за минути, а не за дни или дори седмици, което понякога отнема традиционното придобиване на машина.
  1. Спестяване на разходи.
    Центровете за големи данни ще спестят пари поради по -ниските експлоатационни разходи. Спестяването идва под формата на намалени сметки за енергия в резултат на по -ниските изисквания за охлаждане и мощност.

Представяме ви KVM

Виртуална машина, базирана на ядрото, или KVM накратко, е безплатно решение с хипервизор с отворен код. Той се конкурира в зряла индустрия с алтернативи с отворен код, като например Xen , VirtualBox , както и собствени продукти като VMware vSphere , Citrix XenServer , Microsoft Hyper-V .





Преди 2005 г. тогавашните решения за хипервизор, като Xen и VirtualBox, бяха базирани на софтуер. Архитектурата на x86 просто нямаше възможност за поддържане на виртуализация. През 2005 г. въвеждането на разширения за набор от инструкции Intel VT и AMD-V окончателно промени пейзажа на виртуализацията. KVM пусна първата си версия през 2006 г. и беше един от първите хипервизори, които се възползваха от новата хардуерна разпоредба, за да оптимизират производителността на виртуализацията.

Можете да инсталирате KVM на всеки 32-битов или 64-битов x86 компютър, „хост машината“ в хипервизорно линго, който поддържа разширението Intel VT или AMD-V. Днес съвременните хипервизори обикновено поддържат хибридна виртуализация: хардуерно подпомагани, когато е възможно, и прехвърляне към софтуер само за по-стари чипсети.



KVM е категоризиран като хипервизор тип 2, което означава, че работи в хост операционна система. Както подсказва името му, KVM е базиран на ядрото и за да бъдем по -точни, това е ядрото на Linux. Така че не е изненадващо, че KVM поддържа само Linux като своя хост операционна система. (KVM впоследствие беше пренесен към FreeBSD.) Ако искате многоплатформен хипервизор с отворен код, VirtualBox е добър кандидат. VirtualBox може да работи в Windows, Linux, Mac OS X и Solaris.

Xen, за разлика от това, е хипервизор от тип 1, известен също като хипервизор с голи метали, който работи директно като фърмуер на хост машината. Предимството на тип-1 пред тип-2 е ефективността, постигната поради хипервизора, работещ директно върху основния хардуер. Недостатъкът е, че хипервизор тип-1 може да не поддържа толкова широк спектър от хост устройства, колкото хост операционната система на хипервизор тип-2.

Въпреки че хипервизорите могат да се различават по това дали се нуждаят от хост операционна система и кои от тях, те са много сходни по отношение на кои гост -операционни системи, които поддържат, т.е. операционната система, която виртуалната машина може да изпълнява. KVM поддържа виртуализацията на следните гостуващи операционни системи:

  • Linux дистрибуции, включително Debian, Ubuntu, Centos, Fedora, RedHat Enterprise Linux
  • BSD като OpenBSD, FreeBSD, NetBSD
  • Соларис
  • Windows

KVM може да изпълнява немодифицирани образи на гост OS. Тази функция е известна като пълна виртуализация, за разлика от пара-виртуализацията, където гостуващата ОС е модифицирана за специално обработване на операции, които са значително по-трудни за изпълнение на виртуалната машина, отколкото на хост машината.


Как работи KVM

KVM се състои от 2 технологични компонента: ядро ​​и потребителско пространство. Компонентът на ядрото се състои от 2 зареждащи се модула на ядрото: kvm.ko и kvm-intel.ko или kvm-amd.ko. Модулът kvm.ko осигурява независима от архитектурата обработка на виртуализация. Модулите kvm-intel.ko и kvm-amd.ko съответстват на специфични за процесорите Intel и AMD модули. Тези модули бяха обединени в ядрото на Linux от версия на ядрото 2.6.20.

Тесната интеграция на KVM с ядрото на Linux има своите предимства. KVM е в състояние да делегира на Linux, за да свърши системната работа, докато се фокусира върху обработката на новите инструкции за виртуализация, изложени от хардуера. KVM също се възползва, като наследи от всяко продължаващо подобрение на системата от upstream в по -голямата Linux общност.

Важно е, че модулите на ядрото, те не емулират хардуера на виртуална машина, на който работи гостуващата ОС. Тази работа принадлежи към потребителското пространство. KVM използва QEMU , която се изпълнява в потребителското пространство, за изграждане на виртуални машини, които взаимодействат с гостуващите операционни системи. Всяка виртуална машина е просто обикновен процес на Linux. Едно голямо предимство е, че можете да използвате познати Linux команди като top и kill за наблюдение и управление на виртуални машини.


Резюме и заключение

KVM е отлично решение с отворен код за пълна виртуализация на хост платформата на Linux. След повече от 10 години активно развитие, KVM се превърна в фактически стандартен инструмент за виртуализация на ниво машина в много дистрибуции на Linux.