Suivant: , Précédent: , Monter: Installer Guix sur une grappe de calcul   [Table des matières][Index]


9.2 Mettre en place des nœuds de calcul

Tout d’abord, les nœuds de calcul doivent monter les répertoires NFS exportés par le nœud principal. Vous pouvez le faire en ajoutant les lignes suivantes à /etc/fstab :

head-node:/gnu/store    /gnu/store    nfs  defaults,_netdev,vers=3 0 0
head-node:/var/guix     /var/guix     nfs  defaults,_netdev,vers=3 0 0
head-node:/var/log/guix /var/log/guix nfs  defaults,_netdev,vers=3 0 0

… où head-node est le nom ou l’IP de votre nœud principal. À partir de là, en supposant que les points de montage existent, vous devriez pouvoir monter tous ces répertoires sur chaque nœud de calcul.

Ensuite, nous devons fournir une commande guix par défaut que les utilisateur·ices peuvent exécuter lors de leur première connexion à la grappe (ils et elles finiront par invoquer guix pull, qui leur fournira leur propre commande guix). Comme l’a fait le script d’installation sur le nœud principal, nous le stockons dans /usr/local/bin :

mkdir -p /usr/local/bin
ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix \
      /usr/local/bin/guix

Nous devons ensuite dire à guix de parler au démon qui s’exécute sur notre nœud principal, en ajoutant ces lignes à /etc/profile :

GUIX_DAEMON_SOCKET="guix://head-node"
export GUIX_DAEMON_SOCKET

Pour éviter des avertissements et vous assurer que guix utilise le bon environnement linguistique, nous devons lui dire d’utiliser les données linguistiques fournies par Guix (voir Réglages applicatifs dans le manuel de référence de GNU Guix Reference Manual) :

GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale
export GUIX_LOCPATH

# Nous devons utiliser un nom de paramètre linguistique valide. Essayez « ls $GUIX_LOCPATH/* »
# pour voir les noms utilisables.
LC_ALL=fr_FR.utf8
export LC_ALL

For convenience, guix package automatically generates ~/.guix-profile/etc/profile, which defines all the environment variables necessary to use the packages—PATH, C_INCLUDE_PATH, PYTHONPATH, etc. Likewise, guix pull does that under ~/.config/guix/current. Thus it’s a good idea to source both from /etc/profile:

for GUIX_PROFILE in "$HOME/.config/guix/current" "$HOME/.guix-profile"
do
  if [ -f "$GUIX_PROFILE/etc/profile" ]; then
    . "$GUIX_PROFILE/etc/profile"
  fi
done

Enfin, Guix propose la complétion des commandes notamment pour Bash et zsh. Dans /etc/bashrc, pensez à ajouter cette ligne :

. /var/guix/profiles/per-user/root/current-guix/etc/bash_completion.d/guix

Et voilà !

Vous pouvez vérifier que tout est en place en vous connectant à un nœud de calcul et en exécutant :

guix install hello

Le démon sur le nœud principal devrait télécharger les binaires préconstruits pour vous et les déballer dans /gnu/store et guix install devrait créer un ~/.guix-profile contenant la commande ~/.guix-profile/bin/hello.


Suivant: Accès réseau, Précédent: Mettre en place un nœud principal, Monter: Installer Guix sur une grappe de calcul   [Table des matières][Index]