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
- récupérer l’adresse
- 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