xCAT - Installation de Maîtres/Noeuds

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 et xCAT-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*’ et yum 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

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 (ou tabdump 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
  • Re-exécuter ou ajouter des prescripts/postscripts (tabdump postsripts) :
    • Commande updatenode <noderange> -P pour re-exécuter les postscripts
  • Synchroniser des fichiers de configuration :
    • Fichier synclist
    • Commande updatenode <noderange> -F
  • Mettre à jour les clés SSH :
    • Commande updatenode <noderange> -K

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)

> Partager <