Dokumentacja Ubuntu
|
Wymagane czyszczenie treści |
#title Instalacja KVM
Instalacja
Pre-instalacyjną
Sprawdź, czy procesor obsługuje wirtualizację sprzętową
Aby uruchomić KVM, potrzebny jest procesor, który obsługuje wirtualizację sprzętową. Firmy Intel i AMD opracowały rozszerzenia dla swoich procesorów, określane odpowiednio jako Intel VT-x (nazwa kodowa Vanderpool) i AMD-V (nazwa kodowa Pacifica). Aby sprawdzić, czy twój procesor obsługuje jedno z nich, możesz przejrzeć dane wyjściowe tego polecenia:
egrep -c '(vmx|svm)' /proc/cpuinfo
Jeżeli 0 oznacza to, że Twój procesor nie obsługuje wirtualizacji sprzętowej.
Jeśli 1 lub więcej to tak – ale nadal musisz się upewnić, że wirtualizacja jest włączona w BIOSie.
Domyślnie, jeśli uruchomisz kernel XEN, nie wyświetli on flagi svm lub vmx za pomocą polecenia grep. Aby sprawdzić czy jest ona włączona czy nie z poziomu xen, wpisz:
cat /sys/hypervisor/properties/capabilities
Musisz zobaczyć flagi hvm na wyjściu.
Alternatywnie, możesz wykonać:
kvm-ok
co może zapewnić wyjście takie jak to:
INFO: /dev/kvm existsKVM acceleration can be used
Jeśli widzisz :
INFO: Your CPU does not support KVM extensionsKVM acceleration can NOT be used
Możesz nadal uruchamiać maszyny wirtualne, ale będzie to znacznie wolniejsze bez rozszerzeń KVM.
UWAGA: Może pojawić się komunikat w rodzaju „Akceleracja KVM może/nie może być użyta”. Jest to mylące i oznacza tylko, czy KVM jest *aktualnie* dostępny (tj. „włączony”), *nie* czy jest obsługiwany.
Używaj 64-bitowego jądra (jeśli to możliwe)
Uruchamianie 64-bitowego jądra w systemie operacyjnym hosta jest zalecane, ale nie wymagane.
-
Aby obsłużyć więcej niż 2GB pamięci RAM dla maszyn wirtualnych, musisz użyć 64-bitowego jądra (zobacz 32bit_and_64bit). W przypadku instalacji z 32-bitowym jądrem, będziesz ograniczony do maksymalnie 2GB RAM dla danej maszyny wirtualnej.
- Również 64-bitowy system może gościć zarówno 32-bitowych, jak i 64-bitowych gości. System 32-bitowy może obsługiwać tylko gości 32-bitowych.
Aby sprawdzić, czy twój procesor jest 64-bitowy, możesz wykonać to polecenie:
egrep -c ' lm ' /proc/cpuinfo
Jeśli zostanie wyświetlone 0, oznacza to, że twój procesor nie jest 64-bitowy.
Jeśli 1 lub więcej, to znaczy, że jest. Uwaga: lm oznacza Long Mode, co jest równoznaczne z 64-bitowym procesorem.
Teraz sprawdź czy twój działający kernel jest 64-bitowy, po prostu wydaj następującą komendę:
uname -m
x86_64 wskazuje na działające 64-bitowe jądro. Jeśli użyjesz i386, i486, i586 lub i686, to znaczy, że masz 32-bitowe jądro.
Uwaga: x86_64 jest synonimem amd64.
Instalacja KVM
Instalacja niezbędnych pakietów
W poniższej konfiguracji przyjmiemy, że KVM jest wdrażany na serwerze, a więc na maszynie nie ma serwera X.
Na początku należy zainstalować kilka pakietów:
Cosmic (18.10) lub nowszy
$ sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Lucid (10.04) lub nowszy
$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Karmic (9.10) lub wcześniejsze
$ sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
-
libvirt-bin dostarcza libvirtd, który jest potrzebny do administrowania instancjami qemu i kvm przy użyciu libvirt
-
qemu-kvm (kvm w Karmic i wcześniejszych) jest backendem
-
ubuntu-vm-builder potężne narzędzie wiersza poleceń do budowania maszyn wirtualnych
-
bridge-utils zapewnia most z twojej sieci do maszyn wirtualnych
Możesz także zainstalować virt-viewer, do przeglądania instancji.
Dodawanie użytkowników do grup
Karmic (9.10) i nowsze (ale nie 14.04 LTS i 18.10)
Musisz się upewnić, że Twój login jest dodany do grupy libvirtd:
$ sudo adduser `id -un` libvirtdAdding user '<username>' to group 'libvirtd' ...
Potem musisz się zalogować, aby Twój użytkownik stał się efektywnym członkiem grupy libvirtd. Członkowie tej grupy mogą uruchamiać maszyny wirtualne. (Możesz również 'newgrp kvm' w terminalu, ale będzie to miało wpływ tylko na ten terminal).
Bionic (18.04 LTS) i wyżej
Nazwa grupy jest zmieniona na libvirt, a ty musisz być członkiem grupy 'kvm':
$ sudo adduser `id -un` libvirtAdding user '<username>' to group 'libvirt' ...$ sudo adduser `id -un` kvmAdding user '<username>' to group 'kvm' ...
Wydania wcześniejsze niż Karmic (9.10)
Musisz się upewnić, że Twoja nazwa użytkownika jest dodana do grup: kvm i libvirtd.
Aby sprawdzić:
$ groupsadm dialout cdrom floppy audio dip video plugdev fuse lpadmin admin sambashare kvm libvirtd
Aby dodać swoją <username> do grup:
$ sudo adduser `id -un` kvmAdding user '<username>' to group 'kvm' ...$ sudo adduser `id -un` libvirtdAdding user '<username>' to group 'libvirtd' ...
Po instalacji należy się ponownie zalogować, aby użytkownik stał się efektywnym członkiem grup użytkowników kvm i libvirtd. Członkowie tej grupy mogą uruchamiać maszyny wirtualne.
Weryfikacja instalacji
Możesz sprawdzić czy instalacja zakończyła się sukcesem za pomocą następującego polecenia:
$ virsh list --all Id Name State----------------------------------$
Jeśli z drugiej strony otrzymasz coś takiego:
$ virsh list --alllibvir: Remote error : Permission deniederror: failed to connect to the hypervisor$
Coś jest nie tak (np. nie dokonałeś relogin) i prawdopodobnie chcesz to naprawić, zanim przejdziesz dalej. Krytycznym punktem tutaj jest to, czy masz dostęp do zapisu do /var/run/libvirt/libvirt-sock.
Plik sock powinien mieć uprawnienia podobne do:
$ sudo ls -la /var/run/libvirt/libvirt-socksrwxrwx--- 1 root libvirtd 0 2010-08-24 14:54 /var/run/libvirt/libvirt-sock
Ponadto, /dev/kvm musi być w odpowiedniej grupie. Jeśli widzisz:
$ ls -l /dev/kvmcrw-rw----+ 1 root root 10, 232 Jul 8 22:04 /dev/kvm
Mogą wystąpić problemy podczas tworzenia maszyny wirtualnej. Zmień grupę urządzenia na kvm/libvirtd zamiast tego:
sudo chown root:libvirtd /dev/kvm
Teraz musisz albo ponownie zalogować się, albo zrestartować moduły jądra:
rmmod kvmmodprobe -a kvm
Opcjonalnie: Zainstaluj virt-manager (graficzny interfejs użytkownika)
Jeśli pracujesz na komputerze stacjonarnym, możesz chcieć zainstalować narzędzie GUI do zarządzania maszynami wirtualnymi.
$ sudo apt-get install virt-manager
Virtual Machine Manager pojawi się w menu Applications -> System Tools. Najpierw utwórz nowe połączenie do lokalnej instancji QEMU z menu File -> Add Connection. Localhost (QEMU) lub QEMU/KVM powinien pojawić się na liście maszyn wirtualnych. Uwaga: istnieje już połączenie Localhost (QEMU Usermode), ale nie działa ono przynajmniej na Ubuntu 10.04.
Utwórz nową maszynę wirtualną, naciskając lewy górny przycisk paska narzędzi Utwórz nową maszynę wirtualną.
Wskazówki dotyczące konkretnej wersji
8.10 (Intrepid) Wskazówki
-
Dodano dwa pakiety meta: ubuntu-virt-server i ubuntu-virt-mgmt. Ubuntu-virt-server instaluje pakiety potrzebne do skonfigurowania podstawowego hosta wirtulizacji (kvm, libvirt-bin i openssh-server), a ubuntu-virt-mgmt instaluje to, co jest potrzebne do administrowania nim ze stacji zarządzającej (virt-manager, python-vm-builder i virt-viewer).
-
ubuntu-vm-builder został zastąpiony przez python-vm-builder (tutorial).
Uwaga: libdevmapper nie ładuje swojego modułu kiedy jest zainstalowany (błąd 277648), więc będziesz musiał albo zrobić
-
$ sudo modprobe dm-loop
albo zrestartować system zanim będziesz mógł go użyć.
11.10 (Oneric) Uwagi
Przełączenie się na jądro serwera może być pomocne, jeśli występują problemy ze startem maszyn wirtualnych (np. Windows XP zawiesza się mniej więcej raz na 5 uruchomień)
Przełączenie się na jądro serwera może być pomocne, jeśli występują problemy ze startem maszyn wirtualnych (np.