xCAT offre une gestion complète pour les clusters HPC, RenderFarms, Grids, WebFarms, Online Gaming Infrastructure, Clouds, Datacenters, etc.
Installation et configuration du maître
Préparation du serveur maître
Procédure :
- Installation de l’OS sur le nœud maître
- Copie de l’ISO du DVD d’installation et montage sur le maître
- Création d’un fichier repo yum qui pointe vers le montage de l’ISO
- Paramétrer le nom d’hôte et l’IP statique
- Paramétrer les domaines de recherche et les DNS
Installation de xCAT
Il existe 2 méthodes
Installation automatique
Procédure :
- Récupération de l’outil
go-xcat
qui permet d’installer ou mettre à jour xCAT - Exécution de l’outil
Installation manuelle
Procédure :
- Récupération des fichiers d’installation depuis http://xcat.org/download.html
xCAT-core.repo
etxCAT-dep.repo
doivent être copiés dans/etc/yum.repos.d/
- Installation de xCAT avec la commande
yum install xcat
- Ajout des commandes xCAT au path : source
/etc/profile.d/xcat.sh
- Pour vérifier initialisation de la base de données :
tabdump site
- Service :
xcatd
- Mise à jour de xCAT :
yum update ‘*xCAT*’
etyum update ‘*xcat*’
Configuration
Procédure :
- Saisir les champs suivants dans la table
site
:domain
,forwarders
,master
,nameservers
(chdef –t site <champ>=<valeur>
)
- Initialiser les services DNS :
Makedns –n
- Définir la table
networks
- Un réseau par défaut est déjà créé, avec le même netmask et la même passerelle
- Pour définir un réseau additionnel, au choix :
mkdef –t network –o <network_name> <attributes>
tabedit networks
makenetworks
- Initialisation des services DHCP :
chdef –t site dhcpinterfaces=« ethX »
makedhcp -n
- Configuration des mots de passe :
- Pour le compte root :
chtab key=system passwd.usrname=root passwd.password=<password>
- Pour chiffrer la clé :
chtab key=system passwd.username=root passwd.password=`openssl passwd -1 <passwd>
- Pour l’IPMI :
chtab key=ipmi passwd.username=ADMIN passwd.password=ADMIN
- Pour le compte root :
Découverte des noeuds
Les machines doivent être définies dans la table nodes. Deux méthodes :
- Créer les nodes un par un en utilisant la commande
mkdef
- Utiliser les fonctionnalités de découverte automatique de xCAT
- Par switch : les nœuds sont découverts selon le port au switch auquel ils sont connectés
- Séquentielle : les nœuds sont prédéfinis et xCAT attribue un nom et une adresse IP quand il détecte un nœud
Types d’installation
Rappel sur les deux types d’installation des noeuds :
Stateful/diskful : Cluster traditionnel avec OS installé sur chaque disque local des nœuds
- Avantage : approche familière pour les administrateurs
- Inconvénients : gérer chaque copie de l’OS, devoir faire face aux pannes de disque dur
Stateless/diskless : Les nœuds démarrent depuis une image RAMdisk téléchargée depuis le maître. Chaque nœud peut avoir un disque scratch (pour /swap, /tmp, /var, /log, …) lorsque certaines données à écrire sont très grandes ou si on veut en garder après un redémarrage.
- Avantage : gestion centralisée de l’image OS
- Inconvénient : limité par l’utilisation de la RAM pour stocker l’image
Installation diskful
Procédure :
- Création initiale de l’image :
copycds <fichier .iso>
- Crée une liste de osimages qu’on peut lister avec
lsdef –t osimage
ou voir ses attributs en spécifiant son nom à la fin de la commande - Nom d’une osimage générée par
copycds
:<os>-<arch>-install-compute
: osimage par défaut pour une installation diskful<os>-<arch>-netboot-compute
: osimage par défaut pour une installation diskless<os>-<arch>-install-service
: osimage par défaut pour l’installation d’un nœud de service
- Modifier nom osimage :
chdef –t osimage <ancien_nom> -n <nouveau_nom>
- Initialisation du nœud pour le déploiement :
nodeset <nodename> osimage=<osimage>
- Démarrer l’installation de l’OS :
Rsetboot <node> net
Rpower <node> reset
Installation diskless
Procédure :
- Création initiale de l’image :
copycds <fichier .iso>
- Crée une liste de osimages qu’on peut lister avec
lsdef –t osimage
(outabdump osimage
) ou voir ses attributs en spécifiant son nom à la fin de la commande - Nom d’une osimage générée par copycds :
<os>-<arch>-install-compute
: osimage par défaut pour une installation diskful<os>-<arch>-netboot-compute
: osimage par défaut pour une installation diskless<os>-<arch>-install-service
: osimage par défaut pour l’installation d’un nœud de service
- Modifier nom osimage :
chdef –t osimage <ancien_nom> -n <nouveau_nom>
- Génération de l’image :
genimage <osimage>
- Modification de l’image : Modifier les fichiers dans dossier rootimg de l’image
- Archivage de l’image :
packimage <osimage>
- Initialisation du nœud pour le déploiement :
Chdef <noderange> provmethod=<osimage>
- **
Nodeset <noderange> osimage=<osimage>
- Démarrage de l’installation de l’OS :
Rsetboot <node> net
Rpower <node> reset
Mettre à jour et modifier les noeud : updatenode
Procédure :
La commande updatenode
permet de mettre à jour/modifier les nœuds après installation initiale
- Ajouter software additionnel :
- Dans fichier
.pkglist
(pour paquets de l’OS) et fichier.otherpkgs.pkglist
(pour paquets autres) - Puis commande
updatenode <noderange> -S
- Dans fichier
- Re-exécuter ou ajouter des prescripts/postscripts (
tabdump postsripts
) :- Commande
updatenode <noderange> -P
pour re-exécuter les postscripts
- Commande
- Synchroniser des fichiers de configuration :
- Fichier
synclist
- Commande
updatenode <noderange> -F
- Fichier
- Mettre à jour les clés SSH :
- Commande
updatenode <noderange> -K
- Commande
Commandes parallèles
Commandes | |
---|---|
Pping |
Ping parallèle |
Ppping |
Ping parallèle entre nœuds |
Prsync |
rsync parallèle |
Pscp |
scp parallèle |
Psh |
sh parallèle |
Xdcp |
copie de fichiers parallèle (source et destination) |
Xdsh |
exécution de commandes parallèles |
Documentation
http://xcat.org/
https://xcat-docs.readthedocs.io/en/stable/
Formation Linux HPC (pdf)