Condividi tramite


Risolvere i problemi relativi alle distribuzioni di nodi di Azure con Microsoft HPC Pack

Questo argomento contiene informazioni utili per risolvere i problemi relativi alle distribuzioni dei nodi di Azure con HPC Pack.

Per i requisiti generali e le procedure consigliate per distribuire nodi di Azure con HPC Pack, vedere quanto segue:

Linee guida generali per la risoluzione dei problemi di distribuzione

  • Se si verifica un problema con la connessione Internet o con le informazioni sulla sottoscrizione di Azure fornite nel modello di nodo, la distribuzione del nodo di Azure può non riuscire. È possibile convalidare le impostazioni di connessione per Azure nel modello di nodo. Aprire il modello in Node Template Editor. Nella scheda informazioni di connessione fare clic su Convalidare le informazioni di connessione.

  • In caso di problemi con la configurazione del certificato di gestione di Azure, vedere Risolvere i problemi relativi ai certificati.

  • Se si esegue almeno HPC Pack 2008 R2 con SP2, è possibile eseguire il test di diagnostica porte del firewall di Azure e il test di diagnostica connessione ai servizi di Azure per verificare che il firewall di rete e altre impostazioni siano configurate correttamente per la comunicazione tra HPC Pack e Azure o per risolvere i problemi di connettività.

  • Se l'ora di sistema non è impostata in modo accurato nel computer del nodo head (o nei computer del nodo head), alcune operazioni di Azure, ad esempio la creazione del modello di nodo o la distribuzione di nuovi nodi, possono avere esito negativo con un errore simile al seguente:

    Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.  
    
  • Se si verificano errori parziali nella distribuzione, in cui i nodi di Azure non sono online, è possibile provare a eseguire il comando telnet seguente per verificare se il servizio cloud specificato nel modello di nodo è raggiungibile all'endpoint di Azure:

    telnet <ServiceName>.cloudapp.net 7999  
    

    Nota

    Per eseguire questo comando, è necessario installare la funzionalità Client Telnet nel sistema operativo. Per informazioni su come installare Il client Telnet tramite Server Manager, vedere la Guida operativa Telnet.

  • Un problema in Azure può influire su un subset dei nodi di Azure inclusi in un set. Ad esempio, se si avvia un numero elevato di nodi, è possibile che la distribuzione non riesca in uno o più nodi. In questo caso, verranno visualizzate le informazioni di stato appropriate per i nodi non riusciti in Gestione risorse (denominata Node Management in alcune versioni di HPC Pack).

  • Le informazioni sullo stato della distribuzione sono visualizzate nelle informazioni sull'account del servizio nel portale. HpC Cluster Manager esegue regolarmente una query in questo portale per ottenere informazioni aggiornate sullo stato. Tuttavia, le informazioni nel portale possono essere diverse da quelle nei log di provisioning o nel log delle operazioni in Gestione cluster HPC.

  • Se si verifica un errore di distribuzione in Azure, potrebbe essere visualizzato un messaggio di errore e informazioni sulla risoluzione dei problemi nelle informazioni sul servizio cloud nel portale o nel log di provisioning in Gestione cluster HPC. Se non è possibile risolvere il problema, è possibile esaminare i log di traccia generati nelle istanze del ruolo nella distribuzione. Per altre informazioni, vedere file di log di traccia nei nodi di Azure in questo argomento.

    È anche possibile visitare supporto tecnico di Azure. Per facilitare la risoluzione del problema, prepararsi a fornire l'ID sottoscrizione configurato nel modello di nodo e l'ID di distribuzione visualizzato nel log di provisioning in Gestione cluster HPC e nel portale.

  • Dopo aver effettuato il provisioning di un set di nodi in Azure, è possibile avviare un set aggiuntivo di nodi usando lo stesso modello di nodo. Tuttavia, in alcuni casi, i nodi aggiuntivi non vengono online in HPC Cluster Manager, ma sembrano essere distribuiti correttamente in Azure. In questo caso, potrebbe non essere possibile usare Gestione cluster HPC per arrestare o eliminare i nodi non riusciti. Se necessario, arrestare e riavviare il servizio di gestione HPC. Quindi, per eliminare i nodi, usare il portale di gestione di Azure.

  • A partire da HPC Pack 2012 con SP1, per risolvere i problemi relativi alle distribuzioni dei nodi di Azure, è possibile scegliere di raccogliere nel nodo head e inviare ai dati Microsoft la disponibilità, la connettività e le prestazioni dei nodi di Azure. È possibile scegliere di eseguire questa operazione se è necessario aprire un evento imprevisto di supporto correlato a una distribuzione di nodi di Azure. Per abilitare la raccolta dati, in Gestione cluster HPC scegliere dal menu Opzioni di Supporto di Azure. In alternativa, configurare la proprietà del cluster AzureMetricsCollectionEnabled usando il cmdlet di PowerShell Set-HpcClusterProperty HPC PowerShell. Per altre informazioni sulla raccolta dei dati, vedere l'informativa sulla privacy di Microsoft HPC Pack .

File di log di traccia nei nodi di Azure

A partire da HPC Pack 2008 R2 con SP4, i file di log di traccia vengono generati automaticamente nei nodi di lavoro di Azure e nei nodi proxy HPC di Azure di cui viene eseguito automaticamente il provisioning per ogni distribuzione. I file di log possono aiutare l'utente o il supporto tecnico Microsoft a risolvere i problemi durante o dopo il provisioning dei nodi, ad esempio condizioni che possono causare la visualizzazione di uno stato di integrità di o errore , anche se il portale potrebbe indicare uno stato di Pronto.

I file di log di traccia contengono i tipi di informazioni seguenti su ogni nodo:

  • Informazioni di bootstrap per il sistema operativo.

  • Informazioni sui servizi HPC Pack che devono essere eseguiti nel nodo.

  • Informazioni sul file Hosts.

  • Dati del contatore delle prestazioni del sistema operativo.

I file di log vengono scritti nella risorsa di archiviazione locale in ogni nodo, come illustrato nella tabella seguente. I formati, le caratteristiche e la denominazione dei file di log di traccia dipendono dalla versione di HPC Pack.

Importante

I file di log vengono mantenuti solo nell'archiviazione locale nelle istanze del ruolo di Azure mentre i nodi rimangono di cui è stato effettuato il provisioning in Azure. A meno che i file o i dati non vengano copiati in un'altra posizione, non sarà possibile esaminare le informazioni del log di traccia dopo l'arresto o l'eliminazione dei nodi di Azure. Per altre informazioni, vedere Scenari di per archiviare i dati del log di traccia in questo argomento.

Versione di HPC Pack File di log Note
HPC Pack 2012 o versione successiva - nodi di lavoro C:\logs\hpcworker_nnnnnn.bin
- nodi proxy C:\logs\hpcproxy_nnnnnn.bin
- I file di log sono in formato binario. Il livello di registrazione predefinito è Dettagliato.
- Ogni file di log è di dimensioni massime di 4 MB per impostazione predefinita e un massimo di 5000 MB di file di log può essere archiviato in ogni nodo.
- Per facilitare l'analisi, i file di log possono essere convertiti in file di testo separati da tabulazioni eseguendo il parselog sottocomando del hpctrace strumento da riga di comando installato con HPC Pack. Per altre informazioni sull'uso di questo comando, vedere hpctrace.
HPC Pack 2008 R2 con SP4 nodi di lavoro - C:\logs\hpcworker.log
nodi proxy - C:\logs\hpcproxy.log
- I file di log sono in formato testo. Il livello di registrazione predefinito è Avviso o superiore.
- In ogni nodo vengono scritti fino a cinque file di log con estensione 00<numero intero>.
- I file di log in ogni nodo sono limitati a 60 MB e quindi vengono cicliti automaticamente.

Nota

È possibile usare la Configurare le impostazioni di per il servizio cloud nel portale classico per modificare il livello di traccia per processi specifici nei nodi di Azure, ad esempio Microsoft.Hpc.Azure.AzureNodeManagerTracing).

Scenari per archiviare i dati del log di traccia

I file di log di traccia generati nelle istanze del ruolo di Azure rimangono nell'archiviazione locale nelle istanze del ruolo, purché le istanze del ruolo siano in esecuzione. Tuttavia, se si vuole accedere ai dati dopo che una distribuzione di Azure è stata arrestata o i nodi vengono eliminati, è necessario scaricare o archiviare i file di log di traccia o i dati nell'archiviazione permanente, ad esempio Archiviazione di Azure, mentre le istanze del ruolo sono in esecuzione. Di seguito sono riportati gli scenari in cui archiviare i file di log di traccia o i dati.

Scenario 1: Abilitare il trasferimento automatico dei file di log di traccia nell'archivio BLOB di Azure

A partire da HPC Pack 2012 con SP1, l'amministratore del cluster HPC può facoltativamente abilitare il trasferimento automatico dei file di log di traccia dai nodi di calcolo o proxy di Azure in una distribuzione in un contenitore nell'archiviazione BLOB (hpclogs) nell'account di archiviazione di Azure per la distribuzione.

Per abilitare il trasferimento automatico dei file di log di traccia nell'archiviazione BLOB nell'account di archiviazione di Azure, in Gestione cluster HPC scegliere menu Opzioni Configurazione distribuzione di Azure. È anche possibile impostare la proprietà del cluster AzureLogstoBlob HPC usando il cmdlet Set-HpcClusterProperty cmdlet HPC PowerShell. È possibile scegliere di trasferire i log per nodi proxy, nodi di lavoro o entrambi. Per impostazione predefinita, il trasferimento dell'archiviazione BLOB dei file di log è disabilitato. La modifica della proprietà AzureLogstoBlob influisce solo sul trasferimento dei file di log per le distribuzioni future dei nodi di Azure. Le distribuzioni correnti non sono interessate. Per altre informazioni, vedere Set-HpcClusterProperty.

Importante

Il salvataggio dei file di log della distribuzione di Azure nell'archiviazione BLOB usa lo spazio di archiviazione e genera transazioni di archiviazione nell'account di archiviazione associato a ogni distribuzione. Se abilitata, il salvataggio dei file di log dai nodi di lavoro può influire sulle prestazioni di tutte le distribuzioni di Azure che usano lo stesso account di archiviazione, soprattutto se si hanno distribuzioni di grandi dimensioni o più distribuzioni simultanee. Lo spazio di archiviazione e le transazioni di archiviazione verranno fatturati all'account. Dopo aver disabilitato il trasferimento dei file di log, i file di log non verranno rimossi automaticamente dall'archiviazione di Azure. È possibile conservare i file di log per riferimento futuro scaricandoli. I file di log possono essere puliti rimuovendo il contenitore hpclogs dall'account di archiviazione.

È possibile eseguire il comando hpcazurelog sui nodi head per scaricare i dati dall'archiviazione BLOB nell'account di archiviazione in una cartella locale e per eliminare i file dall'archivio BLOB. Per altre informazioni, vedere hpcazurelog.

Scenario 2: Abilitare il trasferimento automatico dei dati dei log di traccia nell'archiviazione tabelle di Azure

A partire da HPC Pack 2012, l'amministratore del cluster HPC può facoltativamente abilitare il trasferimento dei dati dei log di traccia dai nodi di Azure in una distribuzione in una tabella di diagnostica di Azure (WADSLogsTable) creata a questo scopo nell'account di archiviazione di Azure per la distribuzione.

Per abilitare il trasferimento dei dati del log di traccia nella tabella WADSLogsTable nell'account di archiviazione di Azure, impostare la proprietà azureLoggingEnabled cluster HPC su true usando il cmdlet Set-HpcClusterProperty cmdlet HPC PowerShell. Per impostazione predefinita, solo gli eventi Critical, Error e Warning nei file di log vengono filtrati per l'inclusione nella tabella WADSLogstable. La modifica della proprietà azureLoggingEnabled influisce solo sulla registrazione per le distribuzioni future dei nodi di Azure. Le distribuzioni correnti non sono interessate. Per altre informazioni, vedere Set-HpcClusterProperty.

Importante

  • La registrazione delle attività di distribuzione di Azure usa lo spazio di archiviazione tabelle e genera transazioni di archiviazione nell'account di archiviazione associato a ogni distribuzione. Lo spazio di archiviazione e le transazioni di archiviazione comportano addebiti in base alle condizioni della sottoscrizione di Azure.
  • La registrazione nell'archiviazione di Azure deve essere in genere abilitata solo quando si verificano problemi con la distribuzione e per facilitare la risoluzione dei problemi relativi alla distribuzione. Dopo aver disabilitato la registrazione nell'archiviazione di Azure, i dati di log non verranno rimossi automaticamente dall'archiviazione di Azure. È possibile conservare i log per i riferimenti futuri scaricandoli. Le voci di log possono essere pulite rimuovendo WADLogsTable dall'account di archiviazione

A partire da HPC Pack 2012 con SP1, è possibile eseguire il comando hpcazurelog sul nodo head per scaricare i dati dalla tabella WADLogsTable nell'account di archiviazione a una cartella locale e per specificare il livello di traccia dei dati selezionati per l'archiviazione nella tabella. Per altre informazioni, vedere hpcazurelog.

Scenario 3: recuperare e archiviare manualmente i file di log dai nodi di Azure

Per facilitare un'ulteriore analisi, è possibile scaricare manualmente i file di log dai nodi di Azure in un computer locale o caricarli in un account di archiviazione di Azure.

Scaricare i file di log

Per scaricare i file di log, è possibile usare una delle procedure seguenti:

  • Eseguire il comando hpcfile get per scaricare i file di log da ogni nodo singolarmente.

  • Eseguire uno script che usa hpcfile ottenere per scaricare file da gruppi di nodi di lavoro.

  • Usare il portale di gestione di Azure per connettersi in remoto a ogni nodo singolarmente. È quindi possibile copiare il file di log o i file in un computer locale.

  • Eseguire il comando hpcazurelog nel nodo head per scaricare i file dai nodi del ruolo di lavoro di Azure o dai nodi proxy. Questo comando è stato introdotto in HPC Pack 2012 con SP1 e non è supportato nelle versioni precedenti. Per altre informazioni, vedere hpcazurelog.

Nota

  • Per stabilire una connessione remota a un nodo di Azure, assicurarsi di configurare le credenziali di Desktop remoto nel modello di nodo di Azure.
  • Per scaricare i file di log dai nodi proxy HPC, è necessario stabilire una connessione remota a ogni nodo e quindi copiare i file di log singolarmente in un computer locale.

Di seguito sono riportati i comandi e gli script di esempio che usano hpcfile get per scaricare i file di log dai nodi di lavoro di Azure. Per altre informazioni sulla sintassi dei comandi, vedere hpcfile.

Esempio 1. Per scaricare i file di log di traccia, inclusi i possibili file di overflow, dal nodo di Azure AZURECN-001 in un cluster con hpC Pack 2008 R2 con nodo head SP4 denominato myHeadNode alla cartella corrente nel computer locale, rinominare i file per evitare la sovrascrittura dei file nel computer locale:

hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log" /destfile:"worker001.log"  
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.001" /destfile:"worker002.log"  
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.002" /destfile:"worker003.log"  
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.003" /destfile:"worker004.log"  
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.004" /destfile:"worker005.log"  
hpcfile get /scheduler:myHeadNode /targetnode:AZURECN-001 /file:"C:\logs\hpcworker.log.005" /destfile:"worker006.log"  

Esempio 2. Per scaricare i file di log hpcworker_000000.bin dai nodi di Azure nel gruppo di nodi WorkerNodes con nomi che iniziano AZURECN in un cluster con un nodo head HPC Pack 2012 denominato myHeadNode nella cartella C:\myFiles\myLogs nel computer locale:

@echo off  
set "extension=.bin"  
set "fullfilepath=C:\myFiles\myLogs"  
mkdir C:\myFiles\myLogs  
FOR /F "tokens=1 delims="%%G IN ('node list /group:WorkerNodes ^| FIND "AZURECN-"') DO hpcfile get /scheduler:MyHeadNode /targetnode:%%G -file:"C:\logs\hpcworker_000000.bin" /destfile:"%fullfilepath%%%G%%%extension%"  

Caricare i file di log nell'account di archiviazione di Azure

È possibile usare una delle procedure seguenti per caricare i file di log di traccia dai nodi del ruolo di lavoro di Azure in un account di archiviazione di Azure:

  1. Scaricare uno o più file di log in un computer locale come descritto nella sezione precedente e quindi caricarli in un account di archiviazione di Azure eseguendo il comando caricamento hpcpack.

  2. Eseguire uno script in uno o più nodi di Azure che usano caricamento hpcpack per caricare i file di log direttamente nell'account di archiviazione.

    Nota

    • Per eseguire uno script in un gruppo di nodi di Azure, è prima possibile caricare lo script da un computer locale ai nodi.
    • Come descritto in Scenario 1: Abilitare il trasferimento automatico dei file di log di traccia nell'archiviazione BLOB di Azure, a partire da HPC Pack 2012 con SP1, è possibile abilitare il trasferimento automatico dei file di log di traccia nell'archiviazione BLOB nell'account di archiviazione di Azure. Tuttavia, se non si usa una versione di HPC Pack che supporta questa funzionalità o non è stato abilitato il trasferimento automatico dei file di log nell'archivio BLOB, è possibile caricarli manualmente in tale percorso.

Di seguito sono riportati gli script di esempio che usano caricamento hpcpack per caricare i file di log dai nodi del ruolo di lavoro di Azure all'account di archiviazione di Azure. Per altre informazioni sulla sintassi dei comandi, vedere hpcpack.

Nota

Poiché i file di log nei nodi di lavoro sono denominati in modo identico, è consigliabile evitare di sovrascrivere i file quando vengono caricati nell'account di archiviazione di Azure. Ad esempio, è possibile rinominare i file di log con nomi che includono il nome host del nodo, come illustrato negli esempi seguenti.

Esempio 3. Per caricare e rinominare i file di hpcworker_000000.bin dai nodi di lavoro di Azure al contenitore MyLogs nell'account di archiviazione di Azure denominato MyStorageAccount con una chiave primaria denominata MyPrimaryKey

@echo off  
REM Get the host name of the Azure node  
FOR /F "usebackq" %%i IN ('e:\approot\mpiexec.exe -c 1 hostname') DO SET filename=%%i  
set "extension=.bin"  
set "fullpath=C:\logs"  
REM Consolidate the log file name (e.g., AzureCN-001.bin)  
set "fullfilePath=%fullpath%%filename%%extension%"  
REM echo:%fullfilePath%  
REM Create a temporary file with desired name  
copy C:\logs\hpcworker_000000.bin %fullfilePath%  
e:\approot\hpcpack upload %fullfilePath% /account:MyStorageAccount /container:MyLogs /key:MyPrimaryKey  
del %fullfilePath%  

Esempio 4. Per caricare uno script Uploader.bat (simile allo script nell'esempio 3) dal nodo head a un contenitore denominato MyContainer in un account di archiviazione di Azure denominato MyStorageAccount, scaricare lo script nei nodi di Azure nel gruppo di nodi denominato WorkerNodese quindi eseguire Uploader.bat nei nodi in WorkerNodes:

hpcpack upload uploader.bat /account:MyStorageAccount /container:MyLogs /key:MyPrimaryKey  
clusrun /nodegroup:WorkerNodes hpcpack download uploader.bat /account:MyStorageAccount /container:MyLogs /key:MyPrimaryKey /path:c:\logs  
clusrun /nodegroup:WorkerNodes c:\logs\uploader.bat  
clusrun /nodegroup:WorkerNodes del c:\logs\uploader.bat  

Visualizzare i dati di log in un account di archiviazione di Azure

Per visualizzare i log presenti nella tabella o nell'archiviazione BLOB di Azure, è possibile esplorare l'archiviazione usando uno strumento come Azure Storage Explorer.

Vedere anche

burst in istanze di lavoro di Azure con Microsoft HPC Pack
hpcazurelog