Partilhar via


Instruções de instalação

Depois de preparar os pré-requisitos, siga estas etapas para integrar o nó externo do Slurm Scheduler ao cluster do CycleCloud:

Importar um cluster usando o modelo sem cabeça do Slurm no CycleCloud

  • Execute esta etapa na VM do CycleCloud.
  • Certifique-se de que a VM do CycleCloud 8.6.4 está em execução e acessível através da cyclecloud CLI.
  • Execute o cyclecloud-project-build.sh script e insira o nome do cluster desejado (por exemplo, hpc1). O script define um projeto personalizado com base na cyclecloud-slurm-3.0.9 versão e importa o cluster usando o modelo sem cabeça do Slurm.
  • No exemplo a seguir, <clustername> é o nome do cluster. Você pode escolher qualquer nome de cluster que desejar, mas deve usar o mesmo nome em toda a configuração.
git clone https://github.com/Azure/cyclecloud-slurm.git
cd cyclecloud-slurm/cloud_bursting/slurm-23.11.9-1/cyclecloud
sh cyclecloud-project-build.sh

Saída:

[user1@cc86vm ~]$ cd cyclecloud-slurm/cloud_bursting/slurm-23.11.9-1/cyclecloud
[user1@cc86vm cyclecloud]$ sh cyclecloud-project-build.sh
Enter Cluster Name: <clustername>
Cluster Name: <clustername>
Use the same cluster name: <clustername> in building the scheduler
Importing Cluster
Importing cluster Slurm_HL and creating cluster hpc1....
----------
<clustername> : off
----------
Resource group:
Cluster nodes:
Total nodes: 0
Locker Name: cyclecloud_storage
Fetching CycleCloud project
Uploading CycleCloud project to the locker

Instalação e configuração do agendador Slurm

  • Implante uma VM usando a imagem AlmaLinux HPC 8.7 ou Ubuntu HPC 22.04 .
  • Se você já tiver um agendador Slurm instalado, poderá pular esta etapa. No entanto, recomendamos que reveja o script para se certificar de que é compatível com a sua configuração atual.
  • Execute o script de instalação do agendador Slurm (slurm-scheduler-builder.sh) e insira o nome do cluster (<clustername>) quando solicitado.
  • O script configura o servidor NFS e instala e configura o agendador Slurm.
  • Se você estiver usando um servidor NFS externo, poderá excluir as entradas de configuração do NFS do script.
git clone https://github.com/Azure/cyclecloud-slurm.git
cd cyclecloud-slurm/cloud_bursting/slurm-23.11.9-1/scheduler
sh slurm-scheduler-builder.sh

Saída:

------------------------------------------------------------------------------------------------------------------------------
Building Slurm scheduler for cloud bursting with Azure CycleCloud
------------------------------------------------------------------------------------------------------------------------------

Enter Cluster Name: <clustername>
------------------------------------------------------------------------------------------------------------------------------

Summary of entered details:
Cluster Name: <clustername>
Scheduler Hostname: <scheduler hostname>
NFSServer IP Address: 10.222.xxx.xxx

Configuração da interface do usuário do CycleCloud

  • Acesse a interface do usuário do CycleCloud e vá para as configurações do <clustername> cluster.
  • Edite as configurações do cluster para configurar as versões da VM e as opções de rede.
  • Na seção Network Attached Storage, insira o endereço IP do servidor NFS para os /sched e /shared pontos de montagem.
  • Na guia Configuração avançada, no menu suspenso, escolha o sistema operacional: Ubuntu 22.04 ou AlmaLinux 8 com base na VM do agendador.
  • Quando terminar de definir as configurações, selecione Salvar e Iniciar o <clustername> cluster.

Configurações de NFS

Integração do CycleCloud Autoscaler no Slurm Scheduler

  • Integre o Slurm com o CycleCloud usando o cyclecloud-integrator.sh script.
  • Digite seu nome de usuário, senha e endereço IP do CycleCloud quando solicitado.
cd cyclecloud-slurm/cloud_bursting/slurm-23.11.9-1/scheduler
sh cyclecloud-integrator.sh

Saída:

[root@masternode2 scripts]# sh cyclecloud-integrator.sh
Please enter the CycleCloud details to integrate with the Slurm scheduler

Enter Cluster Name: <clustername>
Enter CycleCloud Username: <username>
Enter CycleCloud Password: <password>
Enter CycleCloud IP (e.g., 10.220.x.xx): <ip address>
------------------------------------------------------------------------------------------------------------------------------

Summary of entered details:
Cluster Name: <clustername>
CycleCloud Username: <username>
CycleCloud URL: https://<ip address>

------------------------------------------------------------------------------------------------------------------------------

Configuração de usuário e grupo (opcional)

  • Verifique se os IDs de utilizador e grupo são consistentes em todos os nós.
  • Para manter o UID e o GID consistentes em todos os nós, utilize um sistema centralizado de gestão de utilizadores, como o LDAP.
  • Neste exemplo, use o useradd_example.sh script para criar um usuário <username> de teste e um grupo para envio de trabalho. Utilizador <username> já existe no CycleCloud
cd cyclecloud-slurm/cloud_bursting/slurm-23.11.9-1/scheduler
sh useradd_example.sh

Testando a configuração

  • Entre como um usuário de teste (por exemplo, <username>) no nó do agendador.
  • Envie um trabalho de teste para verificar se a configuração está funcionando corretamente.
su - <username>
srun hostname &

Saída:

[root@masternode2 scripts]# su - <username>
Last login: Tue May 14 04:54:51 UTC 2024 on pts/0
[<username>@masternode2 ~]$ srun hostname &
[1] 43448
[<username>@masternode2 ~]$ squeue
              JOBID  PARTITION     NAME      USER ST         TIME     NODES     NODELIST(REASON)
                 1       hpc     hostname    <username> CF    0:04      1       <clustername>-hpc-1
[user1@masternode2 ~]$ <clustername>-hpc-1

Criação de nós

Você deve ver o trabalho sendo executado com êxito, o que indica uma integração bem-sucedida com o CycleCloud.

Para obter mais informações e configurações avançadas, consulte os scripts e a documentação neste repositório.