![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/Kvm_running_various_guests.png/640px-Kvm_running_various_guests.png&w=640&q=50)
Kernel-based Virtual Machine
Z Wikipedii, wolnej encyclopedia
Kernel-based Virtual Machine (maszyna wirtualna bazująca na jądrze) – środowisko wirtualizacyjne dla systemów linuksowych.
![]() Logo programu | |
![]() | |
Autor | Open Virtualization Alliance (OVA) |
---|---|
Język programowania | C |
Platforma sprzętowa | Linux |
Rodzaj | Hipernadzorca |
Licencja | GNU General Public License i GNU Lesser General Public License |
Strona internetowa |
Wyróżnia się system gospodarza i gościa. Gospodarz to system operacyjny (OS) kontrolujący sprzęt, czyli tzw. „goły metal” (ang. bare metal). Gość to OS wewnątrz gospodarza, któremu gospodarz udostępnia sprzęt.
Środowisko KVM (gospodarz lub gospodarze) umożliwia tworzenie sieci maszyn wirtualnych (goście). Każda maszyna wirtualna posiada prywatny zwirtualizowany sprzęt: bios, kartę sieciową, dysk twardy, kartę graficzną, dźwiękową, porty I/O itd. Dla wirtualnej maszyny (VM) sprzęt może być emulowany, parawirtualizowany, lub dostępny przelotowo (pass through). Może przypadać do 32 urządzeń PCI na gościa. Im mniejszy stopień programowej emulacji, tym obciążenie procesora jest mniejsze, wydajność VM jest większa, jednocześnie może maleć kontrola przez OS gospodarza, co może zmniejszać bezpieczeństwo systemu. KVM wykorzystuje sprzętowe technologie wirtualizacyjne. Dla AMD-V lub Intel VT-x warunek sprzętowej wirtualizacji jest spełniony wtedy, gdy /proc/cpuinfo zawiera odpowiednio znacznik svm lub vmx[1].
Pod maszynami wirtualnymi możliwa jest instalacja i wspólne działanie naraz dowolnej liczby systemów Linux, Windows i innych. KVM umożliwia przepełnianie (overcommit) zasobów: pamięci i CPU[2]. KVM umożliwia zatrzymanie, zapisanie stanu (snapshot), klonowanie lub przenoszenie (migrację) pracującego cały czas gościa do innego gospodarza. Przenoszenie działa, gdy obaj gospodarze przenoszonego gościa, mają podobne procesory (nie działa migracja z AMD na Intela i odwrotnie). Przerwa w pracy gościa (konieczna na końcową synchronizację migrowanych stanów pamięci i rejestrów), jest prawie natychmiastowa, wynosi np. 30 ms i jest prawie niewykrywalna przez OS gościa. Może to być np. wykorzystane do przenoszenia ciągle pracującego Windowsa z Polski za ocean żeby ominąć (bez wyłączania systemu) sztuczne terytorialnie restrykcje w dostępie do zasobów sieciowych. Możliwa jest też wielokrotna wirtualna podróż w czasie do stanu pracy wirtualnego komputera zamrożonego z przeszłości. Inne środowiska wirtualizacji mogą mieć podobne możliwości.
Zarządzanie KVM może się odbywać przez interfejs graficzny w virt-manager[3] lub z poziomu wiersza poleceń przez virsh.