Module 01 / 19← Ordre des modules
● Stockage · NFS

Stockage Golden / NAS

Ce module prépare le stockage réseau utilisé par le Golden Build. On installe le client NFS, on valide lecture et écriture, on prépare le groupe de sauvegarde puis on rend le montage persistant sans bloquer le démarrage si le NAS est temporairement indisponible.

Point de départ

Module 00 validé

Point d’arrivée

Partage NFS monté, accessible et persistant

Secrets dans la page

Aucune valeur réelle publiée

Avant de commencer

Prérequis

  • Module 00 terminé.
  • Un partage NFS existe déjà sur votre NAS.
  • Vous connaissez l’hôte du NAS, le chemin exporté et le point de montage local souhaité.
  • Vous connaissez le GID autorisé côté NAS si vous utilisez un groupe dédié aux sauvegardes.

Valeurs à personnaliser

Remplacez uniquement dans votre terminal :

NASMETTRE_VOTRE_HOTE_NAS
Export NFSMETTRE_VOTRE_EXPORT_NFS
Montage localMETTRE_VOTRE_POINT_DE_MONTAGE
Compte JarvisMETTRE_VOTRE_USER
GID NFSMETTRE_VOTRE_GID_NFS
Règle : ne lancez jamais une commande qui contient encore un texte METTRE_VOTRE_.... Remplacez d’abord la valeur dans votre terminal, puis relisez la commande avant validation.

Légende des commandes

Lecture seuleModificationValidationOptionnel

Installation pas à pas

01.1 · Vérifier que le Module 00 est terminé

Validation
lsb_release -ds
id -un
timedatectl show -p Timezone --value
Pourquoi : Confirmer que la base Ubuntu, le compte final et le fuseau horaire sont prêts avant de toucher au stockage réseau.
Résultat attendu : Ubuntu attendu, compte final actif et fuseau horaire correct.

01.2 · Vérifier la connectivité vers le NAS

Lecture seule
getent hosts METTRE_VOTRE_HOTE_NAS
Pourquoi : Vérifier que le nom ou l’adresse du NAS est joignable/résolvable avant d’installer le client NFS.
Résultat attendu : Une ligne correspondant au NAS est retournée. Si vous utilisez directement une adresse réseau, la résolution DNS n’est pas nécessaire.

01.3 · Installer le client NFS

Modification
sudo apt update
sudo apt install -y nfs-common
Pourquoi : Installer les outils client NFS nécessaires à Ubuntu pour monter un partage réseau.
Résultat attendu : Le paquet nfs-common est installé sans erreur.

01.4 · Vérifier les outils NFS

Validation
command -v mount.nfs
command -v findmnt
command -v showmount
Pourquoi : S’assurer que les commandes nécessaires au montage et au diagnostic sont disponibles.
Résultat attendu : Chaque commande retourne un chemin exécutable.

01.5 · Lister les exports du NAS

Lecture seule
showmount -e METTRE_VOTRE_HOTE_NAS
Pourquoi : Voir les partages NFS exportés par le NAS avant le montage.
Résultat attendu : Le partage prévu apparaît dans la liste.
Note : certains serveurs NFSv4 peuvent ne pas exposer la liste via showmount. Dans ce cas, ce test peut être ignoré si vous connaissez déjà le chemin exporté.

01.6 · Créer le point de montage local

Modification
sudo mkdir -p METTRE_VOTRE_POINT_DE_MONTAGE
Pourquoi : Créer le répertoire local qui représentera le partage NFS sur Jarvis.
Résultat attendu : Le répertoire existe.

01.7 · Vérifier que le point de montage est vide

Validation
sudo find METTRE_VOTRE_POINT_DE_MONTAGE -mindepth 1 -maxdepth 1 -print
Pourquoi : Éviter de masquer par erreur des fichiers locaux déjà présents sous le futur montage.
Résultat attendu : Aucune ligne n’est retournée avant le premier montage.

01.8 · Monter le partage manuellement

Modification
sudo mount -t nfs \
  METTRE_VOTRE_HOTE_NAS:METTRE_VOTRE_EXPORT_NFS \
  METTRE_VOTRE_POINT_DE_MONTAGE
Pourquoi : Tester le partage manuellement avant de le rendre persistant.
Résultat attendu : La commande se termine sans erreur.

01.9 · Vérifier le montage

Validation
findmnt -T METTRE_VOTRE_POINT_DE_MONTAGE
Pourquoi : Confirmer la source NFS, le type de système de fichiers et le point de montage.
Résultat attendu : Une entrée NFS correspondant au partage attendu est affichée.

01.10 · Tester la lecture

Validation
ls -la METTRE_VOTRE_POINT_DE_MONTAGE | head -30
Pourquoi : Vérifier que le contenu du partage peut être lu depuis Jarvis.
Résultat attendu : Le contenu du répertoire est listé sans Permission denied.

01.11 · Préparer le groupe de sauvegarde Golden

Modification
getent group nas-backup || sudo groupadd --gid METTRE_VOTRE_GID_NFS nas-backup
Pourquoi : Le Golden Build utilise un groupe local dédié lorsque les droits du NAS reposent sur un GID commun. Le GID doit correspondre à celui autorisé côté NAS.
Résultat attendu : Le groupe nas-backup existe avec le GID prévu.
Ne devinez pas le GID. Utilisez la valeur configurée sur votre NAS. Si votre NAS n’utilise pas ce mécanisme de permissions, adaptez cette étape à votre politique d’accès.

01.12 · Ajouter le compte Jarvis au groupe

Modification
sudo usermod -aG nas-backup METTRE_VOTRE_USER
Pourquoi : Permettre au compte final d’utiliser les droits associés au groupe de sauvegarde.
Résultat attendu : La commande se termine sans erreur.

01.13 · Actualiser l’appartenance au groupe

Optionnel
newgrp nas-backup
Pourquoi : Ouvrir un sous-shell qui prend immédiatement en compte le groupe, sans attendre une déconnexion complète.
Résultat attendu : La commande ouvre un shell dont le groupe principal temporaire est nas-backup.
Alternative recommandée : fermez complètement votre session puis reconnectez-vous. Les processus déjà démarrés ne récupèrent pas automatiquement les nouveaux groupes.

01.14 · Vérifier les groupes du compte

Validation
id METTRE_VOTRE_USER
Pourquoi : Confirmer que le compte final est bien membre de nas-backup.
Résultat attendu : nas-backup apparaît dans la liste des groupes.

01.15 · Tester l’écriture puis nettoyer

Validation
TEST_FILE="METTRE_VOTRE_POINT_DE_MONTAGE/.jarvis-write-test-$(date +%s)"
touch "$TEST_FILE" && ls -l "$TEST_FILE" && rm -f "$TEST_FILE"
Pourquoi : Vérifier que Jarvis peut écrire sur le stockage Golden sans laisser de fichier de test.
Résultat attendu : Le fichier temporaire est créé, affiché puis supprimé.
Si vous obtenez Permission denied : ne corrigez pas cela avec un chmod global depuis Jarvis. Vérifiez d’abord les UID/GID et les permissions de l’export côté NAS.

01.16 · Tester l’écriture avec le groupe Golden

Validation
sg nas-backup -c 'TEST_FILE="METTRE_VOTRE_POINT_DE_MONTAGE/.jarvis-sg-test-$(date +%s)"; touch "$TEST_FILE" && rm -f "$TEST_FILE" && echo "ECRITURE_NFS_OK"'
Pourquoi : Reproduire le mode d’exécution utilisé plus tard par les scripts de sauvegarde Golden.
Résultat attendu : Le message ECRITURE_NFS_OK est affiché.

01.17 · Sauvegarder /etc/fstab

Modification
sudo cp /etc/fstab "/etc/fstab.backup-$(date +%Y%m%d-%H%M%S)"
Pourquoi : Créer une copie de sécurité avant de modifier le montage automatique.
Résultat attendu : Un fichier /etc/fstab.backup-... est créé.

01.18 · Ajouter le montage NFS persistant

Modification
sudoedit /etc/fstab

# Ajouter UNE ligne :
METTRE_VOTRE_HOTE_NAS:METTRE_VOTRE_EXPORT_NFS METTRE_VOTRE_POINT_DE_MONTAGE nfs defaults,_netdev,nofail,x-systemd.automount 0 0
Pourquoi : Déclarer le montage de manière persistante. _netdev signale un stockage réseau, nofail évite de bloquer le démarrage si le NAS est indisponible, et x-systemd.automount déclenche le montage à la demande.
Résultat attendu : La ligne est enregistrée une seule fois dans /etc/fstab.

01.19 · Recharger systemd et tester fstab

Validation
sudo systemctl daemon-reload
sudo mount -a
findmnt -T METTRE_VOTRE_POINT_DE_MONTAGE
Pourquoi : Valider la syntaxe de /etc/fstab et vérifier que le montage reste fonctionnel.
Résultat attendu : Aucune erreur de syntaxe ; findmnt affiche le partage NFS.

01.20 · Contrôler la ligne fstab

Lecture seule
grep -F "METTRE_VOTRE_POINT_DE_MONTAGE" /etc/fstab
Pourquoi : Vérifier qu’il n’existe qu’une seule entrée pour ce point de montage.
Résultat attendu : Une seule ligne correspondant au partage est affichée.

01.21 · Tester après redémarrage

Optionnel
sudo reboot
Pourquoi : Valider que le système démarre même si le NAS répond lentement et que le montage peut être réactivé à la demande.
Résultat attendu : Après reconnexion, Jarvis démarre normalement.

01.22 · Valider le montage après redémarrage

Validation
ls METTRE_VOTRE_POINT_DE_MONTAGE >/dev/null
findmnt -T METTRE_VOTRE_POINT_DE_MONTAGE
Pourquoi : L’accès au répertoire doit déclencher ou confirmer l’automount systemd.
Résultat attendu : Le partage NFS est monté et accessible.
Pourquoi ces options fstab ? Sur un stockage réseau, _netdev force systemd à le considérer comme montage réseau, nofail permet au boot de continuer si le NAS est indisponible, et x-systemd.automount crée un automount déclenché à l’accès.

Exemples pratiques : Synology et TrueNAS

Les exemples ci-dessous sont fournis pour aider à traduire les placeholders du module en cas d’usage avec un NAS Synology DSM ou TrueNAS. Ils restent volontairement génériques : remplacez chaque valeur par vos propres paramètres, et vérifiez toujours l’export réel avec showmount -e METTRE_VOTRE_HOTE_NAS.

Exemple type — Synology DSM

Sur Synology, on crée en général un dossier partagé, puis on active les permissions NFS sur ce dossier. L’export NFS ressemble souvent à /volume1/METTRE_VOTRE_DOSSIER_PARTAGE, mais le numéro de volume peut être différent.

# Depuis Jarvis, voir les exports publiés par le Synology
showmount -e METTRE_VOTRE_HOTE_NAS

# Exemple de montage manuel
sudo mount -t nfs   METTRE_VOTRE_HOTE_NAS:/volume1/METTRE_VOTRE_DOSSIER_PARTAGE   METTRE_VOTRE_POINT_DE_MONTAGE

# Exemple de ligne /etc/fstab
METTRE_VOTRE_HOTE_NAS:/volume1/METTRE_VOTRE_DOSSIER_PARTAGE METTRE_VOTRE_POINT_DE_MONTAGE nfs defaults,_netdev,nofail,x-systemd.automount 0 0
Exemple côté Synology : Dossier partagé créé, service NFS activé, autorisation NFS accordée à METTRE_VOTRE_RESEAU_OU_HOTE, puis export visible avec showmount.

Exemple type — TrueNAS

Sur TrueNAS, le plus fréquent est de créer un dataset puis une partage NFS qui expose un chemin sous /mnt/METTRE_VOTRE_POOL/.... Le chemin exact dépend du pool et du dataset choisis.

# Depuis Jarvis, voir les exports publiés par le TrueNAS
showmount -e METTRE_VOTRE_HOTE_NAS

# Exemple de montage manuel
sudo mount -t nfs   METTRE_VOTRE_HOTE_NAS:/mnt/METTRE_VOTRE_POOL/METTRE_VOTRE_DATASET   METTRE_VOTRE_POINT_DE_MONTAGE

# Exemple de ligne /etc/fstab
METTRE_VOTRE_HOTE_NAS:/mnt/METTRE_VOTRE_POOL/METTRE_VOTRE_DATASET METTRE_VOTRE_POINT_DE_MONTAGE nfs defaults,_netdev,nofail,x-systemd.automount 0 0
Exemple côté TrueNAS : Dataset créé, partage NFS publié, réseau ou hôte autorisé, et permissions du dataset cohérentes avec le compte utilisé côté Jarvis.
Conseil pratique : si vous hésitez entre plusieurs chemins d’export, ne copiez pas un exemple au hasard. Lancez toujours showmount -e METTRE_VOTRE_HOTE_NAS, identifiez le chemin réellement publié, puis reportez uniquement ce chemin dans les commandes du module et dans /etc/fstab.

Validation du Module 01

Ne passez au module suivant que lorsque tous les points applicables sont validés.

nfs-common est installé.
Le partage NFS peut être monté manuellement.
findmnt identifie correctement le partage.
La lecture du partage fonctionne.
Le compte final possède les droits nécessaires.
Le test d’écriture fonctionne puis nettoie son fichier.
Le test via sg nas-backup fonctionne.
/etc/fstab a été sauvegardé avant modification.
Le montage persistant contient _netdev, nofail et x-systemd.automount.
Le montage reste accessible après un redémarrage ou un nouvel accès.

STOP — Module 01 validé

Si tous les contrôles sont corrects, ce module est terminé. Vous pouvez poursuivre l’installation de Jarvis. En cas d’écart, restez sur ce module et diagnostiquez la dernière étape en erreur.