Criar um cluster HPC (computação de alto desempenho) do Windows usando o script de implantação IaaS do HPC Pack
Importante
As VMs clássicas serão desativadas em 1º de março de 2023.
Se você usa os recursos de IaaS do ASM, realize a migração até 1º de março de 2023. Recomendamos que faça a migração o quanto antes para aproveitar as inúmeras melhorias feitas no Azure Resource Manager.
Para mais informações, confira Migrar os recursos de IaaS para o Azure Resource Manager até 1º de março de 2023.
Execute o script do PowerShell de implantação do HPC Pack IaaS para implantar um cluster HPC Pack 2012 R2 completo para cargas de trabalho do Windows nas máquinas virtuais do Azure. O cluster consiste em um nó principal associado do Active Directory que executa o Windows Server e o Pacote HPC da Microsoft, e os recursos de computação especificados. Se você desejar implantar um cluster de HPC Pack no Azure para cargas de trabalho do Linux, consulte Criar um cluster de HPC Linux com o script de implantação do HPC Pack IaaS.
Importante
O script do PowerShell descrito neste artigo cria um cluster Microsoft HPC Pack 2012 R2 no Azure usando o modelo de implantação clássico. A Microsoft recomenda que a maioria das implantações novas use o modelo do Gerenciador de Recursos. Além disso, o script descrito neste artigo não é compatível com HPC Pack 2016. Para obter informações sobre modelos do Resource Manager para HPC Pack 2012 R2 e HPC Pack 2016, consulte as Opções de implantação de cluster do HPC Pack no Azure.
Dependendo de seu ambiente e opções, o script pode criar toda a infraestrutura de cluster, incluindo a rede virtual do Azure, as contas de armazenamento, os serviços de nuvem, o controlador de domínio, os bancos de dados SQL locais ou remotos, o nó principal e nós de cluster adicionais. Como alternativa, o script pode usar a infraestrutura existente do Azure e criar somente os nós de cluster HPC.
Para obter informações detalhadas sobre o planejamento de um cluster Pacote HPC, confira o conteúdo de Avaliação e planejamento de produto e de Introdução na biblioteca de Pacote HPC 2012 R2 do TechNet.
Pré-requisitos
- Assinatura do Azure: você pode usar uma assinatura no serviço Azure Global ou no Azure China. Seus limites de assinatura afetam o número e o tipo de nós de cluster que você pode implantar. Para obter informações, consulte Limites, cotas e restrições de serviço e assinatura do Azure.
- Computador cliente do Windows com o Azure PowerShell 0.8.10 ou posterior instalado e configurado – Confira Introdução ao Azure PowerShell para obter instruções de instalação e etapas para conectar-se à sua assinatura do Azure.
-
Script de implantação do Pacote HPC IaaS: baixe e descompacte a versão mais recente do script no Centro de Download da Microsoft. Verifique a versão do script executando
New-HPCIaaSCluster.ps1 –Version
. Este artigo se baseia na versão 4.5.2 do script. - Arquivo de configuração do script: crie um arquivo XML que o script usa para configurar o cluster HPC. Para obter informações e exemplos, consulte as seções mais adiante neste artigo e o arquivo Manual.rtf que acompanha o script de implantação.
Sintaxe
New-HPCIaaSCluster.ps1 [-ConfigFile] <String> [-AdminUserName]<String> [[-AdminPassword] <String>] [[-HPCImageName] <String>] [[-LogFile] <String>] [-Force] [-NoCleanOnFailure] [-PSSessionSkipCACheck] [<CommonParameters>]
Observação
Execute o script como um administrador.
Parâmetros
ConfigFile: especifica o caminho do arquivo de configuração para descrever o cluster HPC. Confira mais sobre o arquivo de configuração neste tópico ou no arquivo Manual.rtf na pasta que contém o script.
AdminUserName: especifica o nome de usuário. Se a floresta de domínio for criada pelo script, isso se tornará o nome de usuário de administrador local para todas as VMs e o nome do administrador do domínio. Se já existir a floresta de domínio, o usuário de domínio é especificado como o nome de usuário de administrador local para instalar o Pacote HPC.
AdminPassword: especifica a senha do administrador. Se não estiver especificado na linha de comando, o script solicitará que você digite a senha.
HPCImageName (opcional): especifica o nome de imagem da VM do Pacote HPC usado para implantar o cluster HPC. Ele deve ser uma imagem de Pacote HPC fornecida pela Microsoft no Azure Marketplace. Se não estiver especificado (recomendado na maioria dos casos), o script escolhe a imagem de Pacote HPC 2012 R2publicada mais recentemente. A imagem mais recente se baseia no Windows Server 2012 R2 Datacenter com Pacote HPC 2012 R2 Atualização 3 instalado.
Observação
A implantação falhará se você não especificar uma imagem válida do Pacote HPC.
LogFile (opcional): especifica o caminho de arquivo de log de implantação. Se não for especificado, o script cria um arquivo de log no diretório temporário do computador que executa o script.
Force (opcional): suprime todas as solicitações de confirmação.
NoCleanOnFailure (opcional): especifica que as VMs do Azure que não forem implantadas com êxito não serão removidas. Remova essas VMs manualmente antes de executar novamente o script para continuar a implantação ou esta poderá falhar.
PSSessionSkipCACheck (opcional): para cada serviço de nuvem com VMs implantadas por esse script, um certificado autoassinado é automaticamente gerado pelo Azure e todas as VMs no serviço de nuvem usam esse certificado como o certificado do Windows Remote Management (WinRM) padrão. Para implantar recursos de HPC nessas VMs do Azure, por padrão, o script instala temporariamente esses certificados no armazenamento Computador Local\Autoridades de Certificação Raiz Confiáveis do computador cliente para suprimir o erro de segurança "AC não confiável" durante a execução do script. Os certificados são removidos quando o script termina. Se esse parâmetro for especificado, os certificados não serão instalados no computador cliente e o aviso de segurança será suprimido.
Importante
Esse parâmetro não é recomendado para implantações de produção.
Exemplo
O exemplo a seguir cria um cluster Pacote HPC usando o arquivo de configuração MyConfigFile.xml e especifica as credenciais de administrador para instalar o cluster.
.\New-HPCIaaSCluster.ps1 –ConfigFile MyConfigFile.xml -AdminUserName <username> –AdminPassword <password>
Considerações adicionais
- O script opcionalmente pode habilitar o envio de trabalho por meio do portal da Web Pacote HPC ou da API REST do Pacote HPC.
- O script pode opcionalmente executar scripts de pré e pós-configuração personalizados no nó principal se você quiser instalar o software adicional ou definir outras configurações.
Arquivo de configuração
O arquivo de configuração para o script de implantação é um arquivo XML. O arquivo de esquema HPCIaaSClusterConfig.xsd está na pasta de script de implantação do Pacote HPC IaaS. IaaSClusterConfig é o elemento raiz do arquivo de configuração, que contém os elementos filhos descritos em detalhes no arquivo Manual.rtf na pasta de script de implantação.
Exemplo de arquivos de configuração
Nos exemplos a seguir, substitua seus próprios valores para a ID de assinatura ou nome, e os nomes da conta e do serviço.
Exemplo 1
O arquivo de configuração a seguir implanta um cluster de Pacote HPC que tem um nó de cabeçalho com os bancos de dados locais e cinco nós de computação executando o sistema operacional do Windows Server 2012 R2. Todos os serviços de nuvem são criados diretamente no local do Oeste dos EUA. O nó principal atua como controlador de domínio da floresta de domínio.
<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
<Subscription>
<SubscriptionId>08701940-C02E-452F-B0B1-39D50119F267</SubscriptionId>
<StorageAccount>mystorageaccount</StorageAccount>
</Subscription>
<Location>West US</Location>
<VNet>
<VNetName>MyVNet</VNetName>
<SubnetName>Subnet-1</SubnetName>
</VNet>
<Domain>
<DCOption>HeadNodeAsDC</DCOption>
<DomainFQDN>hpc.local</DomainFQDN>
</Domain>
<Database>
<DBOption>LocalDB</DBOption>
</Database>
<HeadNode>
<VMName>MyHeadNode</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
</HeadNode>
<ComputeNodes>
<VMNamePattern>MyHPCCN-%1000%</VMNamePattern>
<ServiceName>MyHPCCNService</ServiceName>
<VMSize>Medium</VMSize>
<NodeCount>5</NodeCount>
<OSVersion>WindowsServer2012R2</OSVersion>
</ComputeNodes>
</IaaSClusterConfig>
Exemplo 2
O arquivo de configuração a seguir implanta um cluster Pacote HPC em uma floresta de domínio existente. O cluster tem um nó principal com bancos de dados locais e 12 nós de computação com a extensão de VM BGInfo aplicada. A instalação automática de atualizações do Windows está desabilitada para todas as VMs na floresta de domínio. Todos os serviços de nuvem são criados diretamente no local no Leste da Ásia. Os nós de computação são criados em três serviços de nuvem e três contas de armazenamento: MyHPCCN-0001 a MyHPCCN-0005 em MyHPCCNService01 e mycnstorage01; MyHPCCN-0006 a MyHPCCN0010 em MyHPCCNService02 e mycnstorage02; e MyHPCCN-0011 a MyHPCCN-0012 em MyHPCCNService03 e mycnstorage03). Os nós de computação são criados de uma imagem privada existente capturada de um nó de computação. O serviço de aumento e encolhimento automático está habilitado com intervalos padrão de aumentar e encolher.
<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
<Subscription>
<SubscriptionName>Subscription-1</SubscriptionName>
<StorageAccount>mystorageaccount</StorageAccount>
</Subscription>
<Location>East Asia</Location>
<VNet>
<VNetName>MyVNet</VNetName>
<SubnetName>Subnet-1</SubnetName>
</VNet>
<Domain>
<DCOption>NewDC</DCOption>
<DomainFQDN>hpc.local</DomainFQDN>
<DomainController>
<VMName>MyDCServer</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>Large</VMSize>
</DomainController>
<NoWindowsAutoUpdate />
</Domain>
<Database>
<DBOption>LocalDB</DBOption>
</Database>
<HeadNode>
<VMName>MyHeadNode</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
</HeadNode>
<Certificates>
<Certificate>
<Id>1</Id>
<PfxFile>d:\mytestcert1.pfx</PfxFile>
<Password>MyPsw!!2</Password>
</Certificate>
</Certificates>
<ComputeNodes>
<VMNamePattern>MyHPCCN-%0001%</VMNamePattern>
<ServiceNamePattern>MyHPCCNService%01%</ServiceNamePattern>
<MaxNodeCountPerService>5</MaxNodeCountPerService>
<StorageAccountNamePattern>mycnstorage%01%</StorageAccountNamePattern>
<VMSize>Medium</VMSize>
<NodeCount>12</NodeCount>
<ImageName HPCPackInstalled=”true”>MyHPCComputeNodeImage</ImageName>
<VMExtensions>
<VMExtension>
<ExtensionName>BGInfo</ExtensionName>
<Publisher>Microsoft.Compute</Publisher>
<Version>1.*</Version>
</VMExtension>
</VMExtensions>
</ComputeNodes>
<AutoGrowShrink>
<CertificateId>1</CertificateId>
</AutoGrowShrink>
</IaaSClusterConfig>
Exemplo 3
O arquivo de configuração a seguir implanta um cluster Pacote HPC em uma floresta de domínio existente. O cluster contém um nó principal, um servidor de banco de dados com um disco de dados de 500 GB, dois nós de agentes executando o sistema operacional Windows Server 2012 R2 e cinco nós de computação executando o sistema operacional Windows Server 2012 R2. O serviço de nuvem MyHPCCNService é criado no grupo de afinidades MyIBAffinityGroup e os outros serviços de nuvem são criados no grupo de afinidades MyAffinityGroup. A API REST do Agendador de trabalho do HPC e o portal da Web do HPC estão habilitados no nó principal.
<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
<Subscription>
<SubscriptionName>Subscription-1</SubscriptionName>
<StorageAccount>mystorageaccount</StorageAccount>
</Subscription>
<AffinityGroup>MyAffinityGroup</AffinityGroup>
<Location>East Asia</Location>
<VNet>
<VNetName>MyVNet</VNetName>
<SubnetName>Subnet-1</SubnetName>
</VNet>
<Domain>
<DCOption>ExistingDC</DCOption>
<DomainFQDN>hpc.local</DomainFQDN>
</Domain>
<Database>
<DBOption>NewRemoteDB</DBOption>
<DBVersion>SQLServer2014_Enterprise</DBVersion>
<DBServer>
<VMName>MyDBServer</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
<DataDiskSizeInGB>500</DataDiskSizeInGB>
</DBServer>
</Database>
<HeadNode>
<VMName>MyHeadNode</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
<EnableRESTAPI />
<EnableWebPortal />
</HeadNode>
<ComputeNodes>
<VMNamePattern>MyHPCCN-%0000%</VMNamePattern>
<ServiceName>MyHPCCNService</ServiceName>
<VMSize>A8</VMSize>
<NodeCount>5</NodeCount>
<AffinityGroup>MyIBAffinityGroup</AffinityGroup>
</ComputeNodes>
<BrokerNodes>
<VMNamePattern>MyHPCBN-%0000%</VMNamePattern>
<ServiceName>MyHPCBNService</ServiceName>
<VMSize>Medium</VMSize>
<NodeCount>2</NodeCount>
</BrokerNodes>
</IaaSClusterConfig>
Exemplo 4
O arquivo de configuração a seguir implanta um cluster Pacote HPC em uma floresta de domínio existente. O cluster tem um nó de cabeçalho com os bancos de dados locais, dois modelos de nós do Azure são criados e três nós de tamanho Médio do Azure são criados para o modelo de nó do Azure AzureTemplate1. Um arquivo de script será executado no nó de cabeçalho depois que este for configurado.
<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
<Subscription>
<SubscriptionName>Subscription-1</SubscriptionName>
<StorageAccount>mystorageaccount</StorageAccount>
</Subscription>
<AffinityGroup>MyAffinityGroup</AffinityGroup>
<Location>East Asia</Location>
<VNet>
<VNetName>MyVNet</VNetName>
<SubnetName>Subnet-1</SubnetName>
</VNet>
<Domain>
<DCOption>ExistingDC</DCOption>
<DomainFQDN>hpc.local</DomainFQDN>
</Domain>
<Database>
<DBOption>LocalDB</DBOption>
</Database>
<HeadNode>
<VMName>MyHeadNode</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
<PostConfigScript>c:\MyHNPostActions.ps1</PostConfigScript>
</HeadNode>
<Certificates>
<Certificate>
<Id>1</Id>
<PfxFile>d:\mytestcert1.pfx</PfxFile>
<Password>MyPsw!!2</Password>
</Certificate>
<Certificate>
<Id>2</Id>
<PfxFile>d:\mytestcert2.pfx</PfxFile>
</Certificate>
</Certificates>
<AzureBurst>
<AzureNodeTemplate>
<TemplateName>AzureTemplate1</TemplateName>
<SubscriptionId>bb9252ba-831f-4c9d-ae14-9a38e6da8ee4</SubscriptionId>
<CertificateId>1</CertificateId>
<ServiceName>mytestsvc1</ServiceName>
<StorageAccount>myteststorage1</StorageAccount>
<NodeCount>3</NodeCount>
<RoleSize>Medium</RoleSize>
</AzureNodeTemplate>
<AzureNodeTemplate>
<TemplateName>AzureTemplate2</TemplateName>
<SubscriptionId>ad4b9f9f-05f2-4c74-a83f-f2eb73000e0b</SubscriptionId>
<CertificateId>1</CertificateId>
<ServiceName>mytestsvc2</ServiceName>
<StorageAccount>myteststorage2</StorageAccount>
<Proxy>
<UsesStaticProxyCount>false</UsesStaticProxyCount>
<ProxyRatio>100</ProxyRatio>
<ProxyRatioBase>400</ProxyRatioBase>
</Proxy>
<OSVersion>WindowsServer2012</OSVersion>
</AzureNodeTemplate>
</AzureBurst>
</IaaSClusterConfig>
Solução de problemas
Erro "A VNet não existe" – se você executar o script para implantar vários clusters no Azure simultaneamente em uma assinatura, uma ou mais implantações poderão falhar com o erro "VNet VNet_Name não existe". Se esse erro ocorrer, execute novamente o script para a implantação com falha.
Problema ao acessar a Internet na rede virtual do Azure – Se você criar um cluster com um novo controlador de domínio usando o script de implantação ou se promover manualmente uma VM do nó de cabeçalho ao controlador de domínio, poderá ter problemas ao conectar as VMs à Internet. Esse problema poderá ocorrer se um servidor DNS encaminhador for configurado automaticamente no controlador de domínio e não resolver corretamente.
Para contornar esse problema, faça logon no controlador de domínio e remova a configuração do encaminhador ou configure um servidor DNS encaminhador válido. Para definir essa configuração, Gerenciador do Servidor clique em FerramentasDNS> para abrir o Gerenciador dns e clique duas vezes em Encaminhadores.
Problemas de acesso à rede RDMA de VMs com computação intensiva – se você adicionar VMs de nó de agente ou de computação do Windows Server usando um tamanho com capacidade para RDMA como A8 ou A9, você poderá enfrentar problemas para se conectar essas VMs à rede RDMA do aplicativo. Um dos motivos pelos quais esse problema ocorre é a extensão HpcVmDrivers não estar corretamente instalada quando as VMs são adicionadas ao cluster. Por exemplo, a extensão pode estar presa no estado de instalação.
Para contornar esse problema, verifique primeiro o estado da extensão nas VMs. Se a extensão não estiver instalada corretamente, tente remover os nós do cluster de HPC e adicioná-los novamente. Por exemplo, você pode adicionar VMs de nó de computação executando o script Add-HpcIaaSNode.ps1 no nó principal.
Próximas etapas
- Tente executar uma carga de trabalho de teste no cluster. Para obter um exemplo, consulte o guia de Introduçãodo Pacote HPC.
- Para ver um tutorial sobre como usar script para implantação de um cluster e executar uma carga de trabalho do HPC, veja Introdução a um cluster de Pacote HPC no Azure para executar cargas de trabalho do Excel e da SOA.
- Experimente as ferramentas do Pacote HPC para iniciar, parar, adicionar e remover nós de computação de um cluster que você queira criar. Consulte Gerenciar nós de computação em um cluster de Pacote HPC no Azure.
- Para se preparar para enviar trabalhos para o cluster a partir de um computador local, confira Enviar trabalhos HPC de um computador local para um cluster de Pacote HPC no Azure.