Date : 05-01-2026 Statut : En attente de validation Impact : PVE, claude, prod-portainer, toutes VMs avec accès NFS
NFS all_squash : L'export NFS utilise all_squash,anonuid=65534,anongid=65534 ce qui mappe tous les utilisateurs vers nobody. Résultat : aucune VM ne peut lire/écrire les fichiers appartenant à gouroubleu.
Données sur le mauvais pool :
stock_8to/33800-stack/ = VIDE (devrait contenir les données actives)stock_36to/data/33800-stack/ = contient tout (devrait être le backup)Réseau stockage : Nouveau réseau 10.10.10.0/24 ajouté mais pas encore configuré sur toutes les machines.
stock_8to (frontal, rapide) stock_36to (backup, archivage)
├── 33800-stack/ ◄─────────────── rsync horaire ──────► backup-stock8/
├── backups/
└── vm-images/
Fichier : /etc/exports sur PVE
Avant :
/stock_36to *(rw,sync,no_subtree_check,no_root_squash,all_squash,anonuid=65534,anongid=65534)
/stock_8to *(rw,sync,no_subtree_check,no_root_squash,all_squash,anonuid=65534,anongid=65534)
Après :
# Trouver l'UID/GID de gouroubleu sur PVE
id gouroubleu
# Exemple: uid=1000(gouroubleu) gid=1000(gouroubleu)
# Modifier /etc/exports pour mapper vers gouroubleu
/stock_36to *(rw,sync,no_subtree_check,no_root_squash,all_squash,anonuid=1000,anongid=1000)
/stock_8to *(rw,sync,no_subtree_check,no_root_squash,all_squash,anonuid=1000,anongid=1000)
Appliquer :
sudo exportfs -ra
sudo systemctl restart nfs-server
Alternative sans all_squash (si gouroubleu existe sur toutes les VMs avec même UID) :
/stock_36to *(rw,sync,no_subtree_check,no_root_squash)
/stock_8to *(rw,sync,no_subtree_check,no_root_squash)
Sur PVE directement (plus rapide, pas de réseau) :
# Vérifier l'espace disponible
df -h /stock_8to
# Copier 33800-stack vers le frontal
rsync -avP --delete /stock_36to/data/33800-stack/ /stock_8to/33800-stack/
# Vérifier
ls -la /stock_8to/33800-stack/
Estimation : ~quelques Go, rapide en local.
Créer le script de backup sur PVE :
cat > /usr/local/bin/rsync-stock8-to-stock36.sh << 'EOF'
#!/bin/bash
# Backup stock_8to vers stock_36to
LOG="/var/log/rsync-stock8-backup.log"
SOURCE="/stock_8to/33800-stack/"
DEST="/stock_36to/data/backup-stock8/33800-stack/"
echo "$(date): Début sync" >> $LOG
rsync -avP --delete "$SOURCE" "$DEST" >> $LOG 2>&1
echo "$(date): Fin sync" >> $LOG
EOF
chmod +x /usr/local/bin/rsync-stock8-to-stock36.sh
Créer le cron :
cat > /etc/cron.d/rsync-stock8-backup << 'EOF'
# Backup horaire stock_8to vers stock_36to
0 * * * * root /usr/local/bin/rsync-stock8-to-stock36.sh
# Backup complet quotidien à 5h
0 5 * * * root /usr/local/bin/rsync-stock8-to-stock36.sh
EOF
PVE doit avoir les deux IPs :
# Vérifier la config actuelle
ip addr show
# Si 10.10.10.10 n'est pas configuré, l'ajouter
# Dans /etc/network/interfaces, ajouter sur vmbr approprié :
# iface vmbr1 inet static
# address 10.10.10.10/24
Alias mDNS pour PVE :
# Installer avahi si pas présent
apt install avahi-daemon
# Créer service pour pve-speed.local
cat > /etc/systemd/system/avahi-alias-speed.service << 'EOF'
[Unit]
Description=Publish pve-speed.local mDNS alias
After=avahi-daemon.service
[Service]
Type=exec
ExecStart=/usr/bin/avahi-publish -a -R pve-speed.local 10.10.10.10
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable --now avahi-alias-speed.service
# Corriger les symlinks vers stock_8to
rm /home/gouroubleu/propositions /home/gouroubleu/tasks /home/gouroubleu/backlog
ln -s /mnt/stock_8to/33800-stack/claude/propositions /home/gouroubleu/propositions
ln -s /mnt/stock_8to/33800-stack/claude/tasks /home/gouroubleu/tasks
ln -s /mnt/stock_8to/33800-stack/claude/backlog /home/gouroubleu/backlog
# Remonter NFS pour prendre en compte les nouvelles permissions
sudo umount /mnt/stock_8to /mnt/stock_36to
sudo mount -a
Même principe :
# 1. Corriger NFS
id gouroubleu # noter l'UID/GID
sudo nano /etc/exports # modifier anonuid/anongid
sudo exportfs -ra
# 2. Copier données vers frontal
rsync -avP /stock_36to/data/33800-stack/ /stock_8to/33800-stack/
# 3. Créer script + cron rsync
# (voir étape 3)
# 4. Vérifier réseau 10.10.10.10
ip addr show | grep 10.10.10
# 5. Optionnel : alias mDNS pve-speed.local
Depuis claude, après toutes les corrections :
# Test écriture
touch /mnt/stock_8to/33800-stack/test.tmp && rm /mnt/stock_8to/33800-stack/test.tmp && echo "OK"
# Test symlinks
ls /home/gouroubleu/propositions/
ls /home/gouroubleu/tasks/
ls /home/gouroubleu/backlog/
# Test réseau speed
ping pve-speed.local
ping claude-speed.local