Partilhar via


Introdução com nódoas de computação Linux num cluster de pacotes HPC em Azure

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.

Crie um cluster Microsoft HPC Pack em Azure que contenha um nó de cabeça Windows Server e vários nós de computação executando uma distribuição de Linux suportada. Explore opções para mover dados entre os nós Linux e o nó de cabeça Windows do cluster. Saiba como submeter os empregos do Linux HPC ao cluster.

Nota

O Azure tem dois modelos de implementação para criar e trabalhar com recursos: Resource Manager e Clássico. Este artigo inclui os dois modelos, mas a Microsoft recomenda que a maioria das implementações novas utilizem o modelo Resource Manager.

A um nível elevado, o diagrama seguinte mostra o cluster HPC Pack que cria e trabalha.

HPC Pack cluster with Linux nodes

Para outras opções para executar cargas de trabalho Linux HPC em Azure, consulte recursos técnicos para a computação de lote e alto desempenho.

Implementar um cluster HPC Pack com nó de computação Linux

Este artigo mostra-lhe duas opções para implementar um cluster HPC Pack em Azure com nós de computação Linux. Ambos os métodos utilizam uma imagem de Marketplace de Windows Servidor com Pacote HPC para criar o nó de cabeça.

  • Modelo de Resource Manager Azure - Use um modelo da Azure Marketplace, ou um modelo de arranque rápido da comunidade, para automatizar a criação do cluster na Resource Manager modelo de implantação. Por exemplo, o cluster HPC Pack para o modelo de cargas de trabalho Do Linux no Azure Marketplace cria uma infraestrutura completa de cluster de pacotes HPC para cargas de trabalho Linux HPC.
  • Script PowerShell - Utilize o script de implementação do Microsoft HPC Pack IaaS (New-HpcIaaSCluster.ps1) para automatizar uma implementação completa do cluster na versão clássica modelo. Este script Azure PowerShell utiliza uma imagem VM do Pacote HPC no Azure Marketplace para uma rápida implementação e fornece um conjunto abrangente de parâmetros de configuração para implantar nós de computação Linux.

Para obter mais informações sobre as opções de implementação do cluster HPC Pack em Azure, consulte Opções para criar e gerir um cluster de computação de alto desempenho (HPC) em Azure com o Microsoft HPC Pack.

Pré-requisitos

  • Subscrição Azure - Pode utilizar uma subscrição no serviço Azure Global ou Azure China. Se não tiver uma conta, pode criar uma conta gratuita em apenas alguns minutos.

  • Cota de núcleos - Você pode precisar aumentar a quota de núcleos, especialmente se você optar por implementar vários nós de cluster com tamanhos VM multicore. Para aumentar uma quota, abra gratuitamente um pedido de apoio ao cliente online.

  • Distribuição Linux - Atualmente o HPC Pack suporta as seguintes distribuições Linux para nós de computação. Pode utilizar as versões Marketplace destas distribuições sempre que disponível, ou fornecer as suas próprias.

    • CentOS baseado: 6.5, 6.6, 6.7, 7.0, 7.1, 7.2, 6.5 HPC, 7.1 HPC

    • Red Hat Enterprise Linux: 6.7, 6.8, 7.2

    • SUSE Linux Enterprise Server: SLES 12, SLES 12 (Premium), SLES 12 SP1, SLES 12 SP1 (Premium), SLES 12 para HPC, SLES 12 para HPC (Premium)

    • Servidor Ubuntu: 14.04 LTS, 16.04 LTS

      Dica

      Para utilizar a rede Azure RDMA com um dos tamanhos VM capazes de RDMA, especifique uma imagem HPC baseada em SUSE Linux 12 ou HPC baseada em CentOS a partir do Azure Marketplace. Para obter mais informações, consulte os tamanhos VM do cálculo de alto desempenho.

Pré-requisitos adicionais para implantar o cluster utilizando o script de implementação do Pacote IAAS do HPC:

  • Computador cliente - Precisa de um computador cliente baseado em Windows para executar o script de implementação do cluster.
  • - Azure PowerShell Sinstalar e configurar Azure PowerShell (versão 0.8.10 ou posterior) no computador do seu cliente.
  • HPC Pack IaaS script de implementação - Descarregue e desembale a versão mais recente do script a partir do Microsoft Download Center. Pode verificar a versão do script executando .\New-HPCIaaSCluster.ps1 –Version. Este artigo baseia-se na versão 4.4.1 ou posterior do script.

Opção de implantação 1. Utilizar um modelo do Resource Manager

  1. Vá ao cluster do Pacote HPC para o modelo de cargas de trabalho do Linux no Azure Marketplace e clique em Implementar.

  2. No portal do Azure, reveja a informação e clique em Criar.

    Portal creation

  3. Na lâmina Basics, insira um nome para o cluster, que também dá nome ao nó de cabeça VM. Pode escolher um grupo de recursos existente ou criar um grupo para a implantação num local disponível para si. A localização afeta a disponibilidade de certos tamanhos VM e outros serviços Azure (ver Produtos disponíveis por região).

  4. Na lâmina do nó de cabeça , para uma primeira implantação, pode geralmente aceitar as definições predefinidos.

    Nota

    O URL do script de pós-configuração é uma definição opcional para especificar um script Windows PowerShell disponível publicamente que pretende executar no nó de cabeça VM após a execução.

  5. Na lâmina de definições do nó computo , selecione um padrão de nomeação para os nós, o número e o tamanho dos nós e a distribuição linux para implantar.

  6. Na lâmina de definição de infraestrutura , introduza nomes para a rede virtual e o domínio do Diretório Ativo, credenciais de administrador de domínio e VM, e um padrão de nomeação para as contas de armazenamento.

    Nota

    O HPC Pack utiliza o domínio Ative Directory para autenticar os utilizadores do cluster.

  7. Depois de os testes de validação serem executados e rever os termos de utilização, clique em Comprar.

Opção de implantação 2. Use o script de implementação iaaS

Seguem-se pré-requisitos adicionais para implantar o cluster utilizando o script de implementação do HPC Pack IaaS:

  • Computador cliente - Precisa de um computador cliente baseado em Windows para executar o script de implementação do cluster.
  • - Azure PowerShell Sinstalar e configurar Azure PowerShell (versão 0.8.10 ou posterior) no computador do seu cliente.
  • HPC Pack IaaS script de implementação - Descarregue e desembale a versão mais recente do script a partir do Microsoft Download Center. Pode verificar a versão do script executando .\New-HPCIaaSCluster.ps1 –Version. Este artigo baseia-se na versão 4.4.1 ou posterior do script.

Ficheiro de configuração XML

O script de implementação do Pacote HPC IaaS utiliza um ficheiro de configuração XML como entrada para descrever o cluster HPC. O seguinte ficheiro de configuração da amostra especifica um pequeno cluster constituído por um nó de cabeça do HPC Pack e dois nós de computação A7 CentOS 7.0 Linux.

Modifique o ficheiro conforme necessário para o seu ambiente e configuração de cluster desejada, e guarde-o com um nome como HPCDemoConfig.xml. Por exemplo, precisa de fornecer o nome da sua subscrição e um nome de conta de armazenamento único e nome de serviço na nuvem. Além disso, é melhor escolher uma imagem Linux suportada diferente para os nós de computação. Para obter mais informações sobre os elementos no ficheiro de configuração, consulte o ficheiro Manual.rtf na pasta de scripts e Crie um cluster HPC com o script de implementação do Pacote HPC IaAS.

<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
  <Subscription>
    <SubscriptionName>Subscription-1</SubscriptionName>
    <StorageAccount>allvhdsje</StorageAccount>
  </Subscription>
  <Location>Japan East</Location>  
  <VNet>
    <VNetName>centos7rdmavnetje</VNetName>
    <SubnetName>CentOS7RDMACluster</SubnetName>
  </VNet>
  <Domain>
    <DCOption>HeadNodeAsDC</DCOption>
    <DomainFQDN>hpc.local</DomainFQDN>
  </Domain>
  <Database>
    <DBOption>LocalDB</DBOption>
  </Database>
  <HeadNode>
    <VMName>CentOS7RDMA-HN</VMName>
    <ServiceName>centos7rdma-je</ServiceName>
  <VMSize>ExtraLarge</VMSize>
  <EnableRESTAPI />
  <EnableWebPortal />
  </HeadNode>
  <LinuxComputeNodes>
    <VMNamePattern>CentOS7RDMA-LN%1%</VMNamePattern>
    <ServiceName>centos7rdma-je</ServiceName>
    <VMSize>A7</VMSize>
    <NodeCount>2</NodeCount>
    <ImageName>5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-70-20150325</ImageName>
  </LinuxComputeNodes>
</IaaSClusterConfig>

Para executar o script de implementação do HPC Pack IaaS

  1. Abra Windows PowerShell no computador cliente como administrador.

  2. Altere o diretório para a pasta onde o script está instalado (E:\IaaSClusterScript neste exemplo).

    cd E:\IaaSClusterScript
    
  3. Executar o seguinte comando para implantar o cluster HPC Pack. Este exemplo pressupõe que o ficheiro de configuração está localizado em E:\HPCDemoConfig.xml

    .\New-HpcIaaSCluster.ps1 –ConfigFile E:\HPCDemoConfig.xml –AdminUserName MyAdminName
    

    a. Como a palavra-passe AdminPass não está especificada no comando anterior, é solicitado que introduza a palavra-passe para o utilizador MyAdminName.

    b. O script começa então a validar o ficheiro de configuração. Pode demorar até alguns minutos dependendo da ligação à rede.

    Validation

    c. Após a aprovação das validações, o script lista os recursos de cluster para criar. Entra em Y para continuar.

    Resources

    d. O script começa a implantar o cluster do Grupo HPC e completa a configuração sem mais passos manuais. O guião pode ser executado por vários minutos.

    Deploy

    Nota

    Neste exemplo, o script gera um ficheiro de registo automaticamente uma vez que o parâmetro -LogFile não é especificado. Os registos não são escritos em tempo real, mas são recolhidos no final da validação e da implantação. Se o processo PowerShell for interrompido enquanto o script está em execução, alguns registos perdem-se.

Ligação no nó da cabeça

Depois de implantar o cluster do Grupo HPC em Azure, ligue-se por Remote Desktop ao nó de cabeça VM utilizando as credenciais de domínio fornecidas quando implementou o cluster (por exemplo, hpc\clusteradmin). Gere o aglomerado a partir do nó da cabeça.

No nó de cabeça, inicie o HPC Cluster Manager para verificar o estado do cluster do Pacote HPC. Pode gerir e monitorizar os nós de computação Linux da mesma forma que trabalha com os nós de computação Windows. Por exemplo, você vê os nosdes Linux listados na Gestão de Recursos (estes nóns são implantados com o modelo LinuxNode ).

Node Management

Você também vê os nós Linux na vista do Mapa de Calor .

Heat map

Como mover dados num cluster com nódoas Linux

Você tem várias opções para mover dados entre os nós Linux e o nó de cabeça Windows do cluster. Aqui estão três métodos comuns, descritos mais detalhadamente nas seguintes secções:

  • Azure File - Expõe uma partilha de ficheiros SMB gerida para armazenar ficheiros de dados no armazenamento do Azure. Windows nós e nós Linux podem montar uma partilha de FicheiroS Azure como unidade ou pasta ao mesmo tempo, mesmo que sejam implantados em diferentes redes virtuais.
  • Partilha do nó de cabeça SMB - Monta uma pasta Windows partilhada do nó de cabeça nos nós Linux.
  • Servidor de nó de cabeça NFS - Fornece uma solução de partilha de ficheiros para um ambiente misto Windows e Linux.

Armazenamento de Ficheiros do Azure

O serviço Azure File expõe ações de ficheiros utilizando o protocolo padrão SMB 2.1. Os VMs e serviços em nuvem podem partilhar dados de ficheiros através de componentes de aplicações através de ações montadas, e as aplicações no local podem aceder aos dados dos ficheiros numa parte através da API de armazenamento de ficheiros.

Para obter passos detalhados para criar uma partilha de ficheiro Azure e montá-lo no nó de cabeça, consulte Introdução com o armazenamento do Ficheiro Azure no Windows. Para montar a partilha do Ficheiro Azure nos nós Linux, consulte Como utilizar o armazenamento de ficheiros Azure com o Linux. Para configurar ligações persistentes, consulte as ligações persistentes a Microsoft Azure Ficheiros.

No exemplo seguinte, crie uma partilha de Ficheiro Azure numa conta de armazenamento. Para montar a partilha no nó de cabeça, abra um Pedido de Comando e introduza os seguintes comandos:

cmdkey /add:allvhdsje.file.core.windows.net /user:allvhdsje /pass:<storageaccountkey>

net use Z: \\allvhdje.file.core.windows.net\rdma /persistent:yes

Neste exemplo, allvhdsje é o nome da sua conta de armazenamento, a conta de armazenamento é a chave da sua conta de armazenamento, e rdma é o nome de partilha do Arquivo Azure. A partilha do Ficheiro Azure é montada como Z: no nó de cabeça.

Para montar a partilha do Ficheiro Azure nos nós Linux, executar um comando de clusrun no nó de cabeça. Clusrun é uma ferramenta útil do HPC Pack para realizar tarefas administrativas em múltiplos nós. (Ver também Clusrun para nós Linux neste artigo.)

Abra uma janela Windows PowerShell e introduza os seguintes comandos:

clusrun /nodegroup:LinuxNodes mkdir -p /rdma

clusrun /nodegroup:LinuxNodes mount -t cifs //allvhdsje.file.core.windows.net/rdma /rdma -o vers=2.1`,username=allvhdsje`,password=<storageaccountkey>'`,dir_mode=0777`,file_mode=0777

O primeiro comando cria uma pasta chamada /rdma em todos os nós do grupo LinuxNodes. O segundo comando monta a partilha de ficheiros Azure allvhdsjw.file.core.windows.net/rdma na pasta /rdma com brocas de modo dir e de ficheiro definidas para 777. No segundo comando, allvhdsje é o nome da sua conta de armazenamento e a conta de armazenamento é a chave da sua conta de armazenamento.

Nota

O símbolo "'" no segundo comando é um símbolo de fuga para o PowerShell. "'", significa que o "" (personagem de vírgula) faz parte do comando.

Partilha de nó de cabeça

Em alternativa, monte uma pasta partilhada do nó de cabeça nos nós Linux. Uma partilha fornece a forma mais simples de partilhar ficheiros, mas o nó de cabeça e todos os nós Linux devem ser implantados na mesma rede virtual. Seguem-se os passos necessários.

  1. Crie uma pasta no nó de cabeça e partilhe-a com todas as pessoas com permissões de Leitura/Escrita. Por exemplo, partilhe D:\OpenFOAM no nó de cabeça como \CentOS7RDMA-HN\OpenFOAM. Aqui CentOS7RDMA-HN é o nome de anfitrião do nó de cabeça.

    File share permissions

    File sharing

  2. Abra uma janela Windows PowerShell e executar os seguintes comandos:

    clusrun /nodegroup:LinuxNodes mkdir -p /openfoam
    
    clusrun /nodegroup:LinuxNodes mount -t cifs //CentOS7RDMA-HN/OpenFOAM /openfoam -o vers=2.1`,username=<username>`,password='<password>'`,dir_mode=0777`,file_mode=0777
    

O primeiro comando cria uma pasta chamada /openfoam em todos os nós do grupo LinuxNodes. O segundo comando monta a pasta partilhada //CentOS7RDMA-HN/OpenFOAM na pasta com brotos de modo dir e ficheiro definidos para 777. O nome de utilizador e a palavra-passe no comando devem ser o nome de utilizador e a palavra-passe de um utilizador do cluster no nó de cabeça. (Ver Adicionar ou remover utilizadores de cluster.)

Nota

O símbolo "'" no segundo comando é um símbolo de fuga para o PowerShell. "'", significa que o "" (personagem de vírgula) faz parte do comando.

Servidor NFS

O serviço NFS permite-lhe partilhar e migrar ficheiros entre computadores que executam o sistema operativo Windows Server 2012 utilizando o protocolo SMB e computadores baseados em Linux utilizando o protocolo NFS. O servidor NFS e todos os outros nós têm de ser implantados na mesma rede virtual. Proporciona uma melhor compatibilidade com os nós Linux em comparação com uma quota SMB. Por exemplo, suporta links de ficheiros.

  1. Para instalar e configurar um servidor NFS, siga os passos no Servidor do Sistema de Ficheiros de Rede First Share First Share End to End.

    Por exemplo, crie uma quota NFS denominada NFS com as seguintes propriedades:

    NFS authorization

    NFS share permissions

    NFS NTFS permissions

    NFS management properties

  2. Abra uma janela Windows PowerShell e executar os seguintes comandos:

    clusrun /nodegroup:LinuxNodes mkdir -p /nfsshare
    
    clusrun /nodegroup:LinuxNodes mount CentOS7RDMA-HN:/nfs /nfsshared
    

    O primeiro comando cria uma pasta chamada /nfsshared em todos os nós do grupo LinuxNodes. O segundo comando monta o NFS partilha CentOS7RDMA-HN:/nfs na pasta. Aqui CentOS7RDMA-HN:/nfs é o caminho remoto da sua quota NFS.

Como submeter empregos

Existem várias formas de submeter empregos ao cluster HPC Pack:

  • HPC Cluster Manager ou HPC Job Manager GUI
  • Portal web HPC
  • API REST

A submissão de emprego ao cluster em Azure através de ferramentas HPC Pack GUI e o portal web HPC são os mesmos que para Windows nós de computação. Consulte o HPC Pack Job Manager e Como submeter empregos a partir de um computador cliente no local.

Para submeter empregos através da API REST, consulte a Criação e Submissão de Empregos utilizando a API REST no Microsoft HPC Pack. Para submeter empregos a um cliente Linux, consulte também a amostra de Python no Pacote HPC SDK.

Clusrun para os nóns linux

A ferramenta de clusrun do Pacote HPC pode ser utilizada para executar comandos nos nós Linux, quer através de um Comando Prompt ou do HPC Cluster Manager. Seguem-se alguns exemplos básicos.

  • Mostre os nomes atuais do utilizador em todos os nós do cluster.

    clusrun whoami
    
  • Instale a ferramenta gdb debugger com yum em todos os nós do grupo linuxnodes e, em seguida, reinicie os nós após 10 minutos.

    clusrun /nodegroup:linuxnodes yum install gdb –y; shutdown –r 10
    
  • Crie um script de concha exibindo cada número 1 a 10 por um segundo em cada nó Linux no cluster, execute-o e mostre a saída dos nós imediatamente.

    clusrun /interleaved /nodegroup:linuxnodes echo \"for i in {1..10}; do echo \\\"\$i\\\"; sleep 1; done\" ^> script.sh; chmod +x script.sh; ./script.sh
    

Nota

Talvez precises de usar certos personagens de fuga em comandos de clusrun . Como mostrado neste exemplo, utilize ^ num Aviso de Comando para escapar ao símbolo ">".

Passos seguintes