Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È 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:
Nota
- 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:
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.
Usare il comando hpcpack per creare il pacchetto dello script e caricarlo nell'account di archiviazione di Azure usato per distribuire i nodi di Azure.
Importante
Non specificare il parametro
/relativePathdurante la creazione di pacchetti e il caricamento dello script di avvio. Lo script di avvio deve essere eseguito solo dalla directory radice dei nodi di Azure.Creare o modificare un modello di nodo di Azure per specificare lo script di avvio.
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 pacchetto |
|---|---|
| file.extension (esempio: startup.bat) |
file.extension.zip (esempio: startup.bat.zip) -O- file.zip (ad 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 log
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