Strona główna
» LINUX
»
Konfiguracja wirtualizacji SLES 15 KVM i przewodnik automatycznego uruchamiania maszyn wirtualnych
Konfiguracja wirtualizacji SLES 15 KVM i przewodnik automatycznego uruchamiania maszyn wirtualnych
SUSE Linux Enterprise Server 15 może pełnić funkcję hosta KVM z hiperwizorem QEMU/KVM i pakietem zarządzającym libvirt. Niniejszy przewodnik został napisany jako praktyczne źródło informacji dla administratorów, którzy chcą powtarzalnej konfiguracji: potwierdzenia wirtualizacji sprzętowej, instalacji obsługiwanych komponentów, wyboru sieci i pamięci masowej, utworzenia gościa, włączenia automatycznego uruchamiania dla każdej maszyny wirtualnej oraz weryfikacji, czy gość powraca po ponownym uruchomieniu hosta.
Poniższe polecenia i ścieżki menu zostały sprawdzone pod kątem zgodności z dokumentem SUSE Linux Enterprise Server 15 SP7 Virtualization Guide , którego aktualna publikacja nosi datę 10 września 2026 r. Wcześniejsze pakiety Service Pack dla systemu SLES 15 są podobne, ale wersje pakietów, domyślne ustawienia demonów i dostępne profile gości mogą się różnić. Firma SUSE zaleca zarządzanie obsługiwaną wirtualizacją za pośrednictwem biblioteki libvirt zamiast łączenia biblioteki libvirt z bezpośrednim zarządzaniem specyficznym dla hiperwizora.
Szybka lista kontrolna planowania
Przedmiot
Co zdecydować lub zweryfikować
Procesor
Wirtualizacja sprzętowa jest obsługiwana i włączana w oprogramowaniu układowym: Intel VT-x lub AMD-V w systemach x86.
Zasoby hosta
Pozostaw wystarczającą ilość mocy obliczeniowej procesora, pamięci RAM, miejsca na dysku i możliwości wejścia/wyjścia dla samego systemu SLES i każdego gościa.
Sieciowanie
Użyj mostu, gdy goście potrzebują normalnego dostępu do sieci LAN za pośrednictwem warstwy 2; użyj wirtualnej sieci libvirt, gdy lepiej sprawdzi się NAT lub izolacja trasowana.
Składowanie
Wybierz miejsce, w którym będą przechowywane obrazy dysków gościnnych i upewnij się, że zapasowy system plików lub pula pamięci masowej ma wystarczającą ilość wolnego miejsca.
Kierownictwo
Konsekwentnie korzystaj z narzędzi libvirt, takich jak virsh, virt-install i Virtual Machine Manager.
Zachowanie rozruchu
Automatyczne uruchamianie konfiguruje się osobno dla każdej trwałej maszyny wirtualnej, a nie za pomocą jednego globalnego przełącznika dla wszystkich gości.
1. Sprawdź, czy host może uruchomić KVM
KVM wymaga obsługi wirtualizacji procesora i ustawień oprogramowania układowego, które udostępniają tę obsługę systemowi operacyjnemu. Na hoście x86, pierwszym szybkim sprawdzeniem jest sprawdzenie flagi procesora Intel vmxlub AMD svm. Pakiet klienta libvirt również udostępnia funkcję virt-host-validate, która wykonuje szerszy zestaw testów hosta.
Dodatnia liczba flag CPU jest przydatna, ale nie jest to jedyny wymóg. Jeśli weryfikacja zgłosi, że KVM jest niedostępny, należy najpierw sprawdzić ustawienia BIOS-u lub UEFI, zwłaszcza na nowo skonfigurowanym serwerze. Dokumentacja hosta KVM firmy SUSE stwierdza, że wirtualizacja musi być obsługiwana przez procesor i włączona w BIOS-ie/oprogramowaniu sprzętowym. Należy również pamiętać, że zagnieżdżona wirtualizacja to osobna funkcja; w systemie SLES 15 SP7 firma SUSE dokumentuje zagnieżdżoną wirtualizację KVM jako wersję zapoznawczą technologii, a nie jako domyślną funkcję obsługiwaną w środowisku produkcyjnym.
Widok terminala etapu preflight: przed utworzeniem jakichkolwiek maszyn wirtualnych sprawdzane są flagi wirtualizacji procesora i walidacja hosta.
2. Zainstaluj serwer KVM i narzędzia do zarządzania libvirt
Najbardziej zgodną ze wsparciem ścieżką jest YaST. Otwórz YaST > Wirtualizacja > Zainstaluj hiperwizor i narzędzia , wybierz Serwer KVM , a następnie wybierz Narzędzia KVM , jeśli chcesz korzystać ze stosu zarządzania libvirt. SUSE dokumentuje yast2-vmpakiet jako moduł YaST używany w tej konfiguracji.
W celu automatyzacji wiersza poleceń, SLES grupuje tę samą funkcjonalność w schematy instalacji. Zainstaluj zarówno schemat hosta, jak i schemat zarządzania:
Wzorzec kvm_serverinstaluje podstawowe środowisko hosta QEMU/KVM. kvm_toolsDodaje narzędzia oparte na bibliotece libvirt do zarządzania i monitorowania gości. Dokładna lista zależności zależy od pakietu Service Pack, dlatego instalacja udokumentowanych wzorców jest lepszym rozwiązaniem niż ręczne tworzenie listy pakietów, chyba że masz kontrolowany, minimalistyczny projekt hosta.
W YaST wybierz serwer KVM i narzędzia KVM, aby zainstalować hiperwizor i stos zarządzania libvirt.
3. Wybierz model sieci maszyn wirtualnych przed przeniesieniem ruchu produkcyjnego
SUSE opisuje most sieciowy jako domyślne i zalecane połączenie, gdy goście powinni łączyć się bezpośrednio z siecią LAN hosta. Most działa jak przełącznik warstwy 2: interfejs fizyczny hosta i wirtualne interfejsy maszyn wirtualnych uczestniczą w tym samym segmencie Ethernetu. Jest to zazwyczaj najwygodniejszy wybór dla maszyn wirtualnych infrastruktury, które potrzebują własnych adresów LAN, usług przychodzących, rezerwacji DHCP lub normalnej widoczności dla innych maszyn.
Sieć wirtualna libvirt jest często lepszym rozwiązaniem, gdy goście potrzebują izolacji lub prostego połączenia wychodzącego. NAT pozwala wielu gościom współdzielić adres zewnętrzny hosta, pozostając jednocześnie w prywatnej podsieci. Tryb routowany przekazuje ruch bez translacji adresów, ale wymaga odpowiedniego routingu w otaczającej sieci.
Jeśli host korzysta z usługi wicked, która w dokumentacji SUSE jest domyślną usługą zarządzania siecią na serwerach, utwórz most za pomocą YaST lub odpowiedniej konfiguracji wiersza poleceń. Systemy NetworkManager mogą korzystać z usługi nmcli. Zachowaj ostrożność na serwerach zdalnych: przeniesienie konfiguracji IP hosta na most może przerwać działanie SSH, jeśli zmiana jest nieprawidłowa. Zaplanuj okno konserwacji lub upewnij się, że masz dostęp do konsoli.
Przykład sieci mostkowanej z br0 podłączonym do fizycznego interfejsu Ethernet, odpowiedni, gdy goście potrzebują dostępu do sieci LAN warstwy 2.
4. Sprawdź, czy moduły jądra KVM są załadowane
Po instalacji sprawdź jądro KVM. Hosty Intel zazwyczaj używają kvm_intel; hosty AMD używają kvm_amd. Instrukcja konfiguracji hosta KVM firmy SUSE pokazuje ładowanie modułu specyficznego dla procesora i sprawdzanie go za pomocą lsmod.
Powinieneś zobaczyć kvmmoduł ogólny oraz moduł specyficzny dla procesora. Jeśli moduł się nie załaduje, nie kontynuuj, po prostu tworząc maszynę wirtualną w emulacji programowej. Najpierw sprawdź ponownie ustawienia wirtualizacji oprogramowania sprzętowego i zgodność hosta, chyba że emulacja wyłącznie programowa jest celowo włączona w Twój projekt.
Oczekiwane sprawdzenie modułu na hoście Intel pokazuje zarówno ogólny moduł KVM, jak i moduł KVM specyficzny dla procesorów Intel.
5. Sprawdź model demona libvirt używany przez Twój pakiet Service Pack
System SLES 15 SP7 domyślnie włącza modułowy model demona libvirt. W przypadku KVM głównym demonem hiperwizora jest virtqemud. Demony pomocnicze obsługują funkcje takie jak wirtualna sieć i pamięć masowa. SUSE nadal dokumentuje tradycyjne libvirtdwdrożenie monolityczne, ale nie należy włączać obu modeli arbitralnie.
Na domyślnym hoście KVM SP7 sprawdź demona QEMU:
systemctl status virtqemud.service
sudo systemctl enable --now virtqemud.service
Firma SUSE zaleca skonfigurowanie odpowiedniej usługi libvirt tak, aby uruchamiała się podczas rozruchu, gdy maszyny wirtualne są również skonfigurowane do automatycznego uruchamiania po uruchomieniu hosta. W przypadku starszej instalacji, która celowo korzysta z monolitycznej biblioteki libvirt, należy libvirtd.servicezamiast tego sprawdzić jej gniazda. Przed zmianą modelu demona na istniejącym hoście należy postępować zgodnie z udokumentowaną procedurą przejścia firmy SUSE i zatrzymać lub ewakuować gości.
W obecnej wersji SLES 15 SP7 należy sprawdzić modułową usługę virtqemud przed skorzystaniem z automatycznego uruchamiania maszyny wirtualnej podczas rozruchu hosta.
6. Przygotuj nośniki danych i instalacji
Przed utworzeniem gościa należy określić miejsce umieszczenia jego dysku wirtualnego i miejsce zamontowania obrazu instalacyjnego ISO. Ustawienia domyślne są wygodne dla małych, samodzielnych hostów, natomiast większe instalacje mogą korzystać z dedykowanych woluminów LVM, oddzielnych systemów plików, NFS, iSCSI lub innej pamięci masowej zarządzanej przez libvirt. Kluczową zasadą operacyjną jest unikanie cichego zapełniania głównego systemu plików hosta rosnącymi obrazami maszyn wirtualnych.
W przypadku gościa z kopią zapasową pliku sprawdź ilość wolnego miejsca przed utworzeniem dysku:
df -h /var/lib/libvirt/images
ls -lh /data/ISOs/
Jeśli używasz puli pamięci masowej libvirt, sprawdź ją virsh pool-list --alli upewnij się, że jest aktywna. W systemach produkcyjnych uwzględnij pamięć masową maszyn wirtualnych w monitorowaniu pojemności i projekcie kopii zapasowych, zamiast traktować obraz dysku jako nieprzejrzysty plik, który będzie się sam tworzył.
7. Utwórz maszynę wirtualną
Gościa można utworzyć graficznie za pomocą Menedżera maszyn wirtualnych lub z wiersza poleceń za pomocą virt-install. SUSE opisuje to virt-installjako narzędzie wiersza poleceń do tworzenia gości za pomocą libvirt. Jest ono szczególnie przydatne w przypadku powtarzalnych kompilacji i zdalnego administrowania.
W Menedżerze maszyn wirtualnych utwórz nową maszynę wirtualną, wybierz lokalny nośnik instalacyjny, wybierz system operacyjny gościa, przydziel pamięć i wirtualne procesory, wybierz pamięć masową, a następnie wybierz docelową sieć wirtualną. Poniższy ekran przedstawia przykładowy obraz ISO systemu SLES 15; użyj dokładnego obrazu instalacyjnego i profilu odpowiedniego dla posiadanego pakietu Service Pack.
Menedżer maszyn wirtualnych może utworzyć gościa z lokalnego nośnika ISO; wybierz odpowiedni obraz SLES 15 dla pakietu Service Pack, który zamierzasz zainstalować.
Porównywalny przykład wiersza poleceń wygląda następująco:
Dostosuj pamięć, liczbę procesorów, rozmiar dysku, ścieżkę ISO, źródło sieciowe, oprogramowanie układowe i opcje graficzne do swojego obciążenia. Jeśli używasz sieci NAT libvirt zamiast mostu, zastąp opcję mostu odpowiednią siecią wirtualną. Sprawdź obsługiwane systemy operacyjne gościa i wybrane urządzenia w dokumentacji wsparcia wirtualizacji SUSE, gdy ważne jest wsparcie produkcyjne.
Przepływ pracy virt-install definiuje nazwę gościa, pamięć RAM, wirtualne procesory (vCPU), dysk, nośnik instalacyjny i przyłącze sieciowe w jednym powtarzalnym poleceniu.
8. Włącz automatyczne uruchamianie maszyny wirtualnej
Automatyczne uruchamianie maszyn wirtualnych to właściwość biblioteki libvirt dla każdego stałego gościa. Dokumentacja SUSE wyraźnie wskazuje, że funkcja ta nie jest domyślnie włączona i należy ją włączać indywidualnie; nie ma pojedynczego globalnego przełącznika, który oznaczałby każdą maszynę wirtualną do automatycznego uruchomienia.
Włącz to dla gościa:
sudo virsh autostart sles15-vm
Sprawdź ustawienie:
sudo virsh dominfo sles15-vm | grep -i autostart
Aby później wyłączyć to zachowanie:
sudo virsh autostart --disable sles15-vm
W Menedżerze maszyn wirtualnych odpowiedni element sterujący znajduje się w obszarze Widok > Szczegóły > Opcje rozruchu gościa , gdzie można włączyć opcję Uruchom maszynę wirtualną podczas rozruchu hosta i zastosować zmianę.
Po włączeniu automatycznego uruchamiania virsh dominfo powinien zgłosić, że gość został skonfigurowany do automatycznego uruchamiania z usługą wirtualizacji hosta.
9. Przetestuj konfigurację zamiast zakładać, że autostart działa
Sensownym testem jest kontrolowany restart hosta w trakcie okna konserwacyjnego. Przed restartem zapisz aktualny stan i sprawdź, czy maszyna wirtualna jest trwała:
sudo virsh list --all
sudo virsh dominfo sles15-vm
Następnie zrestartuj hosta. Po ponownym uruchomieniu hosta sprawdź stan demona wirtualizacji i gościa:
systemctl is-active virtqemud.service
sudo virsh list --all
Jeśli wdrożenie korzysta z monolitycznej biblioteki libvirt, zastąp sprawdzanie usługi libvirtd. Automatycznie uruchomiona maszyna wirtualna powinna przejść na runningbez ręcznego virsh start. Sprawdź również usługę w gościu, a nie tylko stan maszyny wirtualnej. Działająca maszyna wirtualna może nadal mieć awarię aplikacji, brak konfiguracji sieciowej lub problem z odzyskiwaniem systemu plików.
Odniesienie do rozwiązywania problemów
Objaw
Prawdopodobny obszar do sprawdzenia
Przydatne polecenie
KVM niedostępny
Wirtualizacja oprogramowania sprzętowego wyłączona, nieobsługiwany procesor lub brakujący moduł jądra
virt-host-validate qemu
Maszyna wirtualna nie może nawiązać połączenia z siecią LAN
Członkostwo w moście, rozmieszczenie adresów IP hosta, sieć VLAN, zapora sieciowa lub polityka przełącznika
ip linkIbridge link
Definicja maszyny wirtualnej istnieje, ale nie można jej uruchomić
Ścieżka dysku, uprawnienia, pula pamięci masowej, XML lub wyczerpane zasoby
virsh start VMNAMEplus dzienniki dziennika
Maszyna wirtualna nie uruchamia się po ponownym uruchomieniu hosta
Flaga autostartu lub demon libvirt nie są włączone dla rozruchu hosta
Zachowanie gościnnego ACPI lub wyłączania systemu operacyjnego gościa
virsh shutdown VMNAME
SUSE ostrzega, że wymuszenie virsh destroyjest równoznaczne z nagłym odłączeniem zasilania i może spowodować uszkodzenie systemu plików gościa lub utratę danych. Przed użyciem maszyny wirtualnej w środowisku produkcyjnym należy przetestować prawidłowe wyłączanie i ponowne uruchamianie.
Czysta linia bazowa jest prosta: utrzymuj hosta na obsługiwanym pakiecie Service Pack SLES 15, zainstaluj udokumentowane wzorce kvm_serveri kvm_tools, konsekwentnie używaj biblioteki libvirt, świadomie wybieraj połączenie mostkowe lub z siecią wirtualną, przechowuj maszynę wirtualną w niedużym systemie plików głównych i oznaczaj za pomocą virsh autostart.
W przypadku systemu SLES 15 SP7 należy pamiętać o szczegółach dotyczących demonów, które łatwo przeoczyć: modułowe demony libvirt są domyślne, podobnie jak virtqemudusługa, którą zazwyczaj weryfikuje się pod kątem KVM, zamiast zakładać, że każdy obecny host jest skoncentrowany na starszym, monolitycznym serwerze libvirtd. To rozróżnienie ma znaczenie podczas diagnozowania maszyny wirtualnej, która jest poprawnie oznaczona do automatycznego uruchomienia, ale nadal nie pojawia się po ponownym uruchomieniu hosta.