Slurmcontabilità con AWS ParallelCluster - AWS ParallelCluster

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Slurmcontabilità con AWS ParallelCluster

A partire dalla versione 3.3.0, AWS ParallelCluster supporta la Slurm contabilità con il parametro di configurazione del cluster SlurmSettings/Database.

Con la Slurm contabilità, è possibile integrare un database contabile esterno per effettuare le seguenti operazioni:

  • Gestisci utenti o gruppi di utenti del cluster e altre entità. Con questa funzionalità, puoi utilizzare le funzionalità più avanzate Slurm di cui dispone, ad esempio, l'applicazione dei limiti delle risorse, Fairshare e QoS.

  • Raccogli e salva i dati del lavoro, come l'utente che ha eseguito il lavoro, la durata del lavoro e le risorse utilizzate. È possibile visualizzare i dati salvati con l'sacctutilità.

Nota

AWS ParallelCluster supporta la Slurm contabilità per i Slurmserver di database MySQL supportati.

Lavorare con Slurm la contabilità in AWS ParallelCluster

Prima di configurare la Slurm contabilità, è necessario disporre di un server di database esterno esistente e di un database che utilizzi il mysql protocollo.

Per configurare la Slurm contabilità con AWS ParallelCluster, è necessario definire quanto segue:

  • L'URI per il server di database esterno in Database/Uri. Il server deve esistere ed essere raggiungibile dal nodo principale.

  • Credenziali per accedere al database esterno definite in Database/PasswordSecretArne Database/. UserName AWS ParallelCluster utilizza queste informazioni per configurare la contabilità a Slurm livello e il slurmdbd servizio sul nodo principale. slurmdbdè il demone che gestisce la comunicazione tra il cluster e il server del database.

Per seguire un tutorial, vedere. Creazione di un cluster con Slurm contabilità

Nota

AWS ParallelCluster esegue un bootstrap di base del database di Slurm contabilità impostando l'utente predefinito del cluster come amministratore del database nel Slurm database. AWS ParallelCluster non aggiunge nessun altro utente al database di contabilità. Il cliente è responsabile della gestione delle entità contabili nel Slurm database.

AWS ParallelCluster configura slurmdbdper garantire che un cluster disponga di un proprio Slurm database sul server del database. Lo stesso server di database può essere utilizzato su più cluster, ma ogni cluster ha il proprio database separato. AWS ParallelCluster utilizza il nome del cluster per definire il nome del database nel StorageLocparametro del file slurmdbd di configurazione. Considerate la situazione seguente. Un database presente sul server di database include un nome di cluster che non corrisponde a un nome di cluster attivo. In questo caso, puoi creare un nuovo cluster con quel nome di cluster da mappare a quel database. Slurmriutilizza il database per il nuovo cluster.

avvertimento
  • Non è consigliabile configurare più di un cluster per utilizzare lo stesso database contemporaneamente. Ciò può causare problemi di prestazioni o persino situazioni di deadlock del database.

  • Se l'Slurmaccounting è abilitato sul nodo principale di un cluster, consigliamo di utilizzare un tipo di istanza con una CPU potente, più memoria e una maggiore larghezza di banda di rete. Slurmla contabilità può mettere a dura prova il nodo principale del cluster.

Nell'attuale architettura della funzionalità di AWS ParallelCluster Slurm contabilità, ogni cluster ha la propria istanza del slurmdbd demone, come illustrato nel seguente diagramma di configurazione.

A configuration with two clusters that are connected to a MySQL server. Each cluster has their own slurmdbd daemon instance. Moreover, each cluster is connected to its own database through the server. Another configuration with a single cluster that has its own slurmdbd daemon instance. This configuration is connected to a MySQL server and is also connected to its own database through the server.

Se si aggiungono funzionalità Slurm multi-cluster o federative personalizzate all'ambiente cluster, tutti i cluster devono fare riferimento alla stessa istanza. slurmdbd In alternativa, ti consigliamo di abilitare l' AWS ParallelCluster Slurmaccounting su un cluster e di configurare manualmente gli altri cluster per la connessione a slurmdbd quelli ospitati sul primo cluster.

Se utilizzi AWS ParallelCluster versioni precedenti alla versione 3.3.0, fai riferimento al metodo alternativo per implementare la Slurm contabilità descritto in questo post del blog HPC.

Slurmconsiderazioni contabili

Database e cluster su diversi VPC

Per abilitare la Slurm contabilità, è necessario un server di database che funga da backend per le operazioni di lettura e scrittura eseguite dal slurmdbd demone. Prima che il cluster venga creato o aggiornato per abilitare la Slurm contabilità, il nodo principale deve essere in grado di raggiungere il server del database.

Se devi implementare il server di database su un VPC diverso da quello utilizzato dal cluster, considera quanto segue:

  • Per abilitare la comunicazione tra il slurmdbd lato del cluster e il server del database, è necessario configurare la connettività tra i due VPC. Per ulteriori informazioni, consulta VPC Peering nella Amazon Virtual Private Cloud User Guide.

  • È necessario creare il gruppo di sicurezza che si desidera collegare al nodo principale sul VPC del cluster. Dopo il peering dei due VPC, è disponibile il collegamento incrociato tra i gruppi di sicurezza lato database e lato cluster. Per ulteriori informazioni, consulta le regole dei gruppi di sicurezza nella Guida per l'utente di Amazon Virtual Private Cloud.

Configurazione della crittografia TLS tra slurmdbd e il server del database

Con la configurazione di Slurm contabilità predefinita che AWS ParallelCluster fornisce, slurmdbd stabilisce una connessione crittografata TLS al server del database, se il server supporta la crittografia TLS. AWS servizi di database come Amazon RDS e Amazon Aurora supportano la crittografia TLS per impostazione predefinita.

È possibile richiedere connessioni sicure sul lato server impostando il require_secure_transport parametro sul server del database. Questo è configurato nel CloudFormation modello fornito.

Seguendo le migliori pratiche di sicurezza, si consiglia di abilitare anche la verifica dell'identità del server sul slurmdbd client. A tale scopo, configura StorageParametersinslurmdbd.conf. Carica il certificato CA del server nel nodo principale del cluster. Quindi, imposta l'opzione SSL_CA di StorageParameters in slurmdbd.conf sul percorso del certificato CA del server sul nodo principale. In questo modo si abilita la verifica dell'identità del server sul lato. slurmdbd Dopo aver apportato queste modifiche, riavvia il slurmdbd servizio per ristabilire la connettività al server del database con la verifica dell'identità abilitata.

Aggiornamento delle credenziali del database

Per aggiornare i valori di Database/UserNameor PasswordSecretArn, devi prima interrompere il parco di elaborazione. Supponiamo che il valore segreto memorizzato nel AWS Secrets Manager segreto venga modificato e il relativo ARN non venga modificato. In questa situazione, il cluster non aggiorna automaticamente la password del database con il nuovo valore. Per aggiornare il cluster per il nuovo valore segreto, esegui il comando seguente dal nodo principale.

$ sudo /opt/parallelcluster/scripts/slurm/update_slurm_database_password.sh
avvertimento

Per evitare di perdere i dati contabili, si consiglia di modificare la password del database solo quando la flotta di elaborazione viene interrotta.

Monitoraggio del database

Si consiglia di abilitare le funzionalità di monitoraggio dei servizi di AWS database. Per ulteriori informazioni, consulta la documentazione sul monitoraggio di Amazon RDS o Amazon Aurora.