Pełna forma KVM to Kernel Virtual Machine. Jest to rozwiązanie wirtualizacyjne dla systemu Linux. KVM to moduł jądra Linuksa, który pozwala jądru Linuksa działać jako program hiperwizora, taki jak VMware ESXi lub VSphere.
W tym artykule pokażę, jak zainstalować KVM na Ubuntu 20.04 LTS i utworzyć prostą maszynę wirtualną KVM z nim. A więc zaczynajmy.
- Włączanie wirtualizacji sprzętowej:
- Uaktualnianie systemu:
- Instalacja KVM:
- Instalacja LibVirt:
- Ustawianie wymaganych katalogów KVM:
- Tworzenie maszyny wirtualnej KVM:
- Listowanie maszyn wirtualnych KVM:
- Połączenie z maszynami wirtualnymi KVM zdalnie za pomocą VNC:
- Usuwanie maszyn wirtualnych KVM:
- Issue#1: Fixing cpu->kvm_msr_buf->nmsrs Assertion Error
- Podsumowanie:
Włączanie wirtualizacji sprzętowej:
Aby KVM działało, należy włączyć rozszerzenie wirtualizacji sprzętowej w BIOS-ie komputera. W przypadku procesorów Intel należy włączyć w systemie BIOS funkcję procesora VT-x lub VT-d. W przypadku procesorów AMD należy włączyć w systemie BIOS funkcję procesora AMD-v.
Po włączeniu wirtualizacji sprzętowej w systemie BIOS należy wykonać następujące polecenie, aby sprawdzić, czy rozszerzenie VT-x/VT-d lub AMD-v jest włączone.
Na wyjściu powinna być dostępna flaga svm lub vmx, jeśli masz włączoną wirtualizację sprzętu w BIOS-ie.
Ja używam procesora AMD. Więc, flaga svm jest dostępna w moim przypadku. Jeśli używasz procesora Intela, będzie to vmx.
Uaktualnianie systemu:
Przed zainstalowaniem KVM należy zaktualizować pakiety oprogramowania systemu Ubuntu 20.04 LTS.
Najpierw należy zaktualizować pamięć podręczną repozytorium pakietów APT systemu Ubuntu 20.04 LTS za pomocą następującego polecenia:
Powinna zostać zaktualizowana pamięć podręczna repozytorium pakietów APT systemu Ubuntu 20.04 LTS.
Jak widać, wszystkie pakiety mojej maszyny Ubuntu 20.04 LTS są już aktualne. Tak więc, nie muszę nic robić.
Jeśli masz dostępne aktualizacje, możesz zastosować te aktualizacje za pomocą następującego polecenia:
Następnie naciśnij Y, a następnie naciśnij <Enter>, aby potwierdzić instalację.
Po zainstalowaniu aktualizacji należy ponownie uruchomić komputer za pomocą następującego polecenia:
Instalacja KVM:
Pakiety KVM są dostępne w oficjalnym repozytorium pakietów Ubuntu 20.04 LTS.
Można zainstalować KVM na swoim Ubuntu 20.04 LTS za pomocą następującego polecenia:
Aby potwierdzić instalację, naciśnij Y, a następnie naciśnij <Enter>.
Menedżer pakietów APT powinien pobrać z Internetu wszystkie wymagane pakiety.
Po pobraniu pakietów menedżer pakietów APT zainstaluje je.
Na tym etapie należy zainstalować KVM.
Instalacja LibVirt:
LibVirt to narzędzie do tworzenia maszyn wirtualnych KVM i zarządzania nimi oraz konfigurowania KVM. Jest to niezbędne narzędzie do wirtualizacji za pomocą KVM.
LibVirt jest dostępny w oficjalnym repozytorium pakietów Ubuntu 20.04 LTS.
Aby zainstalować LibVirt, wykonaj następujące polecenie:
Aby potwierdzić instalację, naciśnij Y, a następnie naciśnij <Enter>.
Menedżer pakietów APT powinien pobrać i zainstalować wszystkie wymagane pakiety z Internetu.
LibVirt powinien być zainstalowany w tym momencie.
Po zainstalowaniu LibVirt dodaj swojego użytkownika logowania do grupy libvirt za pomocą następującego polecenia:
Następnie zrestartuj komputer następującym poleceniem, aby zmiany zaczęły obowiązywać.
Po uruchomieniu komputera uruchom następującą komendę, aby potwierdzić, że LibVirt działa.
Komenda powinna zwrócić numer wersji LibVirt. W moim przypadku jest to 6.0.0.
Ustawianie wymaganych katalogów KVM:
Myślę, że dobrym pomysłem jest uporządkowanie wszystkich danych maszyn wirtualnych. Ja zazwyczaj przechowuję wszystkie dane maszyn wirtualnych KVM w katalogu /kvm/. W katalogu /kvm/ tworzę 2 podkatalogi disk/ i iso/. W podkatalogu disk/ przechowuję wszystkie pliki dysków twardych maszyn wirtualnych (VM). W podkatalogu iso/ przechowuję obrazy instalacyjne ISO różnych systemów operacyjnych (np. Ubuntu, Debian, CentOS itp.).
Możesz utworzyć te same struktury katalogów za pomocą następującego polecenia:
Tworzenie maszyny wirtualnej KVM:
W tym rozdziale pokażę, jak utworzyć maszynę wirtualną Ubuntu Server 20.04 LTS KVM.
Na początku należy pobrać obraz instalacyjny ISO Ubuntu Server 20.04 LTS. Aby zachować porządek we wszystkich plikach/danych maszyny wirtualnej, dobrze jest przechowywać obraz ISO w katalogu /kvm/iso/.
Więc przejdź do katalogu /kvm/iso/ za pomocą następującego polecenia:
Możesz pobrać obraz ISO Ubuntu Server 20.04 LTS obraz ISO z oficjalnej strony Ubuntu za pomocą następującego polecenia:
wget powinien rozpocząć pobieranie obrazu ISO Ubuntu Server 20.04 LTS. 04 \
–ram 1024 \
–disk /kvm/disk/server-01.img,device=disk,bus=virtio,size=10,format=qcow2 \
–graphics vnc,listen=0.0.0.0 \
–noautoconsole \
–hvm \
–cdrom /kvm/iso/ubuntu-20.04.1-live-server-amd64.iso \
–boot cdrom,hd
Nazwa maszyny wirtualnej będzie brzmiała server-01.
System operacyjny, który będziemy instalować to linux.
Wariant systemu operacyjnego to ubuntu20.04 (Ubuntu 20.04 LTS).
Wartości typu OS i wariantu OS nie są losowe. Możesz znaleźć typ systemu operacyjnego i wariant systemu operacyjnego dla żądanej dystrybucji Linuksa za pomocą polecenia osinfo-query. Jak widać, dla Ubuntu 20.04 LTS, typ systemu operacyjnego w linux i wariant systemu operacyjnego jest ubuntu20.04.
Jeśli nie masz polecenia osinfo-query dostępnego na swoim komputerze, możesz je zainstalować za pomocą następującego polecenia:
Pamięć RAM (Random Access Memory) maszyny wirtualnej będzie wynosić 1024 MB (megabajty).
Dysk wirtualny maszyny wirtualnej zostanie zapisany w pliku /kvm/disk/server-01.img. Wirtualny dysk ma rozmiar około 10 GB, a jego format to QCOW2 (QEMU Copy-On-Write v2)
Maszyna wirtualna będzie dostępna za pośrednictwem protokołu zdalnego pulpitu VNC (Virtual Network Computing), a serwer VNC będzie nasłuchiwał na wszystkich dostępnych interfejsach sieciowych skonfigurowanych na Twoim Ubuntu 20.04 LTS KVM host.
Ubuntu 20.04 LTS KVM host nie będzie automatycznie próbował połączyć się z maszyną wirtualną po jej utworzeniu. Maszyna wirtualna będzie nadal działać w tle.
Użyj pełnej wirtualizacji dla maszyny wirtualnej. Dzięki temu maszyny wirtualne będą działać lepiej.
Użyj obrazu ISO Ubuntu Server 20.04 LTS, który właśnie pobraliśmy jako wirtualny CD/DVD ROM maszyny wirtualnej i użyliśmy do instalacji Ubuntu Server 20.04 LTS na maszynie wirtualnej.
Ustawiamy kolejność uruchamiania maszyny wirtualnej. Pierwszym wpisem startowym jest wirtualny CD/DVD ROM, a następnie wirtualny dysk twardy. Tak więc maszyna wirtualna będzie mogła uruchomić się z obrazu ISO Ubuntu Server 20.04 LTS i zainstalować Ubuntu Server 20.04 LTS na dysku twardym.
To w zasadzie wszystkie opcje potrzebne do utworzenia maszyny wirtualnej KVM.
Po uruchomieniu polecenia virt-install program KVM powinien rozpocząć tworzenie maszyny wirtualnej. Może to chwilę potrwać w zależności od konfiguracji maszyny wirtualnej.
W tym momencie maszyna wirtualna KVM powinna zostać utworzona.
Listowanie maszyn wirtualnych KVM:
Po utworzeniu maszyny wirtualnej KVM można ją wylistować, wykonując następujące polecenie:
Polecenie powinno wyświetlić wszystkie posiadane maszyny wirtualne KVM. W tej chwili mam tylko 1 maszynę wirtualną server-01. To jest ta, którą właśnie utworzyłem. Jak widać, maszyna wirtualna server-01 jest uruchomiona. Można się z nią połączyć za pomocą dowolnego klienta VNC.
Połączenie z maszynami wirtualnymi KVM zdalnie za pomocą VNC:
W tym rozdziale pokażę, jak połączyć się zdalnie z maszyną wirtualną KVM za pomocą VNC.
Numer portu VNC maszyny wirtualnej KVM server-01 można znaleźć za pomocą następującego polecenia:
Jak widać, numer portu VNC maszyny wirtualnej server-01 to 0.
Port 0 oznacza port 5900. Analogicznie port 1 oznacza port 5901 i tak dalej.
Teraz znajdź adres IP hosta KVM Ubuntu 20.04 LTS za pomocą następującego polecenia:
W moim przypadku adres IP to 192.168.20.131. Dla Ciebie będzie on inny. Upewnij się więc, że od teraz zastąpisz go swoim.
Otwórz dowolnego klienta VNC i połącz się z adresem 192.168.20.131:0.
Kliknij na Kontynuuj.
Powinieneś być połączony z wyświetlaczem maszyny wirtualnej KVM Server-01, jak widać na poniższym zrzucie ekranu.
Teraz można zainstalować żądany system operacyjny na maszynie wirtualnej.
W moim przypadku zainstaluję system operacyjny Ubuntu Server 20.04 LTS na maszynie wirtualnej.
Ubuntu Server 20.04 LTS jest zainstalowany na maszynie wirtualnej w tym momencie. Uruchommy ponownie maszynę wirtualną.
Naciśnij <Enter>, gdy zobaczysz ten komunikat.
Maszyna wirtualna Server-01 KVM powinna zostać automatycznie wyłączona, jak widać na poniższym zrzucie ekranu.
Uruchom maszynę wirtualną Server-01 KVM za pomocą następującego polecenia:
Maszyna wirtualna Server-01 powinna zostać uruchomiona.
Teraz można połączyć się z maszyną wirtualną server-01 z klienta VNC, tak jak poprzednio. Jak widać, wyświetlany jest ekran logowania Ubuntu Server 20.04 LTS.
Możesz się zalogować i uruchomić dowolne polecenie.
Usuwanie maszyn wirtualnych KVM:
Maszynę wirtualną KVM można również bardzo łatwo usunąć za pomocą LibVirt.
Jak widać, na moim hoście Ubuntu 20.04 LTS KVM działają 2 maszyny wirtualne KVM (server-01 i server-02). Usuńmy maszynę wirtualną KVM server-02.
Jak widać, maszyna wirtualna KVM server-02 jest uruchomiona. Przed jej usunięciem należy ją zatrzymać.
Aby wymusić zatrzymanie maszyny wirtualnej Server-02 KVM, wykonaj następujące polecenie:
Jak widać, maszyna wirtualna server-02 jest wyłączona.
Maszynę wirtualną server-02 i wszystkie podłączone do niej wirtualne dyski twarde można trwale usunąć za pomocą następującego polecenia:
Jak widać, maszyna wirtualna server-02 nie jest już dostępna.
Issue#1: Fixing cpu->kvm_msr_buf->nmsrs Assertion Error
Podczas tworzenia maszyny wirtualnej KVM w Ubuntu 20.04 LTS może pojawić się następujący komunikat o błędzie. Jest to błąd jądra. Zazwyczaj dzieje się tak, gdy użytkownik uruchamia KVM wewnątrz innej maszyny wirtualnej. Ja uruchamiam KVM wewnątrz maszyny wirtualnej VMware. Dlatego, jak sądzę, otrzymałem ten błąd. Łatwo go naprawić.
Utwórz nowy plik /etc/modprobe.d/qemu-system-x86.conf za pomocą następującego polecenia:
Dodaj następujące linie w pliku, jeśli używasz procesora AMD.
options kvm ignore_msrs=1
Dodaj następujące linie w pliku, jeśli używasz procesora Intel.
options kvm ignore_msrs=1
Gdy skończysz, naciśnij <Ctrl> + X a następnie Y i <Enter> aby zapisać plik /etc/modprobe.d/qemu-system-x86.conf.
Następnie uruchom ponownie komputer za pomocą następującego polecenia, aby zmiany zaczęły obowiązywać.
Twój problem powinien zostać rozwiązany.
Podsumowanie:
W tym artykule pokazałem, jak zainstalować KVM na Ubuntu 20.04 LTS i tworzyć maszyny wirtualne KVM za pomocą LibVirt. Pokazałem również, jak usuwać maszyny wirtualne KVM. To powinno pomóc w rozpoczęciu pracy z wirtualizacją KVM w systemie Linux.
.