Wyszukiwanie w witrynie

Jak zainstalować KVM na CentOS/RHEL 8


Maszyna wirtualna oparta na jądrze (w skrócie KVM) to de facto standardowe rozwiązanie do wirtualizacji o otwartym kodzie źródłowym, które jest ściśle zintegrowane z Linuksem. Jest to ładowalny moduł jądra, który zamienia Linuksa w hypervisor typu 1 (bare-metal), który tworzy wirtualną platformę operacyjną używaną do uruchamiania maszyn wirtualnych (VM).

W KVM każda VM jest procesem Linuksa zaplanowanym i zarządzanym przez jądro oraz posiadającym prywatny, zwirtualizowany sprzęt (tj. procesor, kartę sieciową, dysk itp.). Obsługuje także wirtualizację zagnieżdżoną, która umożliwia uruchomienie maszyny wirtualnej wewnątrz innej maszyny wirtualnej.

Niektóre z jego kluczowych funkcji obejmują obsługę szerokiej gamy platform sprzętowych obsługiwanych przez system Linux (sprzęt x86 z rozszerzeniami wirtualizacji (Intel VT lub AMD-V)), zapewnia zwiększone bezpieczeństwo i izolację maszyn wirtualnych przy użyciu zarówno SELinux i bezpieczną wirtualizację (sVirt), dziedziczy funkcje zarządzania pamięcią jądra i obsługuje migrację zarówno w trybie offline, jak i w czasie rzeczywistym (migracja działającej maszyny wirtualnej pomiędzy hostami fizycznymi).

W tym artykule dowiesz się, jak zainstalować wirtualizację KVM, tworzyć i zarządzać maszynami wirtualnymi w CentOS 8 i RHEL 8 Linux.

Warunki wstępne

  1. Świeża instalacja serwera CentOS 8
  2. Świeża instalacja serwera RHEL 8
  3. Subskrypcja RedHat włączona na serwerze RHEL 8

Dodatkowo upewnij się, że Twoja platforma sprzętowa obsługuje wirtualizację, uruchamiając następujące polecenie.

grep -e 'vmx' /proc/cpuinfo		#Intel systems
grep -e 'svm' /proc/cpuinfo		#AMD systems

Sprawdź także, czy moduły KVM są załadowane w jądrze (domyślnie powinny być).

lsmod | grep kvm

Oto przykładowe dane wyjściowe systemu testowego opartego na procesorze Intel:

W poprzedniej serii przewodników KVM pokazaliśmy, jak tworzyć maszyny wirtualne w systemie Linux przy użyciu KVM (maszyna wirtualna oparta na jądrze), gdzie pokazaliśmy, jak tworzyć maszyny wirtualne i zarządzać nimi za pomocą narzędzia GUI virt-manager (które jest obecnie przestarzały zgodnie z dokumentacją RHEL 8). W tym przewodniku zastosujemy inne podejście, użyjemy konsoli internetowej Cockpit.

Krok 1: Skonfiguruj konsolę internetową kokpitu w CentOS 8

1. Kokpit to łatwy w obsłudze, zintegrowany i rozszerzalny interfejs sieciowy do administrowania serwerem Linux w przeglądarce internetowej. Umożliwia wykonywanie zadań systemowych, takich jak konfigurowanie sieci, administrowanie pamięcią masową, tworzenie maszyn wirtualnych i sprawdzanie dzienników za pomocą myszy. Wykorzystuje zwykłe loginy i uprawnienia użytkowników systemu, ale obsługiwane są również inne metody uwierzytelniania.

Jest fabrycznie zainstalowany i włączony w świeżo zainstalowanym systemie CentOS 8 i RHEL 8. Jeśli nie masz go zainstalowanego, zainstaluj go za pomocą następującego polecenia dnf. Aby zarządzać maszynami wirtualnymi opartymi na Libvirt, należy zainstalować rozszerzenie Cockpit-machines.

dnf install cockpit cockpit-machines

2. Po zakończeniu instalacji pakietu uruchom gniazdo kokpitu, włącz automatyczne uruchamianie przy starcie systemu i sprawdź jego status, aby upewnić się, że działa.

systemctl start cockpit.socket
systemctl enable cockpit.socket
systemctl status cockpit.socket

3. Następnie dodaj usługę kokpit do zapory systemowej, która jest domyślnie włączona, za pomocą polecenia firewall-cmd i ponownie załaduj konfigurację zapory, aby zastosować nowe zmiany.

firewall-cmd --add-service=cockpit --permanent
firewall-cmd --reload

4. Aby uzyskać dostęp do konsoli internetowej kokpitu, otwórz przeglądarkę internetową i użyj poniższego adresu URL do nawigacji.

https://FQDN:9090/
OR
https://SERVER_IP:9090/

Kokpit korzysta z certyfikatu z podpisem własnym, aby włączyć HTTPS. Po prostu kontynuuj połączenie, gdy pojawi się ostrzeżenie z przeglądarki. Na stronie logowania użyj poświadczeń konta użytkownika serwera.

Krok 2: Instalacja wirtualizacji KVM CentOS 8

5. Następnie zainstaluj moduł wirtualizacji i inne pakiety wirtualizacji w następujący sposób. Pakiet virt-install zapewnia narzędzie do instalowania maszyn wirtualnych z poziomu wiersza poleceń, a virt-viewer służy do przeglądania maszyn wirtualnych.

dnf module install virt 
dnf install virt-install virt-viewer

6. Następnie uruchom polecenie virt-host-validate, aby sprawdzić, czy komputer-host jest skonfigurowany do uruchamiania sterowników hypervisora libvirt.

virt-host-validate

7. Następnie uruchom demona libvirtd (libvirtd) i włącz go, aby uruchamiał się automatycznie przy każdym uruchomieniu. Następnie sprawdź jego status, aby potwierdzić, że działa.


systemctl start libvirtd.service
systemctl enable libvirtd.service
systemctl status libvirtd.service

Krok 3: Skonfiguruj mostek sieciowy (przełącznik sieci wirtualnej) za pośrednictwem Kokpitu

8. Teraz utwórz most sieciowy (wirtualny przełącznik sieciowy), aby zintegrować maszyny wirtualne z tą samą siecią, co host. Domyślnie po uruchomieniu demona libvirtd aktywuje on domyślny interfejs sieciowy virbr0, który reprezentuje wirtualny przełącznik sieciowy działający w trybie NAT.

Na potrzeby tego przewodnika utworzymy interfejs sieciowy w trybie mostkowym o nazwie br0. Umożliwi to dostęp do maszyn wirtualnych w sieciach hostów.

W głównym interfejsie kokpitu kliknij Sieć, a następnie kliknij Dodaj most, jak pokazano na poniższym zrzucie ekranu.

9. W wyskakującym oknie wprowadź nazwę mostu i wybierz urządzenia podrzędne mostu lub urządzenia portowe (np. enp2s0 reprezentujące interfejs Ethernet), jak pokazano na poniższym zrzucie ekranu. Następnie kliknij Zastosuj.

10. Teraz, gdy spojrzysz na listę Interfejsów, nowy most powinien się tam pojawić, a po kilku sekundach interfejs Ethernet powinien zostać wyłączony (zdjęty).

Krok 4: Tworzenie maszyn wirtualnych i zarządzanie nimi za pośrednictwem konsoli internetowej Cockpit

11. W głównym interfejsie kokpitu kliknij opcję Maszyny wirtualne, jak pokazano na poniższym zrzucie ekranu. Na stronie Maszyny wirtualne kliknij Utwórz maszynę wirtualną.

12. Wyświetli się okno z opcjami utworzenia nowej VM. Wprowadź połączenie, nazwę (np. ubuntu18.04), typ źródła instalacji (w systemie testowym obrazy ISO przechowujemy w puli pamięci, tj. /var/lib/libvirt/ obrazy/), źródło instalacji, pamięć, rozmiar, pamięć, jak pokazano na poniższym obrazku. Dostawca systemu operacyjnego i system operacyjny powinny zostać wybrane automatycznie po wprowadzeniu źródła instalacji.

Zaznacz także opcję natychmiastowego uruchomienia VM, a następnie kliknij Utwórz.

13. Po kliknięciu Utwórz w poprzednim kroku, VM powinna zostać automatycznie uruchomiona i powinna zostać uruchomiona przy użyciu dostarczonego obrazu ISO. Kontynuuj instalację systemu operacyjnego gościa (w naszym przypadku Ubuntu 18.04).

Jeśli klikniesz Interfejsy sieciowe VM, źródło sieciowe powinno wskazywać nowo utworzony interfejs sieciowy mostu.

A podczas instalacji, na etapie konfiguracji interfejsu sieciowego, powinieneś zauważyć, że interfejs VMs Ethernet otrzymuje adres IP z serwera DHCP hosta sieć.

Pamiętaj, że musisz zainstalować pakiet OpenSSH, aby uzyskać dostęp do systemu gościa przez SSH z dowolnego komputera w sieci hosta, jak opisano w ostatniej sekcji.

14. Po zakończeniu instalacji systemu gościa uruchom ponownie VM, następnie przejdź do Dyski i odłącz/usuń urządzenie cdrom znajdujące się pod dyskami VM . Następnie kliknij Uruchom, aby uruchomić VM.

15. Teraz w sekcji Konsole możesz zalogować się do systemu gościa przy użyciu konta użytkownika utworzonego podczas instalacji systemu operacyjnego.

Krok 5: Dostęp do systemu operacyjnego gościa maszyny wirtualnej przez SSH

16. Aby uzyskać dostęp do nowo zainstalowanego systemu gościa z sieci hosta przez SSH, uruchom następujące polecenie (zamień 10.42.0.197 na adres IP gościa).

ssh [email 

17. Aby zamknąć, ponownie uruchomić lub usunąć maszynę wirtualną, kliknij ją na liście maszyny wirtualne, a następnie użyj przycisków podświetlonych na poniższym zrzucie ekranu.

To wszystko na teraz! W tym przewodniku pokazaliśmy, jak zainstalować pakiety wirtualizacji KVM oraz tworzyć i zarządzać maszynami wirtualnymi za pośrednictwem konsoli internetowej kokpitu. Aby uzyskać więcej informacji, zobacz: Pierwsze kroki z wirtualizacją w RHEL 8.