Freigeben über


Behandeln von Problemen mit virtuellen Linux-Computern auf Hyper-V

Dieser Artikel enthält einen umfassenden Leitfaden zur Diagnose und Behebung häufiger Probleme bei der Bereitstellung und Verwaltung virtueller Linux-Computer (VMs) in Microsoft Hyper-V Umgebungen.

Diese Probleme können Installationsprobleme, Livemigrationsfehler, Zeitsynchronisierungsprobleme, fehlende VM-Informationen in Verwaltungskonsolen, CPU-Kompatibilitätsabweichungen (Central Processing Unit) sowie Lizenzierungs- oder Supportanfragen umfassen. Die Lösung dieser Probleme ist entscheidend, um die Zuverlässigkeit, Kompatibilität und optimale Leistung von Linux-Workloads in Hyper-V-Infrastrukturen sicherzustellen.

Häufige Probleme, die in Linux-VMs auf Hyper-V beobachtet wurden

  • Vm-Installation und Startprobleme:

    • Installationen eines Linux-Betriebssystems (OS), z. B. SUSE Linux Enterprise Server (SLES) 15 SP5, stocken oder schlagen auf VMs der Generation 2 fehl, sind aber auf VMs der Generation 1 erfolgreich.
    • Installationsmenüs werden angezeigt, der Vorgang kann jedoch nicht abgeschlossen werden.
  • Fehler beim Livemigrations- und VM-Status:

    • Bestimmte ubuntubasierte oder vom Hersteller bereitgestellte Linux-VMs können nicht migriert werden, wobei Fehler zwischen 58% und 68% Abschluss auftreten.
    • Fehlermeldung: "Dieser virtuelle Computer kann nicht wiederhergestellt werden, da die gespeicherten Zustandsdaten nicht gelesen werden können. Löschen Sie die gespeicherten Zustandsdaten, und versuchen Sie dann, den virtuellen Computer zu starten. (0xC0370027)."
    • Ereignis-ID 21502 in Hyper-V Protokollen.
    • Zusätzliche Fehlercodes 0x80048054 und 0x80070037.
  • Probleme mit Verwaltungskonsolen- und Integrationsdaten:

    • IP-Adressen und Hostnamen von Linux-VM sind in Hyper-V Manager, System Center Virtual Machine Manager (SCVMM) oder anderen Verwaltungskonsolen nicht sichtbar.
    • Integrationsdienste werden installiert und konfiguriert, aber die Daten fehlen noch.
  • Probleme bei der Zeitsynchronisierung:

    • Die Systemzeit des Linux-VM-Systems wird nicht mit dem Hyper-V-Host synchronisiert.
    • Zeitzoneninkonsistenzen werden auf der Echtzeituhr (RTC) der VM beobachtet, was zu Einer Abweichung der Anwendungszeit führt.
  • Probleme mit CPU-Feature-/Anweisungssatz:

    • Fehlende CPU-Flags, z sse4_2. B. innerhalb von Linux-VMs (cat /proc/cpuinfo).
    • Anwendungen oder Tools schlagen aufgrund fehlender CPU-Anweisungen fehl.
  • Häufige VM-Trennungen:

    • Linux-VMs, insbesondere solche, die auf Red Hat Enterprise Linux (RHEL) basieren, trennen häufig von der Hyper-V Konsole.
    • Fehlermeldungen werden beim Herstellen einer Verbindung über Hyper-V Manager angezeigt.
  • Lizenzierungs-, Support- und Featureanfragen:

    • Fragen zur Lizenzierung von Nicht-Windows-Betriebssystemen unter Windows Server Standard/Datacenter.
    • Anfragen zur Unterstützung für ältere Linux-Versionen oder Oracle Database-Workloads.
    • Fragen zum Windows-Subsystem für Linux 2 (WSL2) unterstützen und geschachtelte Virtualisierungsanforderungen.

Ursachen, die nach Problemtyp kategorisiert sind

  • Konfiguration und Kompatibilität:

    • Vm-Inkompatibilität der Generation 2: Bestimmte Linux-Distributionen erfordern bestimmte Einstellungen der Generation 2 Hyper-V, z. B. sicherer Start oder UEFI, für eine erfolgreiche Installation.
    • Nicht unterstützte Linux-Versionen: Frühere oder nicht aufgelistete Linux-Versionen funktionieren möglicherweise nicht mit Hyper-V Integrationskomponenten, was zu Datenverlusten oder Betriebsfehlern führt.
    • Lizenzierungs- und Supportlücken: Die Dokumentation deckt möglicherweise nicht alle Szenarien für die Betriebssystem-/Verteilungs-/Versionskompatibilität ab.
  • Berichterstellung für Integrationsdienste und VM-Daten:

    • Fehlende oder falsch konfigurierte Integrationsdienste: Ohne ordnungsgemäße Konfiguration können Linux-Integrationsdienste möglicherweise keine Daten wie IP-Adressen und Hostnamen melden.
    • Konsolen-/SCVMM-Synchronisierungsprobleme: Synchronisierungsverzögerungen oder Datenbankfehler verhindern möglicherweise, dass aktualisierte VM-Daten angezeigt werden.
  • Datei-/Zustandsbeschädigung und Migrationsfehler:

    • Beschädigte VMRS-Dateien: Migrationsprobleme können auftreten, wenn der gespeicherte Vm-Zustand oder Laufzeitdateien beschädigt sind.
    • Dateiberechtigungsprobleme: Unzureichende Berechtigungen oder gesperrte Dateien im Zusammenhang mit der VM können die Migration oder Wiederherstellung blockieren.
  • Gastbetriebssystemeinstellungen und Plattformunterschiede:

    • RTC- und Zeitzonenbehandlung: Hyper-V stellt die Systemzeit für den Gast-RTC ohne Zeitzonenmetadaten bereit; die Gastbetriebssystemeinstellungen bestimmen die Interpretation.
    • CPU-Kompatibilitätsmodus: Durch aktivieren dieses Modus werden verfügbare CPU-Anweisungen für den Gast eingeschränkt, was zu Funktionslücken führt.
  • Externe oder nicht unterstützte Szenarien:

    • Anwendungs-/Betriebssystemspezifische Probleme: Probleme in Gastbetriebssystem oder Anwendungen wie Oracle Database erfordern Herstellerunterstützung.
    • Feature- oder Umgebungseinschränkungen: Erweiterte Features wie geschachtelte Virtualisierung und WSL2 benötigen bestimmte VM-Konfigurationen oder Hardware.

Beheben von VM-Installationsproblemen (Linux-VMs der Generation 2)

  1. Überprüfen Sie die VM-Konfiguration:

    • Deaktivieren Sie den sicheren Start, oder legen Sie sie so fest, MicrosoftUEFICertificateAuthority dass die richtige Vorlage verwendet wird (z. B. für unterstützte Linux-Verteilungen).
    • Stellen Sie sicher, dass die VM-Generation den Anforderungen der Linux-Verteilung entspricht.
  2. Anpassen der VM-Einstellungen:

    • Legen Sie die Firmware so fest, dass sie vom richtigen Gerät (DVD oder ISO) gestartet wird.
    • Entfernen Sie unnötige Hardware, z. B. ältere Netzwerkadapter.
  3. Wiederholen Sie die Betriebssysteminstallation, nachdem Sie die erforderlichen Änderungen vorgenommen haben.

  4. Wenn Probleme weiterhin auftreten, installieren Sie das Betriebssystem auf einer VM der Generation 1.

Beheben von Livemigrations- und Statusdateifehlern

  1. Überprüfen Sie Ereignisprotokolle und Fehlercodes. Überprüfen Sie Hyper-V Protokolle für Ereignis-ID 21502 und Fehlercodes wie 0xC0370027, 0x80048054 oder 0x80070037.

  2. Überprüfen Sie VM-Statusdateien. Stellen Sie sicher, dass .vmrs.vmcx auf Dateien sowohl auf quell- als auch auf Zielknoten zugegriffen werden kann.

  3. Erstellen Sie einen neuen virtuellen Computer:

    1. Beenden Sie den betroffenen virtuellen Computer.
    2. Erstellen Sie einen neuen virtuellen Computer, und fügen Sie die ursprünglichen Betriebssystem-/Datenträger an. Stimmen Sie die CPU- und RAM-Einstellungen mit der ursprünglichen Konfiguration überein.
  4. Testen Sie die Migration. Führen Sie eine Livemigration mit dem neuen virtuellen Computer aus.

  5. Überwachen Sie auf Wiederholungen. Wenn das Problem behoben ist, fahren Sie mit der Überwachung des virtuellen Computers fort. Wenn das Problem weiterhin besteht, eskalieren Sie für weitere Datenträger- oder Dateisystemuntersuchung.

Beheben von Problemen mit Verwaltungskonsole und Integrationsdaten

  1. Überprüfen von Integrationsdiensten:

    • Verwenden Sie den lsmod | grep hv Befehl im Gastbetriebssystem, um zu bestätigen, dass Hyper-V Module geladen werden.
    • Stellen Sie sicher, dass die neuesten Linux-Integrationsdienste installiert sind.
  2. Aktivieren sie den Datenaustausch. Stellen Sie in den VM-Einstellungen sicher, dass "Datenaustausch" unter Integrationsdiensten aktiviert ist.

  3. Aktualisieren Sie die Verwaltungskonsole. Wenden Sie die neuesten Updates auf Hyper-V, SCVMM oder andere Verwaltungsplattformen an.

  4. Korrigieren Sie die SCVMM-Datenbank (falls erforderlich):

    1. Sichern Sie die SCVMM-Datenbank.
    2. Verwenden Sie SQL-Abfragen, um fehlende VM-Namen oder IP-Adressen zu aktualisieren.

Beheben von Zeitsynchronisierungsproblemen

  1. Aktualisieren von Integrationsdiensten. Stellen Sie sicher, dass das Gastbetriebssystem die neuesten Linux-Integrationsdienste installiert hat.
  2. Überprüfen Sie die Zeitsynchronisierungseinstellungen. Stellen Sie im Hyper-V-Manager sicher, dass "Zeitsynchronisierung" aktiviert ist.
  3. Passen Sie die Einstellungen des Gastbetriebssystems an. Wird verwendet timedatectl , um die Systemuhr und zeitzone richtig zu konfigurieren. Beispiel: timedatectl set-timezone UTC.
  4. Verzögern des Anwendungsstarts. Bei zeitkritischen Anwendungen verzögern Sie den Start bis zum Abschluss der Synchronisierung.

Beheben von Problemen mit CPU-Feature-/Anweisungssatz

  1. Deaktivieren Sie den CPU-Kompatibilitätsmodus im Hyper-V-Manager oder über PowerShell:

    Set-VMProcessor -VMName -CompatibilityForMigrationEnabled $false
    
  2. Überprüfen sie im Gastbetriebssystem. Führen Sie die Ausführung aus cat /proc/cpuinfo , um zu bestätigen, dass die erforderlichen CPU-Flags vorhanden sind.

  3. Starten Sie den virtuellen Computer neu, um die Änderungen anzuwenden.

Beheben häufiger VM-Trennungen

  1. Überprüfen Sie die Netzwerk- und VM-Integrität. Stellen Sie sicher, dass Netzwerkadapter ordnungsgemäß konfiguriert und funktionieren.
  2. Überprüfen Sie die Methoden zum Klonen von virtuellen Computern. Stellen Sie nach dem Klonen eindeutige MAC-Adressen und eine ordnungsgemäße Bereinigung sicher.
  3. Passen Sie die Einstellungen für den sicheren Start an. Aktivieren oder deaktivieren Sie den sicheren Start nach Bedarf für die Linux-Verteilung.
  4. Wenden Sie sich an den Support des Linux-Herstellers. Eskalieren Sie Probleme, die für den Linux-Distributionsanbieter bestehen bleiben.

Beheben von Lizenzierungs-, Support- und Featureanfragen

  • Lizenzierungsfragen: Wenden Sie sich an Microsoft-Lizenzierungsspezialisten für Abfragen zur Lizenzierung von Nicht-Windows-Betriebssystemen unter Windows Server.
  • Ältere Betriebssystem- oder nicht unterstützte Features: Weitere Informationen finden Sie unter dem relevanten Anbieter für die Unterstützung von älteren Linux-Versionen, Oracle Database oder WSL2.
  • Geschachtelte Virtualisierung: Vergewissern Sie sich, dass Ihre VM-Größe oder -Hardware geschachtelte Virtualisierung unterstützt.

Datenerfassung

Um bei der Problembehandlung zu helfen, sammeln Sie die folgenden Protokolle und Informationen:

  • VML-Ablaufverfolgungen (für Livemigration):

    VmlTrace.exe /m a /f all all
    VmlTrace.exe stop
    
  • NetSH-Netzwerkablaufverfolgung:

    netsh trace start capture=yes tracefile=network-trace.etl overwrite=yes persistent=yes
    netsh trace stop
    
  • Überprüfung der Integrationsdienste:

    Get-VMIntegrationService -VMName
    
  • CPU-Überprüfung:

    cat /proc/cpuinfo
    
  • Zeiteinstellungen (Linux):

    timedatectl status
    timedatectl set-timezone
    

References

Wenn Probleme nach dem Ausführen dieser Schritte weiterhin bestehen, sammeln Sie die relevanten Protokolle, und wenden Sie sich an den Microsoft-Support oder Ihren Linux-Distributionsanbieter, um weitere Unterstützung zu erhalten.