Impossibile utilizzare kdump o kexec per macchine virtuali Linux su Hyper-V

Traduzione articoli Traduzione articoli
Identificativo articolo: 2858695 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sintomi

Si consideri lo scenario seguente:
  • Si dispone di un computer basato su Windows in cui Ŕ installato il ruolo Hyper-V.
  • Installazione di Linux su Hyper-V virtual machine sul computer.
  • Configurate la VM Linux kdump. la VM Linux ha giÓ i driver Linux Integration Services, predefinite o installati manualmente.
Se la macchina virtuale di Linux si blocca in questo scenario, il file di dump core dal kernel Linux non viene generato come previsto.

Cause

Questo problema si verifica perchÚ la tecnologia Hyper-V non pu˛ ospitare due connessioni simultanee dallo stesso driver sintetico che viene eseguito all'interno di una macchina virtuale.

Quando kdump Ŕ configurata su una macchina virtuale Linux che utilizza il driver di archiviazione sintetici Linux Integration Services (noto anche come storvsc), il kernel kexec Ŕ configurato per utilizzare lo stesso driver. Se si blocca la macchina virtuale di Linux, il driver di archiviazione sintetico che Ŕ ospitato nel kernel kexec tenta di aprire una connessione al provider di archiviazione di Hyper-V. Tuttavia, Hyper-V non riesce a stabilire la nuova connessione a causa della connessione preesistente per lo stesso driver di archiviazione nella macchina virtuale Linux bloccato. Di conseguenza, il kernel kexec Impossibile eseguire il dump di base per la macchina virtuale Linux bloccata.

Risoluzione

Per risolvere il problema, configurare il kernel kexec utilizzando il driver di archiviazione standard di Linux. Questa configurazione deve essere eseguita dopo aver attivata la funzionalitÓ di kdump su una macchina virtuale di Linux. L'idea di base consiste nel disattivare il driver di archiviazione Linux Integration Services e quindi attivare il driver di archiviazione Linux standard all'interno del kernel kexec utilizzando il parametro prefer_ms_hyper_v in posizioni strategiche.

Il parametro prefer_ms_hyper_v consente di controllare il comportamento del driver di archiviazione Linux standard. Quando questo parametro Ŕ impostato su 1 e la macchina virtuale di Linux Ŕ in esecuzione su Hyper-V, il driver di archiviazione Linux standard si disattiva automaticamente e il driver di archiviazione Linux Integration Services Ŕ possibile controllare le periferiche di archiviazione. Impostando il parametro prefer_ms_hyper_v su 0, il driver di archiviazione Linux standard pu˛ funzionare. PoichÚ il driver di archiviazione standard Linux non richiede una connessione a Hyper-V, il kernel kexec possibile eseguire il dump core.

Diverse distribuzioni di Linux sono leggermente diversi meccanismi per specificare il valore di prefer_ms_hyper_v. Nella sezione seguente viene descritto come impostare il parametro per diverse distribuzioni di Linux pi¨ diffuse.

Red Hat Enterprise Linux (RHEL) 5.9

In 5.9 RHEL, Ŕ necessario passare il parametro prefer_ms_hyper_v tramite un argomento della riga di comando del kernel per il modulo ide_core che Ŕ incorporato nel kernel di RHEL 5.9. Per impostazione predefinita, questo parametro viene inizializzato su 1e questo fa sý che la macchina virtuale di Linux evitare di utilizzare il modulo ide_core se Ŕ in esecuzione in un ambiente Hyper-V. Gli amministratori devono impostare il valore del parametro prefer_ms_hyper_v su 0 , in modo che il driver ide_core diventa operativo durante il processo di avvio del kernel kexec. Tale scopo, Ŕ possibile modificare il contenuto di /etc/kdump.conf.

Per modificare il contenuto del /etc/kdump.conf, attenersi alla seguente procedura:
  1. Eseguire il comando seguente per configurare kdump per scrivere in una directory locale:

    var/arresto di percorso
  2. Blacklist i driver Linux Integration Services in /etc/kdump.conf. I driver impedisce che vengano caricati al kernel kexec. A tale scopo, eseguire il comando riportato di seguito:

    blacklist hv_vmbus hv_storvsc hv_utils hv_netvsc hid_hyperv
  3. Configurare il valore di timeout del disco eseguendo il comando riportato di seguito:

    disk_timeout 100
  4. Dopo le modifiche necessarie, il file /etc/kdump.conf Ŕ il seguente:
    var/arresto di percorso
    livello di messaggio core_collector makedumpfile - c - 1 - d 31
    blacklist hv_vmbus hv_storvsc hv_utils hv_netvsc hid_hyperv
    disk_timeout 100
  5. Modificare il contenuto del file /etc/sysconfig/kdump come segue:
    • Aggiungere o modificare la riga seguente per includere la prefer_ms_hyperv = 0 argomento:

      KDUMP_COMMANDLINE_APPEND = "irqpoll maxcpus = 1 reset_devices ide_core.prefer_ms_hyperv=0"
    • Dopo le modifiche necessarie, il file /etc/sysconfig/kdump Ŕ il seguente:
      KDUMP_COMMANDLINE = ""

      # Questa variabile consente di aggiungere argomenti alla riga di comando kdump corrente
      # Come uno KDUMP_COMMANDLINE sopra o proc/cmdline prelevati

      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, Ŕ necessario passare il parametro prefer_ms_hyper_v per il modulo del driver ata_piix . Questo scopo, Ŕ possibile modificare il contenuto del file /etc/kdump.conf.

Per modificare il contenuto del /etc/kdump.conf, attenersi alla seguente procedura:
  1. Configurare kdump per scrivere in una directory locale:

    var/arresto di percorso
  2. Aggiungere ulteriori moduli ata_piix, sr_mod, sd_mod:

    extra_modules ata_piix sr_mod sd_mod
  3. Driver Linux Integration Services di blacklist in etc/kdump.conf. In questo modo i driver di caricamento del kernel di kexec:

    blacklist hv_vmbus hv_storvsc hv_utils hv_netvsc hid_hyperv
  4. Aggiungere opzioni parametro per passare il parametro per il modulo ata_piix:

    Opzioni ata_piix prefer_ms_hyperv = 0
  5. Configurare il valore di timeout del disco in modo che non risponda (si blocchi):

    disk_timeout 100
  6. Dopo le modifiche necessarie, il file /etc/kdump.conf Ŕ il seguente:
    var/arresto di percorso
    livello di messaggio core_collector makedumpfile - c - 1 - d 31
    extra_modules ata_piix sr_mod sd_mod
    blacklist hv_vmbus hv_storvsc hv_utils hv_netvsc hid_hyperv
    Opzioni ata_piix prefer_ms_hyperv = 0
    disk_timeout 100

Ubuntu 12.04(.x)

In Ubuntu 12.04 (.x), Ŕ necessario passare il parametro prefer_ms_hyper_v per il driver ata_piix . Questo scopo, Ŕ possibile modificare il contenuto del file /etc/init.d/kdump.

Per modificare il contenuto del file /etc/init.d/kdump, aggiungere ata_piix. prefer_ms_hyper_v = 0 e le opzioni della riga di comando kdump:
{{} 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)

Nelle distribuzioni SLES 11 SP2(x), Ŕ necessario passare il parametro prefer_ms_hyper_v per il driver ata_piix . Tale scopo, Ŕ possibile modificare il contenuto del file /etc/sysconfig/kdump come segue:

Aggiungere ata_piix.prefer_ms_hyper_v=0 a KDUMP_COMMANDLINE_APPEND:

KDUMP_COMMANDLINE_APPEND="ata_piix.prefer_ms_hyperv=0"

Dopo le modifiche necessarie, il file /etc/sysconfig/kdump Ŕ il seguente:

KDUMP_COMMANDLINE_APPEND="ata_piix.prefer_ms_hyperv=0"

Informazioni

KDUMP deve essere configurato nel modo standard consigliati da distribuzioni di Linux.

I prodotti di terze parti descritti in questo articolo sono forniti da societÓ indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita, sulle prestazioni o sull'affidabilitÓ di questi prodotti.

ProprietÓ

Identificativo articolo: 2858695 - Ultima modifica: martedý 25 giugno 2013 - Revisione: 2.0
Le informazioni in questo articolo si applicano a:
  • 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
Chiavi:á
kbmt KB2858695 KbMtit
Traduzione automatica articoli
IMPORTANTE: il presente articolo Ŕ stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l?obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre Ŕ perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilitÓ per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualitÓ della traduzione.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 2858695
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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