Criar um cluster de computação de elevado desempenho (HPC) do Windows com o script de implementação do IaaS HPC Pack
Importante
Os VM clássicos serão retirados a 1 de março de 2023.
Se utilizar recursos iaaS da ASM, por favor preencha a sua migração até 1 de março de 2023. Encorajamo-lo a fazer a troca mais cedo para aproveitar as muitas melhorias de funcionalidades em Azure Resource Manager.
Para mais informações, consulte a Migração dos seus recursos iaaS para a Azure Resource Manager até 1 de março de 2023.
Executar o script PowerShell de implementação do Grupo HPC Para implantar um cluster Completo de HPC Pack 2012 R2 para Windows cargas de trabalho em máquinas virtuais Azure. O cluster consiste num nó de cabeça ligado ao Ative Directory que funciona Windows Server e Microsoft HPC Pack, e recursos adicionais de cálculo Windows que especifique. Se pretender implantar um cluster HPC Pack em Azure para cargas de trabalho Linux, consulte criar um cluster Linux HPC com o script de implementação do HPC Pack IaaS.
Importante
O script PowerShell descrito neste artigo cria um cluster Microsoft HPC Pack 2012 R2 em Azure usando o modelo de implementação clássico. A Microsoft recomenda que as implementações mais novas utilizem o modelo Resource Manager. Além disso, o script descrito neste artigo não suporta o HPC Pack 2016. Para obter informações sobre os modelos Resource Manager para o HPC Pack 2012 R2 e HPC Pack 2016, consulte as opções de implementação do cluster HPC Pack em Azure.
Dependendo do seu ambiente e escolhas, o script pode criar toda a infraestrutura de cluster, incluindo a rede virtual Azure, contas de armazenamento, serviços na nuvem, controlador de domínio, bases de dados de SQL remotas ou locais, nó de cabeça e nós de cluster adicionais. Em alternativa, o script pode utilizar a infraestrutura Azure pré-existente e criar apenas os nós de cluster HPC.
Para obter informações sobre o planeamento de um cluster HPC Pack, consulte o conteúdo de Avaliação e Planeamento e Introdução de Produtos na Biblioteca TechNet R2 do HPC Pack 2012.
Pré-requisitos
- Subscrição Azure: Você pode usar uma subscrição no serviço Azure Global ou Azure China. Os seus limites de subscrição afetam o número e o tipo de nós de cluster que pode implementar. Para obter informações, consulte limites de subscrição e serviço da Azure, quotas e constrangimentos.
- Windows computador cliente com Azure PowerShell 0.8.10 ou posteriormente instalado e configurado: Consulte Introdução com Azure PowerShell para obter instruções de instalação e etapas para ligar à sua assinatura Azure.
-
Script de implementação do Pack IaS do HPC: Descarregue e desembale a versão mais recente do script a partir do Microsoft Download Center. Verifique a versão do script executando
New-HPCIaaSCluster.ps1 –Version
. Este artigo baseia-se na versão 4.5.2 do script. - Ficheiro de configuração do script: Criar um ficheiro XML que o script utiliza para configurar o cluster HPC. Para obter informações e exemplos, consulte as secções mais tarde neste artigo e no Manual do ficheiro.rtf que acompanha o script de implementação.
Syntax
New-HPCIaaSCluster.ps1 [-ConfigFile] <String> [-AdminUserName]<String> [[-AdminPassword] <String>] [[-HPCImageName] <String>] [[-LogFile] <String>] [-Force] [-NoCleanOnFailure] [-PSSessionSkipCACheck] [<CommonParameters>]
Nota
Executar o guião como administrador.
Parâmetros
ConfigFile: Especifica o caminho do ficheiro de ficheiro para descrever o cluster HPC. Veja mais sobre o ficheiro de configuração neste tópico ou no Manual do ficheiro.rtf na pasta que contém o script.
Nome AdminUser: Especifica o nome de utilizador. Se a floresta de domínio for criada pelo script, este torna-se o nome de utilizador do administrador local para todos os VMs e o nome do administrador de domínio. Se a floresta de domínio já existir, isto especifica o utilizador de domínio como o nome de utilizador do administrador local para instalar o HPC Pack.
AdminPassword: Especifica a palavra-passe do administrador. Se não for especificado na linha de comando, o script solicita-lhe que introduza a palavra-passe.
HPCImageName (opcional): Especifica o nome de imagem VM do Pack HPC utilizado para implantar o cluster HPC. Deve ser uma imagem do Pack HPC fornecida pela Microsoft a partir do Azure Marketplace. Se não for especificado (recomendado normalmente), o script escolhe a mais recente imagem publicada do HPC Pack 2012 R2. A imagem mais recente baseia-se no Windows Server 2012 Centro de Dados R2 com o HPC Pack 2012 R2 Update 3 instalado.
Nota
A implementação falha se não especificar uma imagem válida do Pacote HPC.
LogFile (opcional): Especifica a trajetória do ficheiro de registo de implementação. Se não for especificado, o script cria um ficheiro de registo no diretório temporário do computador que executa o script.
Força (opcional): Suprime todas as solicitações de confirmação.
NoCleanOnFailure (opcional): Especifica que os VMs Azure que não são implantados com sucesso não são removidos. Remova estes VM manualmente antes de refazer o script para continuar a implantação, ou a implementação pode falhar.
PSSessionSkipCACheck (opcional): Para cada serviço em nuvem com VMs implantado por este script, um certificado auto-assinado é gerado automaticamente pela Azure, e todos os VMs no serviço de nuvem utilizam este certificado como certificado de gestão remota por defeito Windows (WinRM). Para implementar funcionalidades HPC nestes VMs Azure, o script por padrão instala estes certificados temporariamente no computador local\Trust Root Certification Authorities store do computador cliente para suprimir o erro de segurança "não confiável" durante a execução do script. Os certificados são removidos quando o guião termina. Se este parâmetro for especificado, os certificados não são instalados no computador cliente e o aviso de segurança é suprimido.
Importante
Este parâmetro não é recomendado para implantações de produção.
Exemplo
O exemplo a seguir cria um cluster HPC Pack utilizando o ficheiro de configuraçãoMyConfigFile.xml, e especifica credenciais de administrador para a instalação do cluster.
.\New-HPCIaaSCluster.ps1 –ConfigFile MyConfigFile.xml -AdminUserName <username> –AdminPassword <password>
Considerações adicionais
- O script pode opcionalmente permitir a submissão de emprego através do portal web HPC Pack ou da API do Pack HPC.
- O script pode opcionalmente executar scripts pré e pós-configuração personalizados no nó de cabeça se quiser instalar software adicional ou configurar outras definições.
Ficheiro de configuração
O ficheiro de configuração para o script de implementação é um ficheiro XML. O ficheiro de esquema HPCIaaSClusterConfig.xsd está na pasta de scripts de implementação do Grupo HPC IaaS. IaaSClusterConfig é o elemento raiz do ficheiro de configuração, que contém os elementos da criança descritos em detalhe no manual de ficheiros.rtf na pasta do script de implementação.
Ficheiros de configuração de exemplo
Nos exemplos seguintes, substitua os seus próprios valores pelo ID ou nome da sua assinatura e pelos nomes da conta e do serviço.
Exemplo 1
O ficheiro de configuração que se segue implementa um cluster HPC Pack que tem um nó de cabeça com bases de dados locais e cinco nós de computação que executam o sistema operativo Windows Server 2012 R2. Todos os serviços na nuvem são criados diretamente na localização dos EUA. O nó da cabeça funciona 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 ficheiro de configuração a seguir implanta um cluster HPC Pack numa floresta de domínio existente. O cluster tem 1 nó de cabeça com bases de dados locais e 12 nós de computação com a extensão BGInfo VM aplicada. A instalação automática de atualizações Windows é desativada para todos os VMs na floresta de domínio. Todos os serviços em nuvem são criados diretamente na localização da Ásia Oriental. Os nós computativos são criados em três serviços em nuvem e três contas de armazenamento: MyHPCCN-0001 para MyHPCCN-0005 no MyHPCCNService01 e mycnstorage01; MyHPCCN-0006 a MyHPCCN0010 no MyHPCCNService02 e mycnstorage02; e MyHPCCN-0011 para MyHPCCN-0012 no MyHPCCNService03 e mycnstorage03). Os nós computacional são criados a partir de uma imagem privada existente capturada a partir de um nó de computação. O serviço de crescimento e redução automática é ativado com intervalos de crescimento e redução predefinidos.
<?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 ficheiro de configuração a seguir implanta um cluster HPC Pack numa floresta de domínio existente. O cluster contém um nó de cabeça, um servidor de base de dados com um disco de dados de 500 GB, dois nós de corretor que executam o sistema operativo R2 Windows Server 2012 e cinco nós de computação que executam o sistema operativo Windows Server 2012 R2. O serviço de nuvem MyHPCCNService é criado no grupo de afinidades MyIBAffinityGroup, e os outros serviços em nuvem são criados no grupo de afinidades MyAffinityGroup. O portal web HPC Job Scheduler REST API e HPC estão ativados no nó de cabeça.
<?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 ficheiro de configuração a seguir implanta um cluster HPC Pack numa floresta de domínio existente. O cluster tem dois nó de cabeça com bases de dados locais, dois modelos de nó azul são criados, e três nós de azure médio são criados para o modelo de nó azul AzureTemplate1. Um ficheiro de script corre no nó da cabeça depois do nó da cabeça ser 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>
Resolução de problemas
Erro "VNet não existe" - Se executar o script para implantar múltiplos clusters em Azure simultaneamente sob uma subscrição, uma ou mais implementações podem falhar com o erro "VNet VNet_Name não existe". Se ocorrer este erro, volte a executar o script para a implementação falhada.
Problema de acesso à Internet a partir da rede virtual Azure - Se criar um cluster com um novo controlador de domínio utilizando o script de implementação, ou promover manualmente um VM de nó de cabeça ao controlador de domínio, poderá ter problemas em ligar os VMs à Internet. Este problema pode ocorrer se um servidor DNS reencaminhador estiver automaticamente configurado no controlador de domínio, e este servidor DNS reencaminhador não resolver corretamente.
Para contornar este problema, inicie sessão no controlador de domínio e remova a definição de configuração do reencaminhador ou configufique um servidor DNS de reencaminhador válido. Para configurar esta definição, em Gestor de Servidor clique em ToolsDNS> para abrir o DNS Manager e, em seguida, clique duas vezes nos Forwarders.
Problema no acesso à rede RDMA a partir de VMs intensivos de computação - Se adicionar VMs de computação ou de nó de corretor Windows utilizando um tamanho capaz de RDMA, como A8 ou A9, poderá ter problemas em ligar esses VMs à rede de aplicações RDMA. Uma das razões para este problema ocorrer é se a extensão HpcVmDrivers não for corretamente instalada quando os VMs são adicionados ao cluster. Por exemplo, a extensão pode ficar presa no estado de instalação.
Para resolver este problema, verifique primeiro o estado da extensão nos VM. Se a extensão não estiver corretamente instalada, tente remover os nós do cluster HPC e, em seguida, adicione novamente os nós. Por exemplo, pode adicionar VMs de nó de cálculo executando o Add-HpcIaaSNode.ps1 script no nó de cabeça.
Passos seguintes
- Tente fazer uma carga de trabalho de teste no cluster. Por exemplo, consulte o guia de arranque do HPC Pack.
- Para um tutorial para scriptar a implementação do cluster e executar uma carga de trabalho HPC, consulte Introdução com um cluster HPC Pack em Azure para executar Excel e cargas de trabalho SOA.
- Experimente as ferramentas do HPC Pack para iniciar, parar, adicionar e remover os nós de computação de um cluster que cria. Consulte os nós computacional de Gestão num cluster HPC Pack em Azure.
- Para se preparar para submeter postos de trabalho ao cluster a partir de um computador local, consulte submeter os trabalhos de HPC de um computador no local para um cluster HPC Pack em Azure.