Avvio rapido: Distribuire l'area di lavoro di Azure CycleCloud per Slurm con Marketplace
L'area di lavoro azure CycleCloud per Slurm è un'applicazione marketplace gratuita che offre un modo semplice, sicuro e scalabile per gestire le risorse di calcolo e archiviazione per carichi di lavoro HPC e intelligenza artificiale. In questa guida introduttiva si installerà CycleCloud Workspace for Slurm usando l'applicazione Marketplace.
Per questa guida introduttiva, è necessario:
- Un account Azure con una sottoscrizione attiva
- I ruoli di Collaboratore e Amministratore accesso utenti a livello di sottoscrizione
- Accedere al portale di Azure .
- Fare clic sull'opzione
+ Create a Resource
in alto a sinistra - Nella casella
Search services and marketplace
immettere Slurm e quindi selezionare 'area di lavoro Azure CycleCloud per Slurm. - Nella pagina azure CycleCloud Workspace for Slurm selezionare Crea.
- Nella pagina Nuova area di lavoro Azure CycleCloud per l'account Slurm immettere o selezionare i dettagli seguenti.
- Sottoscrizione: selezionare la sottoscrizione da usare se non è già selezionata.
- 'area: selezionare l'area di Azure in cui si vuole distribuire l'area di lavoro CycleCloud per l'ambiente Slurm.
- gruppo di risorse: selezionare il gruppo di risorse per l'account Azure CycleCloud workspace for Slurm oppure crearne uno nuovo.
- Dimensioni macchina virtuale CycleCloud: scegliere una nuova dimensione della macchina virtuale o mantenere quella predefinita
- Utente amministratore: immettere un nome e una password per l'account amministratore CycleCloud.
- chiave pubblica SSH amministratore: selezionare direttamente la chiave SSH pubblica dell'account amministratore o se archiviata in una risorsa chiave SSH in Azure.
Specificare dove deve trovarsi la home directory degli utenti. Creare un nuovo Builtin NFS userà la macchina virtuale dell'utilità di pianificazione come server NFS con un disco dati collegato.
Creare un nuovo azure NetApp Files creerà un account, un pool e un volume ANF della capacità e del livello di servizio specificati.
Se si dispone di un punto di montaggio NFS esistente, selezionare l'opzione Usa esistente e specificare le impostazioni per montarla.
Se è necessario montare un file system aggiuntivo per i dati del progetto, è possibile crearne uno nuovo o specificarne uno esistente. È possibile creare un nuovo volume di Azure NetApp Files o un file system lustre gestito di Azure.
di Azure NetApp Files
lustre gestito di Azure
Se si dispone di un punto di montaggio NFS esterno esistente o di un file system lustre gestito di Azure, è possibile specificare le opzioni di montaggio.
NFS esterno esistente
Specificare qui se si vuole creare una nuova rete virtuale e subnet o usarne una esistente.
- Selezionare il CIDR che corrisponderà al numero di nodi di calcolo di destinazione e specificare un indirizzo IP di base,
- È consigliabile creare un bastion se non si dispone di connettività diretta fornita dall'IT aziendale,
- La creazione di un gateway NAT è necessaria per fornire la connettività in uscita a Internet. Questo diventerà obbligatorio nel 2025 ed è già applicato politiche di pensiero da parte di alcune aziende,
- Eseguire il peering a una rete virtuale esistente se si ha già un hub a cui si vuole eseguire il peering che può offrire servizi come Bastion e un gateway VPN. Prestare attenzione a selezionare un indirizzo IP di base compatibile con la rete virtuale con peering. Controllare l'opzione Consenti transito gateway se la rete virtuale con peering ha un gateway.
Prima di usare una rete virtuale esistente, verificare la presenza dei prerequisiti in Pianificare l'area di lavoro CycleCloud per la distribuzione Slurm
esistente
Specificare le dimensioni e l'immagine della macchina virtuale da usare per l'Utilità di pianificazione e i nodi di accesso. Le immagini sono le immagini HPC fornite in Azure Marketplace con gli URI associati:
Nome immagine | URI |
---|---|
Alma Linux 8.7 | almalinux:almalinux-hpc:8_7-hpc-gen2:latest |
Ubuntu 20.04 | microsoft-dsvm:ubuntu-hpc:2004:latest |
Ubuntu 22.04 | microsoft-dsvm:ubuntu-hpc:2204:latest |
Immagine personalizzata | Sarà necessario specificare un URN o un ID immagine immagine |
Se si sceglie Custom Image
è necessario specificare un URN immagine per un'immagine del marketplace esistente o un ID immagine per un'immagine in una raccolta di calcolo di Azure.
È anche possibile controllare il Use image on all nodes
se si vuole che l'utilità di pianificazione, i nodi di accesso e i nodi di calcolo usino la stessa immagine.
Impostare il numero di nodi di accesso di cui si vuole eseguire il provisioning all'avvio e il numero massimo. Infine, l'abilitazione dei controlli di integrità eseguirà i controlli di integrità dei nodi per hpc e le partizioni GPU per rimuovere automaticamente i nodi non integri all'avvio.
Se si vuole abilitare Slurm Job Accounting, selezionare la casella di controllo per visualizzare le opzioni di connettività. Si noti che è necessario disporre di una risorsa server flessibile di Database di Azure per MySQL distribuita in precedenza. La connessione tramite un FQDN o un INDIRIZZO IP privato è disponibile se si sceglie di fornire la propria rete virtuale o di usare il peering reti virtuali durante la creazione di una nuova rete virtuale come parte della distribuzione. Inoltre, la connessione tramite endpoint privato è disponibile se si sceglie di creare una nuova rete virtuale.
FQDN diretto
L'area di lavoro Azure CycleCloud per Slurm include 3 partizioni Slurm definite:
- HTC: per i processi non MPI,
- HPC: per i processi MPI strettamente accoppiati che usano principalmente tipi di vm con supporto InfiniBand,
- GPU: per processi GPU MPI e non MPI
È possibile impostare l'immagine e il numero massimo di nodi di cui eseguire il provisioning dinamico da CycleCloud per ogni partizione. Solo la partizione HTC consentirà l'uso di istanze Spot perché in genere non è una procedura consigliata per usare istanze Spot per i processi HPC e GPU. Tuttavia, queste impostazioni possono essere sostituite dopo la distribuzione nell'interfaccia utente cyclecloud.
Impostare i tag pertinenti per le risorse necessarie.
Node Array
tag verranno applicati alle macchine virtuali di cui viene eseguito il provisioning dinamico da CycleCloud.
Esaminare le opzioni disponibili. Questo passaggio verrà elaborato anche per alcune convalide. di revisione
Al termine, fare clic sul pulsante Crea
Seguire i passaggi e lo stato della distribuzione.
Connettersi al ccw-cyclecloud-vm
usando Bastion con il nome utente e le chiavi SSH specificate durante la distribuzione.
Quando si è connessi, controllare i log cloud-init per verificare che tutto sia corretto.
$tail -f -n 25 /var/log/cloud-init-output.log
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Starting cluster ccws....
----------------------------
ccws : allocation -> started
----------------------------
Resource group:
Cluster nodes:
scheduler: Off -- --
Total nodes: 1
CC start_cluster successful
/
exiting after install
Cloud-init v. 23.4-7.el8_10.alma.1 running 'modules:final' at Wed, 12 Jun 2024 10:15:53 +0000. Up 11.84 seconds.
Cloud-init v. 23.4-7.el8_10.alma.1 finished at Wed, 12 Jun 2024 10:28:15 +0000. Datasource DataSourceAzure [seed=/dev/sr0]. Up 754.29 seconds
Stabilire quindi la connettività tra il computer client e la macchina virtuale CycleCloud. Può trattarsi dell'IT aziendale, di una VPN, di un tunneling Bastion, di un indirizzo IP pubblico collegato se l'azienda lo consente. Connettersi all'interfaccia Web passando a https://<cycleccloud_ip>ed eseguire l'autenticazione con il nome utente e la password specificati durante la distribuzione. Verificare che sia l'utilità di pianificazione che il nodo Di accesso siano in esecuzione.
Quando si usa Bastion, usare uno degli script di utilità util/ssh_thru_bastion.sh o util/tunnel_thru_bastion.sh per connettersi, fornito qui. Se non si usa un bastion, è necessario stabilire autonomamente la connettività diretta.