Skip to main content

8.3 - Snapshots ZFS et réplication TrueNAS

Les snapshots ZFS protègent rapidement l'état d'un dataset. Ils ne remplacent pas un dump PostgreSQL logique ni une copie hors du pool.

Snapshot manuel

Après un dump de base :

sudo zfs snapshot HDD_DATA_TRUENAS/IMMICH/data@manuel-$(date +%F-%H%M)
sudo zfs snapshot HDD_DATA_TRUENAS/IMMICH/pgData@manuel-$(date +%F-%H%M)

Adapter les noms ZFS réels obtenus avec :

sudo zfs list

Tâche périodique TrueNAS

Dans Data Protection > Periodic Snapshot Tasks :

  1. choisir le dataset parent ou les datasets enfants ;
  2. activer la récursivité si nécessaire ;
  3. définir l'horaire ;
  4. définir la durée de conservation ;
  5. éviter une rétention qui remplit le pool ;
  6. vérifier les snapshots créés.

Cohérence PostgreSQL

Un snapshot de pgData pendant que PostgreSQL écrit est généralement comparable à un arrêt brutal. PostgreSQL sait souvent récupérer, mais ce snapshot ne doit pas remplacer un dump logique.

Pour un snapshot applicatif cohérent :

  1. activer la maintenance ;
  2. créer un dump ;
  3. arrêter Immich si un point strict est requis ;
  4. prendre les snapshots ;
  5. redémarrer ;
  6. vérifier les services.

Réplication

Dans Data Protection > Replication Tasks :

  • source : datasets Immich ;
  • destination : autre pool, autre TrueNAS ou serveur compatible ;
  • transport : local ou SSH ;
  • snapshots : tâche périodique correspondante ;
  • rétention : cohérente avec la source et la capacité.

Vérifier

sudo zfs list -t snapshot | grep -i immich
sudo zpool status
sudo zpool list

Restauration d'un fichier

Préférer cloner ou parcourir un snapshot puis copier le fichier voulu. Éviter un rollback complet sans analyse, car il supprime les modifications plus récentes du dataset.

Après réplication

Vérifier que la destination contient :

  • les médias ;
  • les dumps ;
  • les profils ;
  • les datasets séparés ;
  • les bibliothèques externes si elles font partie du plan.