Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Kdump oder Kexec kann nicht für virtuelle Linux-Computer unter Hyper-V verwendet werden

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 2858695
Problembeschreibung
Vor Windows Server 2012 R2
Betrachten Sie das folgende Szenario:
  • Sie haben einen Prä-Windows Server 2012 R2-basierten Computer, der die Hyper-V-Serverrolle installiert ist.
  • Linux installiert auf einem Hyper-V-VM auf dem Computer.
  • Konfigurieren Sie Kdump auf Linux VM.

    Hinweis Linux VM hat bereits die Integrationsdienste Linux Treiber. Die Treiber können vordefinierte oder manuell installiert werden.
In diesem Szenario stürzt der virtuellen Linux-Maschine wird Speicherauszugsdatei aus dem Linux-Kernel nicht generiert, wie erwartet.
Windows Server 2012 R2
Betrachten Sie das folgende Szenario:
  • Sie haben Linux VM auf Windows Server 2012 R2 Hyper-V-Host.
  • Linux VM sind 15 oder mehr vCPUs zugeordnet.
  • Kdump konfiguriert in Linux VM.
In diesem Szenario Kdump funktioniert nicht, und das Absturzspeicherabbild wird nicht erstellt, da der Prozess nicht mehr reagiert (hängt).
Ursache
Dieses Problem tritt auf, weil der Hyper-V kann zwei gleichzeitige Verbindungen vom gleichen synthetische Treiber hosten, die innerhalb eines virtuellen Computers ausgeführt wird.

Wenn Kdump auf einer virtuellen Linux-Maschine, die die Linux-Integrationsdienste synthetische Treiber (auch bekannt als Storvsc) verwendet konfiguriert ist, ist der Kernel Kexec denselben Treiber verwenden konfiguriert. Stürzt der virtuellen Linux-Maschine versucht die synthetische Treiber, die im Kernel Kexec gehostet wird, öffnen Sie eine Verbindung mit dem Anbieter von Hyper-V. Jedoch schlägt der Hyper-V zum Einrichten der neuen Verbindung aufgrund der bereits vorhandenen Verbindung zum gleichen Storage-Treiber auf der abgestürzten virtuellen Linux-Maschine. Kexec kann nicht aus diesem Grund den Kern für die abgestürzte virtuellen Linux-Maschine Kernelabbild.
Lösung
Um dieses Problem zu beheben, konfigurieren Sie Kexec Kernel mithilfe den standardmäßigen Linux-Speichertreiber. Diese Konfiguration vorgenommen werden, nachdem die Kdump-Funktionalität auf einer virtuellen Linux-Maschine aktiviert ist. Die grundlegende Idee ist die Integrationsdienste Linux Treiber deaktivieren und aktivieren den standardmäßigen Linux-Speichertreiber Einblick in den Kernel Kexec mithilfe des Prefer_ms_hyper_v -Parameters in der entsprechenden Konfigurationsdatei.

Der Parameter Prefer_ms_hyper_v kann zum Steuern des Verhaltens des standardmäßigen Linux Storage-Treibers verwendet werden. Wenn dieser Parameter auf 1 gesetzt ist und der virtuellen Linux-Maschine auf Hyper-V ausgeführt wird, wird der standard-Linux-Speichertreiber deaktiviert selbst und kann die Integrationsdienste Linux Treiber Speicher-Devices zu steuern. Den Parameter Prefer_ms_hyper_v auf 0festlegen, darf der standardmäßige Linux-Speichertreiber funktionieren. Da der standard Linux Storage-Treiber eine Verbindung zu Hyper-V nicht erforderlich sind, kann der Kernel Kexec Core dump.

Andere Linux-Distributionen haben etwas andere Mechanismen den Wert des Prefer_ms_hyper_vangegeben. Der folgende Abschnitt beschreibt, wie der Parameter für mehrere Populäre Linux-Distributionen festgelegt werden kann.

Red Hat Enterprise Linux (RHEL) 5,9

In RHEL 5.9 müssen Sie den Prefer_ms_hyper_v -Parameter durch ein Kernel-Befehlszeilenargument an das Ide_core -Modul übergeben, die in den RHEL 5.9-Kernel basiert. Standardmäßig ist dieser Parameter auf 1initialisiert, und dies bewirkt, dass der virtuellen Linux-Maschine, vermeiden Sie die Verwendung des Ide_core -Moduls in einer Hyper-V-Umgebung ausgeführt wird. Administratoren müssen den Wert der Prefer_ms_hyper_v -Parameter auf 0 festgelegt, damit der Ide_core -Treiber während des Startvorgangs von Kexec Kernel Inbetriebnahme. Hierzu können Sie den Inhalt des /etc/kdump.conf ändern.

Um den Inhalt des /etc/kdump.conf zu ändern, gehen Sie folgendermaßen vor:
  1. Führen Sie den folgenden Befehl zum Konfigurieren von Kdump in ein lokales Verzeichnis geschrieben:

    Pfad/Var/crash
  2. Black-Liste die Integrationsdienste für Linux-Treiber im /etc/kdump.conf. Dies verhindert, dass die Treiber laden in an den Kernel Kexec. Führen Sie hierzu den folgenden Befehl aus:

    Schwarze Hv_vmbus Hv_storvsc Hv_utils Hv_netvsc hid-Hyper-v
  3. Konfigurieren Sie den Timeoutwert für die Festplatte durch Ausführen des folgenden Befehls:

    Disk_timeout-100
  4. Nachdem die erforderlichen Änderungen sieht die Datei /etc/kdump.conf:
    Pfad/Var/crash
    Core_collector Makedumpfile - C--Nachrichtenebene - 1D 31
    Schwarze Hv_vmbus Hv_storvsc Hv_utils Hv_netvsc hid-Hyper-v
    Disk_timeout-100
  5. Ändern Sie den Inhalt der Datei /etc/sysconfig/kdump wie folgt:
    • Hinzufügen oder ändern Sie folgende Zeile, um die Prefer_ms_hyperv umfassen = 0 Argument:

      KDUMP_COMMANDLINE_APPEND = "Irqpoll Maxcpus = 1 Reset_devices ide_core.prefer_ms_hyperv=0"
    • Nachdem die erforderlichen Änderungen sieht die Datei /etc/sysconfig/kdump:
      KDUMP_COMMANDLINE = ""

      # Diese Variable ermöglicht es uns die Argumente an die aktuellen Kdump-Befehlszeile angefügt werden soll.
      -Wie die beiden oben genannten KDUMP_COMMANDLINE oder/Proc/Cmdline selbst übernommen

      KDUMP_COMMANDLINE_APPEND = "Irqpoll Maxcpus = 1 Reset_devices ide_core.prefer_ms_hyperv=0"

Red Hat Enterprise Linux (RHEL) 6.4

In RHEL 6.4 müssen Sie den Parameter Prefer_ms_hyper_v auf das Treibermodul Ata_piix übergeben. Hierzu können Sie den Inhalt der Datei /etc/kdump.conf ändern.

Zum Ändern des Inhalts von /etc/kdump.conf, gehen Sie folgendermaßen vor:
  1. Konfigurieren von Kdump in ein lokales Verzeichnis geschrieben:

    Pfad/Var/crash
  2. Fügen Sie zusätzliche Module Ata_piix, Sr_mod, Sd_mod:

    Extra_modules Ata_piix Sr_mod sd_mod
  3. Black-Liste Integrationsdienste Linux-Treiber im etc/kdump.conf. Dies verhindert, dass die Treiber in den Kernel Kexec geladen:

    Schwarze Hv_vmbus Hv_storvsc Hv_utils Hv_netvsc hid-Hyper-v
  4. Fügen Sie optionenparameter, um die Parameter für das Ata_piix-Modul übergeben:

    Optionen Ata_piix Prefer_ms_hyperv = 0
  5. Konfigurieren Sie den Datenträger-Timeoutwert, damit nicht mehr reagiert (hängt) beendet wird:

    Disk_timeout-100
  6. Nachdem die erforderlichen Änderungen sieht die Datei /etc/kdump.conf:
    Pfad/Var/crash
    Core_collector Makedumpfile - C--Nachrichtenebene - 1D 31
    Extra_modules Ata_piix Sr_mod sd_mod
    Schwarze Hv_vmbus Hv_storvsc Hv_utils Hv_netvsc hid-Hyper-v
    Optionen Ata_piix Prefer_ms_hyperv = 0
    Disk_timeout-100

Ubuntu 12.04(.x)

In Ubuntu 12.04 (.x), muss den Prefer_ms_hyper_v -Parameter für den Ata_piix -Treiber übergeben. Hierzu können Sie den Inhalt der Datei /etc/init.d/kdump ändern.

Um den Inhalt der Datei /etc/init.d/kdump ändern, fügen Sie Ata_piix. Prefer_ms_hyper_v = 0 to Kdump-Befehlszeilenoptionen:
Do_start {} {
….
….
APPEND = "$APPEND Kdump_needed Maxcpus = 1 Irqpoll Reset_devices ata_piix.prefer_ms_hyperv=0"

}

SUSE Linux Enterprise Server (SLES) 11 SP2(x)

SLES 11 SP2(x)-Distributionen müssen Sie den Parameter Prefer_ms_hyper_v an den Ata_piix -Treiber übergeben. Hierzu können Sie den Inhalt der Datei /etc/sysconfig/kdump wie folgt ändern:

Ata_piix.prefer_ms_hyper_v=0 an KDUMP_COMMANDLINE_APPEND anhängen:

KDUMP_COMMANDLINE_APPEND="ata_piix.prefer_ms_hyperv=0"

Nachdem die erforderlichen Änderungen sieht die Datei /etc/sysconfig/kdump:

KDUMP_COMMANDLINE_APPEND="ata_piix.prefer_ms_hyperv=0"

Weitere Informationen
KDUMP sollten in der Standardweise konfiguriert werden, die vom Linux-Distributionen vorgeschlagen wird.

Die in diesem Artikel erörterten Produkte von Drittanbietern werden von Unternehmen hergestellt, die von Microsoft unabhängig sind. Microsoft übernimmt keine Garantie, weder konkludent noch anderweitig, über die Leistung oder Zuverlässigkeit dieser Produkte.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 2858695 – Letzte Überarbeitung: 06/04/2015 00:44:00 – Revision: 4.0

Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Essentials, Microsoft Hyper-V Server 2012 R2, Windows Storage Server 2012 R2 Standard, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Microsoft Hyper-V Server 2012, Windows Storage Server 2012 Standard, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Service Pack 1, Microsoft Hyper-V Server 2008 R2 Service Pack 1, Microsoft Hyper-V Server 2008 R2

  • kbmt KB2858695 KbMtde
Feedback