Home
» Hoe
»
SLES 15 KVM-configuratie: Geselecteerde VM's automatisch laten opstarten bij het opstarten
SLES 15 KVM-configuratie: Geselecteerde VM's automatisch laten opstarten bij het opstarten
Om een SLES 15 KVM virtuele machine na een herstart van de host automatisch te laten starten, installeer je de KVM- en libvirt-beheercomponenten, markeer je de virtuele machine voor automatisch starten met de optie `autostart` virsh autostart VM_NAMEen zorg je ervoor dat de actieve libvirt-daemon van de host tijdens het opstarten wordt gestart. Automatisch starten is een instelling per virtuele machine; het installeren van KVM of het starten van libvirt alleen zorgt er niet voor dat elke virtuele machine automatisch start.
De onderstaande opdrachten volgen de SUSE SLES 15 SP7 Virtualization Guide. Eerdere servicepacks kunnen afwijken, dus controleer de bijbehorende handleiding en de geïnstalleerde systemd-units voordat u serviceopdrachten uitvoert.
Heb je een KVM-server, KVM-tools of beide nodig?
Voor een host die virtuele machines via libvirt uitvoert en beheert, installeert u zowel de KVM-server als de KVM-tools. SUSE definieert de KVM-server als de minimale QEMU/KVM-omgeving en de KVM-tools als de op libvirt gebaseerde beheerstack, inclusief de virshhier gebruikte workflow.
Controleer vóór de installatie of de processor en firmware van de machine hardwarevirtualisatie ondersteunen. SUSE beschrijft de CPU-ondersteuning en de vereiste software in de SLES 15 SP7 Virtualization Guide . Als de validatie een hardware- of configuratieprobleem meldt, los dit dan op in de firmware of de hostconfiguratie voordat u een VM probeert te definiëren; de autostart-vlag kan geen compensatie bieden voor een host die geen KVM kan uitvoeren.
Voer het hulpprogramma voor hostvalidatie uit voordat u virtuele machines aanmaakt; de terminal toont de opdracht, niet een testresultaat.
Hoe installeer je de SLES 15 KVM-hoststack?
Deze optionele Zypper-route installeert de gedocumenteerde KVM-server en libvirt-beheerpatronen.
Open YaST op een reeds geïnstalleerde server en kies Virtualisatie > Hypervisor en tools installeren . Als de YaST-virtualisatiemodule ontbreekt, geeft SUSE aan dat deze door het yast2-vmpakket wordt meegeleverd.
Selecteer de KVM-server en KVM-tools en accepteer vervolgens de pakketwijzigingen. YaST kan aanbieden om een netwerkbrug te configureren. Kies deze optie alleen als deze past bij het netwerkontwerp van de host. Het wijzigen van het netwerk van een productiehost kan de toegang op afstand verstoren, dus plan en schedule wijzigingen aan de netwerkbrug voordat u ze toepast.
Nadat de installatie is voltooid, maakt u een gastbesturingssysteem aan of importeert u er een en zorgt u ervoor dat dit is gedefinieerd als een persistent libvirt-domein. De handleiding van SUSE vermeldt dat de KVM-installatie via YaST geen herstart van de host vereist.
Als alternatief beschrijft SUSE de installatie van de patronen met Zypper: sudo zypper install -t pattern kvm_server kvm_tools. Kies een installatiemethode en controleer de pakkettransactie voordat u deze bevestigt. Als de host helemaal opnieuw wordt geïnstalleerd, installeert en configureert de systeemrol KVM Virtualization Host de juiste selectie tijdens de SLES-installatie.
Hoe kan ik een virtuele machine markeren zodat deze automatisch opstart?
Geef eerst de domeinen weer via de libvirt-verbinding van het systeem, zodat u de exacte gastnaam kunt gebruiken:
Maak een lijst van alle domeinen op de systeemverbinding en kopieer de exacte VM-naam voordat u de automatische opstartfunctie instelt.
sudo virsh -c qemu:///system list --all
Deze --alloptie omvat ook virtuele machines die momenteel zijn uitgeschakeld. Selecteer de gewenste permanente virtuele machine in de uitvoer. Schakel vervolgens automatisch opstarten voor dat domein in:
Vervang VM_NAME door de exacte libvirt-domeinnaam van de gast om de automatische opstartfunctie in te schakelen.
sudo virsh autostart VM_NAME
Om de instelling later ongedaan te maken, voert u het commando uit sudo virsh autostart --disable VM_NAME. Dit is geen herstel naar opgeslagen geheugen: de virtuele machine start normaal op vanaf de geconfigureerde schijven nadat de host is opgestart. Het selecteert ook niet automatisch alle virtuele machines. Pas het commando alleen toe op de virtuele machines die op deze host moeten draaien.
Welke libvirt-service moet bij het opstarten worden gestart?
Het hangt ervan af of deze SLES-host gebruikmaakt van de modulaire daemons van libvirt of de traditionele monolithische configuratie libvirtd. SUSE beschrijft modulaire daemons als standaard ingeschakeld in SLES 15 SP7 en adviseert om de relevante driverservice bij het opstarten te starten wanneer gastsystemen zijn geconfigureerd om automatisch op te starten. De QEMU-driverservice is virtqemud.service. Bij een monolithische configuratie raadt SUSE libvirtd.servicein plaats daarvan aan. Schakel niet beide implementatiemodi in, alleen omdat beide unitnamen bestaan.
Controleer de eenheden op uw host voordat u ze wijzigt:
Controleer de beschikbare libvirt-daemon-eenheden om de implementatiemodus van de host te bepalen voordat u iets inschakelt.
systemctl status virtqemud.service libvirtd.service
Als de host gebruikmaakt van modulaire libvirt en de QEMU-unit is geïnstalleerd, schakel deze dan in met:
sudo systemctl enable --now virtqemud.service
Als de host opzettelijk is geconfigureerd voor de monolithische daemon, gebruik dan in plaats daarvan dit commando:
Schakel deze module alleen in op een host die gebruikmaakt van de monolithische libvirtd-implementatie; modulaire hosts gebruiken hun eigen driver-daemon.
sudo systemctl enable --now libvirtd.service
Markeer het standaard libvirt-netwerk voor automatisch opstarten alleen als de VM dat virtuele netwerk gebruikt.
Met modulaire libvirt kunnen virtuele netwerken en opslagbeheer gebruikmaken van aparte driverdaemons of sockets. Als de gast afhankelijk is van een door libvirt beheerd netwerk, zorg er dan voor dat dat netwerk ook automatisch start; raadpleeg bijvoorbeeld de SUSE-documentatie sudo virsh net-autostart defaultvoor het vooraf gedefinieerde defaultnetwerk. Doe dit alleen wanneer de gast daadwerkelijk gebruikmaakt van dat netwerk. Een bridge die op hostniveau is geconfigureerd, gebruikt deze libvirt-netwerkinstelling niet. Controleer het daadwerkelijke netwerk dat aan de gast is gekoppeld in plaats van de naam aan te nemen default.
Als een gast-VM een externe of via het netwerk gekoppelde schijf gebruikt, zorg er dan voor dat de bijbehorende opslag beschikbaar is bij het opstarten. SUSE merkt op dat de actieve status van een libvirt-opslagpool de beschikbaarheid van volumes die al aan gast-VM's zijn gekoppeld niet verandert, maar het inschakelen van automatisch opstarten van de pool is handig wanneer de pool actief moet zijn voor poolbeheer aan de hostzijde of latere volumebewerkingen: sudo virsh pool-autostart POOL. Vervang POOLdoor de daadwerkelijke poolnaam; maak geen nieuwe pool aan alleen om automatisch opstarten van de VM in te stellen.
Hoe kun je controleren of de VM weer online komt?
Gebruik de domeininformatie van de gast om de instelling voor automatisch opstarten te controleren voordat u een herstart van de host plant.
Controleer vóór een geplande herstart in verband met onderhoud de domeinconfiguratie en de daemonstatus. Gebruik de opdracht sudo virsh dominfo VM_NAMEom te bevestigen dat automatisch opstarten is ingeschakeld en systemctl is-enabled virtqemud.service/of systemctl is-enabled libvirtd.serviceom de gekozen daemonmodus te controleren. Als de eerste opdracht mislukt omdat de virtuele machine niet wordt gevonden, controleer dan of u dezelfde libvirt-verbinding gebruikt waarmee deze is aangemaakt.
Test vervolgens tijdens een goedgekeurd onderhoudsvenster. Nadat de host weer operationeel is, voert u het commando uit sudo virsh -c qemu:///system list --all. De geselecteerde virtuele machine zou als actief moeten worden weergegeven; controleer de netwerk- en gastservices afzonderlijk. Als deze uitgeschakeld blijft, inspecteert u de opstartlogboeken van de actieve daemon met journalctl -b -u virtqemud.serviceof journalctl -b -u libvirtd.service, afhankelijk van de situatie, en controleert u op niet-beschikbare opslag of een vereist virtueel netwerk. Deze voorwaarden zijn afhankelijk van de hostconfiguratie, dus het daemonlogboek en de daadwerkelijke apparaatconfiguratie van de VM bepalen de volgende stap.