KVM (Kernel-based Virtual Machine) umożliwia tworzenie i zarządzanie wydajnymi maszynami wirtualnymi na Linuksie z wykorzystaniem wsparcia sprzętowego wirtualizacji. Poniżej znajduje się kompleksowy poradnik instalacji i zarządzania KVM – od sprawdzenia wymagań po praktyczne zarządzanie VM.
Wymagania wstępne
- Wsparcie sprzętowej wirtualizacji
 
- Upewnij się, że Twój procesor obsługuje technologie wirtualizacji Intel VT-x lub AMD-V.
 - Sprawdź w terminalu: 
bash egrep -c '(vmx|svm)' /proc/cpuinfoWynik większy niż 0 oznacza wsparcie sprzętowe. - Włącz wirtualizację w BIOS/UEFI (opcja VT-x/AMD-V musi być aktywna).
 
- Odpowiednia wersja jądra
 
 uname -r 
Minimalna wersja to 2.6.20.
Instalacja KVM
Na Ubuntu/Debian:
sudo apt update sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager 
- qemu-kvm – silnik emulacji.
 - libvirt – warstwa do zarządzania VM.
 - virt-manager – graficzny interfejs do zarządzania maszynami.
 
Na CentOS/RHEL:
sudo yum install @virtualization kvm qemu-kvm libvirt libvirt-python libguestfs-tools virt-install virt-manager 
Sprawdzanie statusu usług
Po instalacji sprawdź działanie zarządzania wirtualizacją:
sudo systemctl status libvirtd 
Usługa powinna być aktywna („active (running)”).
Tworzenie maszyn wirtualnych
Za pomocą virt-manager (GUI):
- Uruchom menedżera:
 
 virt-manager 
- Kliknij „Nowa”.
 - Wybierz typ oraz wersję systemu operacyjnego do instalacji.
 - Przydziel RAM, ilość vCPU, dyski, sieć (najlepiej most sieciowy dla pełnego dostępu VM do LAN/WAN).
 - Podsumuj konfigurację i kliknij „Zakończ”, rozpocznie się instalacja systemu operacyjnego.
 
Za pomocą wiersza poleceń virt-install:
Przykład tworzenia maszyny z obrazem ISO:
sudo virt-install \ --name test-vm \ --ram 2048 \ --disk path=/var/lib/libvirt/images/test-vm.qcow2,size=20 \ --vcpus 2 \ --os-type linux --os-variant ubuntu20.04 \ --cdrom /path/do/obrazu.iso \ --network bridge=virbr0 
Parametry:
- –name – nazwa maszyny
 - –ram – ilość pamięci RAM (MB)
 - –disk – plik/ścieżka obrazu dysku oraz rozmiar
 - –vcpus – liczba wirtualnych CPU
 - –cdrom – plik ISO systemu
 - –network – konfiguracja sieci (np. bridge).
 
Podstawowe zarządzanie maszynami vKVM
- Lista aktywnych maszyn –
 
 virsh list --all 
- Start VM –
 
 virsh start test-vm 
- Zatrzymanie (shutdown) –
 
 virsh shutdown test-vm 
- Usunięcie VM –
 
 virsh undefine test-vm 
- Zarządzanie snapshotami –
 
 virsh snapshot-create-as test-vm snap1 virsh snapshot-list test-vm 
Virt-manager pozwala wykonać te operacje graficznie.
Dodatkowe konfiguracje
- Sieć – Możesz tworzyć dedykowane mosty sieciowe (bridge), NAT, VLAN dla VM według potrzeb (np. w 
/etc/network/interfaceslub przez narzędzia libvirt). - UEFI/OVMF – Dla maszyn wymagających UEFI można zainstalować 
ovmfi skonfigurować firmware podczas tworzenia VM. 
Zalety i możliwości KVM
- Wysoka wydajność dzięki integracji z jądrem Linuksa.
 - Live migration (przenoszenie VM pomiędzy fizycznymi serwerami bez przestoju).
 - Zaawansowane zarządzanie – CLI (
virsh,virt-install), GUI (virt-manager), API (libvirt). - Obsługa snapshotów, klonowania, dynamicznego przydzielania zasobów, konfiguracji dysków i sieci.
 
Najczęstsze problemy i rozwiązania
- Problem: Brak wsparcia VT-x/AMD-V w BIOS.
 - Rozwiązanie: Wejdź do BIOS/UEFI i aktywuj opcję wirtualizacji.
 - Problem: VM nie startuje, brak uprawnień.
 - Rozwiązanie: Dodaj użytkownika do grupy 
libvirt:bash sudo usermod -aG libvirt $USERWyloguj się i zaloguj ponownie. 
Podsumowanie
KVM w systemie Linux to profesjonalne i stabilne rozwiązanie do wirtualizacji zarówno w zastosowaniach domowych, jak i serwerowych. Dzięki narzędziom takim jak virt-manager oraz virt-install można komfortowo instalować i zarządzać maszynami wirtualnymi, dopasowując konfigurację do własnych potrzeb.





