Partilhar via


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:

  1. 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.

  2. 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.

  3. Crie ou edite um modelo de nó do Azure para especificar o script de inicialização.

  4. 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