Tutoriel Linux

Hyper-V-integratiediensten onder Debian 13: modules, klok, veilige afsluiting

Débutant5 min de lecture

Uw Debian 13 VM start op, u kunt verbinding maken, maar de Hyper-V-host geeft alleen “Running” weer. Het is onmogelijk te weten of Debian nog steeds reageert, of de tijd correct wordt hervat na een onderbreking, of een door de host aangevraagde afsluiting veilig zal zijn.

De Hyper-V integratiediensten onder Debian 13 worden eerst gecontroleerd via uitlezing aan de gast- en hostzijde. U zult de kernelmodules, de gastdemonen, de klok synchronisatie, dynamisch geheugen en de back-up route onderscheiden, zonder een oude LIS-pakket willekeurig te installeren.

Technicus die een netwerk kabel aansluit op een server voor een Debian VM onder Hyper-V
Onderhoud van een Debian VM in een Hyper-V omgeving.

Let op. De Microsoft matrix vermeldt Debian 10, 11 en 12, niet Debian 13. Verklaar daarom niet dat Debian 13 officieel wordt ondersteund door Microsoft, en installeer geen downloadbaar LIS-pakket zonder bewijs dat het overeenkomt met uw systeem.

Lees de Hyper-V modules voordat u een pakket toevoegt

Begin in Debian. De kernel communiceert met de host via VMBus, beschreven in de documentatie Hyper-V van de Linux kernel. Deze laag biedt de stuurprogramma’s en bepaalde integratiekanalen. Het heeft niet dezelfde rol als de door systemd gelanceerde demonen.

  • De VM blijft bereikbaar, met de exacte naam van de machine die aan de Hyper-Vzijde is geregistreerd.
  • De modules en services worden gelezen voordat er wijzigingen worden aangebracht.
  • Er bestaat een tweede toegangsmiddel als de door de host aangevraagde afsluiting de sessie onderbreekt.
  • De huidige back-up wordt geïdentificeerd, met een herstel test gepland op een kopie.
lsmod | grep -E '^hv_'
dmesg | grep -i hyperv
systemctl status hv-kvp-daemon.service hv-vss-daemon.service --no-pager

lsmod maakt het mogelijk de momenteel geladen modules te registreren. dmesg geeft de kernelberichten weer die Hyper-V vermelden. De systemd-opdracht scheidt de KVP- en VSS-demonen van de modules. Een afwezigheid of een foutstatus moet worden uitgelegd door de logs, niet gecompenseerd door een oud LIS-installatie. Als een service niet opstart, het lezen van de logs van de laatste opstart biedt de volgende controle.

Controleer heartbeat en veilige afsluiting vanaf de host

In PowerShell betekent de status Running dat Hyper-V middelen reserveert. Het bewijst niet dat Debian zijn opstart is voltooid of dat de gast reageert. De documentatie Microsoft over Hyper-V integratiediensten verbindt onder andere heartbeat, Gast afsluiten en Tijdsynchronisatie met de module hv_utils.

Get-VM -VMName "<vm-naam>" | Select Name,State,Status
Get-VMIntegrationService -VMName "<vm-naam>"

De eerste uitlezing brengt de naam, status en status voortgebracht door de integratie dichterbij. De tweede exposeert de beschikbare services aan de hostzijde, hun status en hun activatie. Als de heartbeat niets bevestigt, controleer dan eerst de reactie van Debian voordat u om een beëindiging vraagt.

De geforceerde uitschakelingsknop snijdt de virtuele voeding af. Microsoft waarschuwt voor het risico op gegevensverlies of schade wanneer de veilige afsluiting is gedeactiveerd of omzeild. Voor een herstart vanuit Debian zijn de opdracht en de controle gedetailleerd in Linux veilig herstarten.

Kies een tijdsbron en controleer de tijd na herstel

Twee paden kunnen verschijnen in de diagnose. Hyper-V biedt synchronisatie via hv_utils. Debian kan ook systemd-timesyncd gebruiken, dat een externe NTP-server ondervraagt met SNTP. Voordat u een mechanisme deactiveert, registreert u de status aan beide zijden.

timedatectl status
timedatectl timesync-status
journalctl -b -u systemd-timesyncd --no-pager

Op Debian Trixie beschrijft de manpage van systemd-timesyncd de aanpassing van de klok en de uitlezingen timedatectl. Noteer de tijd voor een herstel, en lees deze daarna opnieuw. Als u alleen de lokale connectiviteit wilt bevestigen voordat u NTP beschuldigt, maakt ip addr het mogelijk de interface opnieuw te lezen zonder het netwerk te wijzigen. De uiteindelijke keuze hangt af van de feitelijk gebruikte bron en uw omgeving, niet van een universeel recept.

Lees het dynamisch geheugen voordat u het RAM wijzigt

De aanwezigheid van hv_balloon geeft de module aan die met ballooning is geassocieerd. Het bewijst niet dat de belasting gebrek aan geheugen heeft, of dat het dynamisch geheugen geschikt is voor de VM. Scheid de capaciteit die door de host is toegewezen, de waargenomen druk in Debian en het gebruik van swap.

lsmod | grep '^hv_balloon'
free -h
vmstat 1 5
journalctl -k -b | grep -i hv_balloon
swapon --show

free geeft het geheugen weer dat zichtbaar is voor Debian. vmstat biedt de mogelijkheid om de druk over vijf uitlezingen te observeren, terwijl de kernel log de berichten laat zien die met ballooning verband houden. swapon geeft aan of een swapruimte actief is.

ComponentRolLezing opdrachtLimiet
hv_utilsHeartbeat, afsluiten en tijd Hyper-Vlsmod, hostBevestigt niet de applicatieve gezondheid
hv_kvp_daemonUitwisseling van sleutel-waarde parensystemctl statusVervangt geen monitoring
hv_vss_daemonVSS aanvraag aan de Linux gastzijdesystemctl statusEnkel nuttig als de back-uptool het benut
hv_balloonDynamisch geheugenlsmod, vmstatModule aanwezig, belasting niet gemeten
systemd-timesyncdNTP-synchronisatie via SNTPtimedatectlMoet onderscheiden worden van Hyper-V tijd

Voor een belasting die gevoelig is voor latentie, zou ik een vaste grootte kiezen na meting: het hostverbruik blijft voorspelbaar, ten koste van een reservering zelfs in rust. Een fluctuerende belasting kan de dynamische geheugen rechtvaardigen, maar alleen na observatie van de werkelijke belasting.

Bereid een afsluiting en een back-up voor die kan worden hersteld

Herlees hv_vss_daemon voordat u op een online back-up rekent. Microsoft beschrijft VSS Requestor als een pad waardoor de VSS-service een VM kan back-uppen zonder deze te stoppen. Deze mogelijkheid hangt af van de aanwezigheid van dedaemon en de gebruikte back-upsoftware. De markering van een job is niet voldoende.

Een checkpoint blijft een momentopname van de status van een VM. Het vervangt geen onafhankelijke kopie of herstel test. Na een veilige afsluiting, herstel op een geïsoleerde kopie en controleer de opstart van Debian, de tijd, de verwachte services en de applicatiedata. Het laatste nuttige bewijs is dit herstel dat daadwerkelijk opnieuw is gelezen, niet de status “voltooid” van een taak.