HPC Concept d'administration

Concepts d’administration d’un HPC (High Performance Computing)

Accès SSH

Pour administrer le cluster, le compte root est activé sur toutes les machines et pour plus de facilité, on peut déployer la clé SSH du compte root du maître sur les nœuds afin que la connexion sans mot de passe puisse s’effectuer :

  • Commande ssk-keygen sur le maître, qui génère /root/.ssh/id_rsa.pub
  • Copie du fichier id_rsa.pub dans /root/.ssh/authorized_keys sur nœuds

Il existe des solutions de gestion de cluster : xCAT, Bright Cluster Manager, Rocks, Cobbler, OpenHPC,…

Réseaux

Les différents réseaux que l’on trouve typiquement dans un cluster sont :

  • Réseau pour l’accès extérieur
    • défini sur une seule interface du serveur maître
  • Réseau pour l’administration du cluster et l’installation des nœuds
    • besoins en bande passante relativement faibles
  • Réseau dédié au calcul parallèle
    • exclusivement utilisé par les applications réalisant des opérations de communication entre plusieurs nœuds
    • les performances de ce réseau influent sur les performances des calculs : privilégier des réseaux à faible latence et haut débit de type Infiniband ou 10 Gb
    • le serveur maître est souvent exclu de ce réseau.
  • Réseau pour l’accès IPMI des serveurs (peut être le même que le réseau administration)
  • Réseau de partage de fichiers
    • accès aux espaces de stockage partagés
    • parfois en commun avec le réseau administration.

*IPMI : Intelligent Platform Management Interface

Stockage

Sur le maître

  • Espace disque local pour le système
  • Eventuellement les répertoires utilisateur
  • Répertoires partagés du cluster (généralement) :
    • /home : données utilisateur
    • /usr/local : logiciels et librairies
    • /opt : certains outils et compilateurs
    • /tftpboot : installation des nœuds (dans certains cas)

Sur les nœuds

  • Espace disque local pour le système
  • Volume “scratch” (/tmp)
    • peut contenir des données de calcul (stockage non permanent)

Certains clusters disposent de stockage partagé sous la forme de NAS, SAN ou système de stockage par attachement direct.

  • Permettent aux utilisateurs de stocker les données de compilation, avant, durant et après le calcul en lui-même.
  • Conçus pour être à la fois rapides et sécurisés (redondance par raid, contrôleurs multiples,…).

Gestion des paquets

Généralement dans un cluster, les nœuds de calcul n’ont pas d’accès à Internet

  • Seul le maître peut récupérer des paquets ou mises à jour sur le Net
  • Nécessité de configurer un repository sur le maître afin que les nœuds puissent piocher dedans
    • Paquet nécessaire : createrepo

Création d’un dépôt local

Création d’un dépôt local personnalisé

  • Créer un répertoire
  • Ajout des RPMs souhaités dans le répertoire
  • Initialisation du dépôt : createrepo <répertoire_rpm>
  • Mise à jour du dépôt :
    Ajouter/mettre à jour les fichiers RPMs
    Mise à jour de la base de données du dépôt : createrepo --update <répertoire_rpm>

Création d’un dépôt des paquets de l’OS

Depuis le DVD d’installation

  • Monter l’ISO du DVD : mount -o loop <fichier_iso> <point_montage>
  • Copier les fichiers RPMs (dans dossier packages) dans un répertoire dédié
  • Créer le dépôt : createrepo <répertoire_rpm>

Depuis un dépôt en ligne

  • Trouver un miroir adapté sur http://centos.org/downloads/mirrors/ (site proche si possible)
    • récupérer l’adresse rsync
  • Télécharger le dépôt entier : rsync -rz --progress rsync://[...] <répertoire> (attention à la taille nécessaire)
  • Créer le dépôt : createrepo <répertoire>

Configuration du dépôt sur les nœuds :

  • Dans répertoire /etc/yum.repos.d/
  • Modifier ou créer fichier pour pointer vers
    • baseurl=http://<serveur>/<dossier_rpm>
    • ou baseurl=file:///<serveur>/<dossier_rpm>
  • Désactiver le gpgcheck

NTP

NTP (Network Time Protocol) est nécessaire dans un cluster pour la synchronisation des horloges

Configuration

  • Paquet ntp
  • Fichier de configuration /etc/ntp.conf

Serveur maître :

  • restrict <network_range> mask <netmask> nomodify notrap
  • server <serveur_externe> iburst

Nœuds de calcul :

  • server <ip_master> iburst
  • Redémarrer le service ntpd en cas de modification du fichier de configuration
  • Pour vérifier : ntpq -p

Documentation

Formation Linux HPC (pdf)

> Partager <