Condividi tramite


Usare uno script di avvio per i nodi di Azure

È possibile configurare uno script di avvio che viene eseguito automaticamente in un set di nodi di Azure all'avvio (con provisioning). Usando uno script di avvio, è possibile assicurarsi che un gruppo di nodi sia configurato correttamente per l'esecuzione di processi specifici. Inoltre, i nodi vengono ripristinati in uno stato noto se non sono disponibili a causa di un'interruzione del servizio e le istanze del ruolo devono essere di nuovo sottoposte a provisioning in Azure. Ad esempio, usando uno script di avvio, è possibile installare applicazioni o driver, configurare una cartella condivisa o aprire porte del firewall per applicazioni specifiche. È anche possibile usare uno script di avvio per configurare subset di nodi in modo diverso all'interno del set di nodi di Azure distribuiti usando un modello di nodo specifico.

In questo argomento:

Annotazioni

  • Gli script di avvio di Azure sono supportati a partire da HPC Pack 2008 R2 con Service Pack 2.
  • Se il completamento di uno script di avvio richiede più di 15 minuti, il controller di infrastruttura di Azure potrebbe causare l'esito negativo del provisioning di un'istanza del ruolo.

Procedura generale per configurare e usare uno script di avvio

Di seguito sono riportati i passaggi generali per la configurazione e l'uso di uno script di avvio per i nodi di Azure:

  1. Creare uno script di configurazione (ad esempio ,startup.bat) che usa le variabili di ambiente per distinguere i nodi e per impostare configurazioni diverse. Per altre informazioni, vedere le sezioni rimanenti di questo argomento.

  2. Usare il comando hpcpack per creare un pacchetto dello script e caricarlo nell'account di archiviazione di Azure usato per distribuire i nodi di Azure.

    Importante

    Non specificare il parametro durante la creazione del pacchetto e il /relativePath caricamento dello script di avvio. Lo script di avvio deve essere eseguito solo dalla directory radice dei nodi di Azure.

  3. Creare o modificare un modello di nodo di Azure per specificare lo script di avvio.

  4. Avviare (effettuare il provisioning) dei nodi di Azure.

    Lo script di avvio viene distribuito automaticamente nei nodi di Azure ed eseguito nei nodi. Se si verifica un problema durante l'esecuzione dello script, è possibile esaminare i log degli errori. Per altre informazioni, vedere Risolvere i problemi relativi alle distribuzioni di nodi di Azure con Microsoft HPC Pack.

Nomi di script

È necessario garantire la conformità tra il nome del pacchetto caricato in Azure e il nome dello script eseguito (e specificato nel modello di nodo). Nella tabella seguente sono consentite solo le convenzioni di denominazione:

Nome script Nome del pacchetto
file.extension (esempio: startup.bat) file.extension.zip (esempio: startup.bat.zip)

-O-

.zip di file (esempio: startup.zip)

Variabili di ambiente

È possibile usare le variabili di ambiente nella tabella seguente, impostate automaticamente nei nodi di Azure, per configurare lo script di avvio:

Variabile di ambiente Descrizione
HPC_NODE_NAME Nome del nodo di Azure configurato automaticamente da Microsoft HPC Pack, ad esempio AZURECN-0014.
HPC_NODE_GROUPS Elenco delimitato da virgole di gruppi di nodi a cui appartiene il nodo. Consente di specificare il comportamento di uno script per subset diversi dei nodi. Nota: HPC_NODE_GROUPS viene impostato solo quando il nodo di Azure viene avviato per la prima volta. La variabile non viene aggiornata dinamicamente se la variabile viene aggiornata e il nodo viene nuovamente sottoposto a provisioning.

Esempio

L'esempio seguente è un file batch che configura una regola del firewall in un subset di nodi identificati dal gruppo di nodi Port31337 Server Group. È possibile adattare questo modello per creare script di avvio che eseguono altre attività.

@echo off  
echo %HPC_NODE_GROUPS% | findstr /C: "Port31337 Server Group"  
if %errorlevel% == 0 (  
echo Creating firewall exception  
netsh advfirewall firewall add rule name="MyRule" dir=in protocol=tcp localport=31337 action=allow enable=yes  
)  
  

File di registro

Se si verifica un problema durante l'esecuzione di uno script di avvio, esaminare i file di log per lo script. I log per gli script di avvio sono elencati nella tabella seguente. I file di log si trovano nella cartella %CCP_HOME% in ogni nodo del ruolo di lavoro di Azure.

File di log Descrizione
HpcStartupCommand.log Codice di uscita e flusso di output
HpcStartupCommand.err Flusso di errori

Vedere anche

Configurazione di un modello di nodo di Azure per Microsoft HPC Pack