Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 nacyclecloud-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.
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
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.