Imposibil de utilizat kdump sau kexec pentru masini virtuale a lui Linux Hyper-V

Traduceri articole Traduceri articole
ID articol: 2858695 - View products that this article applies to.
Măriți totul | Reduceți totul

Simptome

Luați în considerare următorul scenariu:
  • Aveți un computer bazat pe Windows, care are rolul de Hyper-V instalat.
  • Instalați Linux pe o mașină virtuală Hyper-V pe computer.
  • Configurați kdump pe Linux VM. Linux VM are deja driverele Linux integrare consolidare servicii, fie precompilate sau manual instalat.
Dacă Linux mașină virtuală se blochează în acest scenariu, fișierul core dump din nucleul Linux nu este generat cum era de așteptat.

Cauză

Această problemă apare deoarece Hyper-V nu poate găzdui două conexiuni simultane la aceeași sofer sintetice care se execută în interiorul o mașină virtuală.

Atunci când kdump este configurat pe o mașină virtuală de Linux care utilizează driverul de sintetice de stocare consolidare servicii de integrare Linux (de asemenea, cunoscut ca storvsc), kexec kernel-ul este configurat să utilizeze același șofer. Dacă accidente de mașină virtuală de Linux, driverul de stocare sintetice care este găzduit în nucleul kexec încearcă să deschidă o conexiune la furnizorul de stocare Hyper-V. Cu toate acestea, Hyper-V nu reușește să stabilească legătura din cauza preexistente conexiunea la același magazin șofer pe prăbușit Linux mașină virtuală. Prin urmare, kernel-ul kexec nu poate dump de bază pentru prăbușit Linux mașină virtuală.

Rezoluție

Pentru a rezolva această problemă, configurarea kernel-ul kexec folosind driverul standard de stocare Linux. Această configurație trebuie efectuată după kdump funcționalitatea este activat pe o mașină virtuală de Linux. Ideea de bază este să dezactivați driverul de stocare consolidare servicii de integrare Linux și apoi activați standardul driver de stocare Linux în interiorul nucleul kexec utilizând parametrul prefer_ms_hyper_v în locații strategice.

Parametrul prefer_ms_hyper_v poate fi utilizat pentru a controla comportamentul de driverul de stocare Linux standard. Când acest parametru este setat la 1 și Linux mașină virtuală rulează pe Hyper-V, standardul Linux depozitare șofer dezactivează în sine și vă permite driverul de stocare consolidare servicii de integrare Linux controla dispozitivele de stocare. Setând parametrul prefer_ms_hyper_v la 0, standardul driverul Linux de stocare este permis să funcționeze. Deoarece standardul Linux depozitare șofer nu necesită o conexiune Hyper-V, kernel-ul kexec poate dump de bază.

Distribuții Linux diferite au diferite mecanisme să specificați valoarea de prefer_ms_hyper_v. Următoarea secțiune descrie cum parametru poate fi setat pentru mai multe populare distribuții Linux.

Red Hat Enterprise Linux (RHEL) 5.9

În RHEL 5.9, va trebui să treci parametrul prefer_ms_hyper_v printr-un nucleu de argument linia Către de comandă în modulul de ide_core , care este construit în nucleul RHEL 5.9. implicit, acest parametru este inițializat 1, și acest lucru provoacă Linux mașină virtuală pentru a evita folosind modulul de ide_core , în cazul în care se execută într-un mediu Hyper-V. Administratorii trebuie să setați valoarea parametrului prefer_ms_hyper_v la 0 , astfel încât conducătorul auto ide_core devine operațional în timpul procesului de boot kexec kernel-ului. Puteți face acest lucru prin modificarea conținutul /etc/kdump.conf.

Pentru a schimba conținutul de /etc/kdump.conf, urmați acești pași:
  1. Executați următoarea comandă pentru a configura kdump pentru a scrie un director local:

    traseu/var/accident
  2. Listă tabel neagră driverele Linux integrare consolidare servicii în /etc/kdump.conf. Acest lucru previne driverele de încărcare în kernel-ul kexec. Pentru aceasta, executați următoarea comandă:

    Listă tabel neagră hv_vmbus hv_storvsc hv_utils hv_netvsc hid_hyperv
  3. Configura valoarea de expirare de disc prin rularea următoarea comandă:

    disk_timeout 100
  4. După modificările necesare, fișierul /etc/kdump.conf arata astfel:
    traseu/var/accident
    core_collector makedumpfile - c - mesaj-nivel 1 - d 31
    Listă tabel neagră hv_vmbus hv_storvsc hv_utils hv_netvsc hid_hyperv
    disk_timeout 100
  5. Modifica conținutul fișierului /etc/sysconfig/kdump după cum urmează:
    • Adăugați sau modificați linia următoare pentru a include prefer_ms_hyperv = 0 argumentul:

      KDUMP_COMMANDLINE_APPEND = "irqpoll maxcpus = 1 reset_devices ide_core.prefer_ms_hyperv=0"
    • După modificările necesare, fișierul /etc/sysconfig/kdump arata astfel:
      KDUMP_COMMANDLINE = ""

      # Această variabilă vă permite să ne Adăugare argumente la commandline curent kdump
      # Ca luate din fie KDUMP_COMMANDLINE mai sus sau din/proc/linie_cmd

      KDUMP_COMMANDLINE_APPEND = "irqpoll maxcpus = 1 reset_devices ide_core.prefer_ms_hyperv=0"

Red Hat Enterprise Linux (RHEL) 6.4

În RHEL 6.4, va trebui să treci parametrul prefer_ms_hyper_v la modulul de conducător auto ata_piix . Puteți face acest lucru prin schimbarea conținutul fișierului /etc/kdump.conf.

Pentru a schimba conținutul de /etc/kdump.conf, urmați acești pași:
  1. Configura kdump pentru a scrie un director local:

    traseu/var/accident
  2. Adauga module suplimentare ata_piix, sr_mod, sd_mod:

    extra_modules ata_piix sr_mod sd_mod
  3. Listă tabel neagră consolidare servicii de integrare Linux drivere în etc/kdump.conf. Acest lucru previne driverele de încărcare în kexec kernel:

    Listă tabel neagră hv_vmbus hv_storvsc hv_utils hv_netvsc hid_hyperv
  4. Adauga parametrul de opțiuni pentru a trece parametrul la modulul de ata_piix:

    opțiuni ata_piix prefer_ms_hyperv = 0
  5. Configura valoarea de expirare de disc, astfel încât, nu se dezactivare mai răspundă (se blochează):

    disk_timeout 100
  6. După modificările necesare, fișierul /etc/kdump.conf arata astfel:
    traseu/var/accident
    core_collector makedumpfile - c - mesaj-nivel 1 - d 31
    extra_modules ata_piix sr_mod sd_mod
    Listă tabel neagră hv_vmbus hv_storvsc hv_utils hv_netvsc hid_hyperv
    opțiuni ata_piix prefer_ms_hyperv = 0
    disk_timeout 100

Ubuntu 12.04(.x)

În Ubuntu 12.04 (.x), va trebui să treci parametrul prefer_ms_hyper_v la driverul ata_piix . Puteți face acest lucru prin schimbarea conținutul fișierului /etc/init.d/kdump.

Pentru a schimba conținutul fișierului /etc/init.d/kdump, adăugați ata_piix. prefer_ms_hyper_v = 0 la opțiunile de linia Către de comandă kdump:
do_start {} {}
….
….
Adăugare = "$APPEND kdump_needed maxcpus = 1 irqpoll reset_devices ata_piix.prefer_ms_hyperv=0"
…
}

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

În SP2(x) de 11 SLES distribuții, trebuie să treci parametrul prefer_ms_hyper_v la driverul ata_piix . Puteți face acest lucru prin modificarea conținutul fișierului /etc/sysconfig/kdump după cum urmează:

Adăugați ata_piix.prefer_ms_hyper_v=0 la KDUMP_COMMANDLINE_APPEND:

KDUMP_COMMANDLINE_APPEND="ata_piix.prefer_ms_hyperv=0"

După modificările necesare, fișierul /etc/sysconfig/kdump arata astfel:

KDUMP_COMMANDLINE_APPEND="ata_piix.prefer_ms_hyperv=0"

Informații suplimentare

KDUMP ar trebui să fie configurat în mod standard care este sugerat de distributii Linux.

Produsele ter?e despre care acest articol discută sunt produse de companii independente de Microsoft. Microsoft face nici o garanție, sugerată sau în alt mod, despre performanța sau fiabilitatea acestor produse.

Proprietă?i

ID articol: 2858695 - Ultima examinare: 26 iunie 2013 - Revizie: 2.0
Se aplică la:
  • Microsoft Hyper-V Server 2008 R2
  • Microsoft Hyper-V Server 2008 R2 Service Pack 1
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 for Itanium-Based Systems
  • Windows Server 2008 R2 Service Pack 1
  • Windows Storage Server 2008 R2
  • Windows Storage Server 2008 R2 Essentials
  • Microsoft Hyper-V Server 2012
  • Windows Server 2012 Foundation
  • Windows Server 2012 Release Candidate
  • Windows Server 2012 Standard
  • Windows Storage Server 2012 Standard
  • Windows Storage Server 2012 Workgroup
Cuvinte cheie: 
kbmt KB2858695 KbMtro
Traducere automată
IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată ?i poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate ?i articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cuno?tin?e în mai multe limbi. Articolele traduse automat ?i post-editate pot con?ine gre?eli de vocabular, sintaxă ?i/sau gramatică. Microsoft nu este responsabil de inexactită?ile, erorile sau daunele cauzate de traducerea gre?ită a con?inutului sau de utilizarea acestuia de către clien?i. Găsi?i mai multe informa?ii despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.
Face?i clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 2858695

Trimite?i feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com