Usar um script de inicialização para nós do Azure
Você pode configurar um script de inicialização que é executado automaticamente em um conjunto de nós do Azure quando eles são iniciados (provisionados). Usando um script de inicialização, você pode garantir que um grupo de nós esteja configurado corretamente para executar trabalhos específicos. Além disso, os nós serão restaurados para um estado conhecido se ficarem indisponíveis devido a uma interrupção de serviço e as instâncias de função precisarem ser provisionadas no Azure novamente. Por exemplo, usando um script de inicialização, você pode instalar aplicativos ou drivers, configurar uma pasta compartilhada ou abrir portas de firewall para aplicativos específicos. Você também pode usar um script de inicialização para configurar subconjuntos de nós de forma diferente dentro do conjunto de nós do Azure implantados usando um modelo de nó específico.
Neste tópico:
Nota
- Há suporte para scripts de inicialização do Azure a partir do HPC Pack 2008 R2 com o Service Pack 2.
- Se um script de inicialização levar mais de 15 minutos para ser concluído, o Controlador do Azure Fabric poderá causar falha no provisionamento de uma instância de função.
Etapas gerais para configurar e usar um script de inicialização
Estas são as etapas gerais para configurar e usar um script de inicialização para seus nós do Azure:
Crie um script de configuração (por exemplo, startup.bat) que use variáveis de ambiente para diferenciar nós e definir configurações diferentes. Para obter mais informações, consulte as seções restantes neste tópico.
Use o comando hpcpack para empacotar o script e carregá-lo na conta de armazenamento do Azure usada para implantar os nós do Azure.
Importante
Não especifique o parâmetro
/relativePath
ao empacotar e carregar o script de inicialização. O script de inicialização só deve ser executado no diretório raiz dos nós do Azure.Crie ou edite um modelo de nó do Azure para especificar o script de inicialização.
Inicie (provisionar) os nós do Azure.
O script de inicialização é implantado automaticamente nos nós do Azure e é executado nos nós. Se ocorrer um problema quando o script for executado, você poderá examinar os logs de erros. Para obter mais informações, consulte Solucionar problemas de implantações de nós do Azure com o Microsoft HPC Pack.
Nomes de script
Você deve garantir a conformidade entre o nome do pacote que você carrega no Azure e o nome do script que é executado (e que é especificado no modelo de nó). Somente as convenções de nomenclatura na tabela a seguir são permitidas:
Nome do script | Nome do pacote |
---|---|
file.extension (exemplo: startup.bat) |
.zip file.extension (exemplo: startup.bat.zip) -OU- .zip de arquivo (exemplo: startup.zip) |
Variáveis de ambiente
Você pode usar as variáveis de ambiente na tabela a seguir, que são definidas automaticamente nos nós do Azure, para ajudar a configurar o script de inicialização:
Variável de ambiente | Descrição |
---|---|
HPC_NODE_NAME | O nome do nó do Azure configurado automaticamente pelo Microsoft HPC Pack, por exemplo, AZURECN-0014. |
HPC_NODE_GROUPS | Uma lista delimitada por vírgulas de grupos de nós aos quais o nó pertence. Permite que o comportamento de um script seja especializado para subconjuntos diferentes dos nós. Observação: HPC_NODE_GROUPS é definido somente quando o nó do Azure é iniciado pela primeira vez. A variável não será atualizada dinamicamente se a variável for atualizada e o nó for provisionado novamente. |
Exemplo
O exemplo a seguir é um arquivo em lote que configura uma regra de firewall em um subconjunto de nós que são identificados pelo grupo de nós grupo de servidores Port31337. Você pode adaptar esse padrão para criar scripts de inicialização que executam outras tarefas.
@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
)
Arquivos de log
Se ocorrer um problema quando um script de inicialização for executado, examine os arquivos de log do script. Os logs dos scripts de inicialização são listados na tabela a seguir. Os arquivos de log estão na pasta %CCP_HOME% em cada nó de trabalho do Azure.
Arquivo de log | Descrição |
---|---|
HpcStartupCommand.log | Sair do código e do fluxo de saída |
HpcStartupCommand.err | Fluxo de erros |
Consulte Também
configurar um modelo de nó do Azure para o Microsoft HPC Pack