Jak tworzyć i zarządzać wirtualnymi maszynami KVM z CLI

Jak tworzyć i zarządzać wirtualnymi maszynami KVM z CLI

Cel

Dowiedz się, jak tworzyć i zarządzać maszynami wirtualnymi KVM z wiersza poleceń

Wersje systemu operacyjnego i oprogramowania

  • System operacyjny: - Wszystkie dystrybucje Linux

Wymagania

  • Dostęp do root
  • Pakiety:
    • qemu -kvm - pakiet główny
    • libvirt - zawiera serwer libvirtd eksportujący obsługę wirtualizacji
    • libvirt -client - ten pakiet zawiera Virsh i inne narzędzia po stronie klienta
    • Virt -install - narzędzie do instalowania maszyn wirtualnych
    • Virt -Viewer - narzędzie do wyświetlania konsoli graficznej dla maszyny wirtualnej

Trudność

ŚREDNI

Konwencje

  • # - Wymaga podanych poleceń Linuksa, które można wykonać z uprawnieniami root
    bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
  • $ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Wstęp

Wiedza o tym, jak tworzyć i zarządzać maszynami wirtualnymi KVM z wiersza poleceń, może być bardzo przydatna w niektórych scenariuszach: na przykład podczas pracy na serwerach bezgłowych. Niemniej jednak możliwość pisania interakcji z maszynami wirtualnymi może znacznie poprawić naszą wydajność. W tym samouczku nauczysz się tworzyć, usuwać, klonować i zarządzać maszynami KVM za pomocą niewielu narzędzi.



Trochę terminologii

Zanim zaczniemy pracować, warto zdefiniować co Kvm I Qemu są i jak interakcje. Kvm oznacza Maszyna wirtualna jądra, i jest to moduł jądra Linux, który umożliwia programowi dostęp i korzystanie z możliwości wirtualizacji nowoczesnych procesorów, ujawniając interfejs /dev /kvm. Qemu jest zamiast tego oprogramowanie, które faktycznie wykonuje emulację systemu operacyjnego. Jest to emulator i wirtuator maszyny open source, które mogą korzystać Kvm Podczas uruchamiania naśladowanej maszyny z tą samą architekturą hosta.

Konfiguracja wstępna

Pierwszą rzeczą, którą musimy zrobić, to sprawdzić, czy procesor, którego używamy, ma obsługę wirtualizacji. O ile nie bierzesz się na bardzo starej maszynie, z pewnością tak będzie, ale aby go zweryfikować, po prostu uruchamiamy:

$ cat /proc /cpuinfo

Przewiń w dół wyjście powyższego polecenia, aż zobaczysz listę „flag” procesora: wśród nich powinieneś zobaczyć SVM Jeśli używasz procesora AMD, lub VMX Jeśli dostawcą procesora jest Intel.

Drugą rzeczą, którą musimy zrobić, jest upewnienie się, że potrzebne moduły jądra zostały załadowane, aby to sprawdzić, uruchamiamy:

# lsmod | GREP KVM KVM_INTEL 200704 0 KVM 598016 1 KVM_INTEL IRQBYPASS 16384 1 kVM 


Biegam na procesor Intel, dlatego oprócz kvm moduł, także kvm_intel jeden został załadowany. Jeśli używasz procesora AMD, kvm_amd Zamiast tego moduł zostanie załadowany. Jeśli moduły nie są ładowane automatycznie, możesz spróbować je załadować ręcznie za pomocą modprobe Komenda:

# modprobe kvm_intel

Wreszcie, musimy rozpocząć libvirtd Daemon: Poniższe polecenie oba umożliwia go w czasie rozruchu i rozpoczyna natychmiast:

# Systemctl Enable -teraz libvirtd

Utwórz nową maszynę wirtualną

Teraz, kiedy zainstalowaliśmy i rozpoczęliśmy libvirtd usługa, możemy użyć Virt-install polecenie konfiguracji naszej maszyny wirtualnej. Składnia programu jest naprawdę prosta. Poniższe polecenie Linux musi być wykonane jako root lub, jeśli chcesz go uruchomić jako normalny użytkownik, jako członek kvm Grupa. Składnia programu jest następująca:

um.0.0-AMD64-NETINST.ISO \--Disk Rozmiar = 5 \ --os-variant = debian8 

Przeanalizujmy powyższe polecenie:

Przede wszystkim użyliśmy --nazwa Opcja: Jest to obowiązkowe i służy do przypisania nazwy do nowej maszyny wirtualnej.

Następną opcją jest --VCPU jeden. Używamy go, aby określić liczbę Virtual Proces Aby skonfigurować dla gościa.

--pamięć Opcja służy do wyboru ilości pamięci zarezerwowanej dla maszyny gościa w MIB I --CDROM Pozwala nam określić ścieżkę do pliku lub urządzenia do użycia jako wirtualnej płyty CD-ROM: może to być obraz ISO, urządzenie CDROM lub adres URL, z którego można uzyskać dostęp do obrazu BOOT ISO.



--dysk Flaga służy do konfigurowania pamięci multimedialnej dla gościa. Na przykład można określić różne opcje oddzielone przecinkami, na przykład: rozmiar który służy do określenia wielkości dysku wirtualnego w GB i ścieżka który służy do określenia ścieżki do użycia na dysku (zostanie on utworzony, jeśli już nie istnieje). Jeśli te opcje są określone, musisz upewnić się, że ścieżka docelowa jest dostępna i ma odpowiedni kontekst Selinux (aby dowiedzieć się więcej o Selinux, możesz przeczytać ten artykuł).

Jeśli ścieżka opcja nie jest określona, ​​dysk zostanie utworzony w $ Home/.lokalny/share/libvirt/obrazy Jeśli polecenie jest wykonywane jako normalny użytkownik (członek grupy KVM) lub w/var/lib/libvirt/obrazy, jeśli uruchamia je jako root.

Następnie minęliśmy --OS-VARIANT opcja. Chociaż nie jest to obowiązkowe, jest wysoce zalecane, ponieważ może poprawić wydajność maszyny wirtualnej. Opcja spróbuje dostroić gościa do konkretnej wersji systemu operacyjnego. Jeśli opcja nie zostanie przekazana, program będzie próbował automatycznie wykryć prawidłową wartość z nośnika instalacyjnego. Aby uzyskać listę wszystkich obsługiwanych systemów, możesz uruchomić:

$ Osinfo-Query OS

Jeśli wszystko poszło dobrze i Virt-Viewer Pakiet jest zainstalowany, pojawi się okno pokazujące instalatora systemu operacyjnego gościa.

Narzędzie Virsh

Narzędzie Virsh można wykorzystać do interakcji z maszynami wirtualnymi. Na przykład, powiedzmy, że chcesz wymienić wszystkich skonfigurowanych gości, używając Virsh, możesz po prostu uruchomić:

# lista Virsh -All

Wyjście pokaże ID, nazwa I państwo ze wszystkich skonfigurowanych gości, niezależnie od tego, czy działają, czy nie.

Ale co, jeśli chcesz zmienić parametry maszyny gościa? Możesz użyć Virsh Aby wykonać to zadanie, na przykład:

# virsh edytuj linuxconfig-vm

Oto zrzut ekranu wyjścia polecenia:



Jak widać, dane wyjściowe jest reprezentacją XML właściwości maszyny wirtualnej lub, za pomocą terminologii Virsha, a domena. Jeśli chcesz zmienić, na przykład liczbę VCPU, wystarczy znaleźć odpowiedni znacznik i zmienić wartość. W takim przypadku mamy:

1

Chcemy dodać 1 VCPU, więc zmienimy to na:

2

Wszystko, co musimy teraz zrobić, to po prostu ponownie uruchomić maszynę wirtualną dla zastosowania ustawień:

# Virsh ponownie uruchomić LinuxConfig-VM

Jeśli teraz uruchomimy LSCPU W konsoli gości powinniśmy zobaczyć zwiększoną liczbę procesorów:

Virsh Dowództwo można również użyć do wykonywania innych wspólnych operacji: na przykład, Zamknięcie Virsh można użyć do zamknięcia gościa, Virsh niszczy jest odpowiednikiem zamknięcia siły brutalnej (dlatego może być niebezpieczne) i Virsh nie zdefiniuj może być używany do usunięcia maszyny do gościa (w celu niezdefiniowania domeny).

Autostart maszyna wirtualna podczas rozruchu

Możesz skorzystać z Virsh polecenie również, jeśli chcesz, aby niektórzy goście zostali uruchomione automatycznie, gdy system hosta uruchamia się: składnia, znowu jest bardzo intuicyjna:

# Virsh Autostart Linuxconfig-VM

Aby wyłączyć tę opcję, uruchamiamy:

# Virsh Autostart-Disable Linuxconfig-VM


Klonowanie gościa

Inne narzędzie, Virt-klon może być używany do utworzenia nowej maszyny wirtualnej, klonując istniejącą. Aby kontynuować, musimy najpierw upewnić się, że gość, który został sklonowany, spadł, niż bierzemy:

Virt-clone \ --original = Linuxconfig-vm \ --name = LinuxConfig-Vm-clone \--file =/var/lib/libvirt/images/LinuxConfig-vm.QCOW2 

To, co tu mamy, jest bardzo proste do zrozumienia: określiliśmy gość, który zostałby sklonowany za pomocą --oryginalny opcja i nazwa nowego gościa za pomocą --nazwa Jakbyśmy instaluwali go od zera. Z --plik Zamiast tego odwołujemy się do wszystkich wirtualnych dysków twardych powiązanych z oryginalnym gościem, który chcemy sklonować. Program wykona swoją pracę i, jeśli się powiedzie, utworzy nową domenę nazwaną Linuxconfig-VM-klon. Wiemy już, jak to zweryfikować:

# Lista Virsh-wszystko to Stan nazwy ------------------------------------- ------------LinuxConfig-VM wyłączenie-wyłączenie LinuxConfig-VM-Clone 

Końcowe przemyślenia

W tym samouczku skonfigurowaliśmy nową wirtualną maszynę i widzieliśmy, jak z nią wchodzić w interakcje. Opcje określone w czasie tworzenia, to tylko minimalna potrzebna do konfiguracji roboczej. Można użyć wielu innych opcji do dostosowania kilku aspektów maszyny gościnnej i są one naprawdę dobrze opisane w Virt-install Manpage. Jak zawsze najlepszą możliwą radą jest: przeczytaj instrukcję.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Lista przeglądarki PDF na Ubuntu 22.04 JAMMY Jellyfish Linux
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Jak tworzyć migawki gości Qemu/KVM
  • Najlepszy czytnik PDF dla Linux
  • Jak uruchomić Raspberry Pi OS w wirtualnej maszynie z…
  • Rzeczy do zainstalowania na Ubuntu 22.04
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze