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/cpuinfo
Wynik 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/interfaces
lub przez narzędzia libvirt). - UEFI/OVMF – Dla maszyn wymagających UEFI można zainstalować
ovmf
i 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 $USER
Wyloguj 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.