J'ai un système FreeNAS local et je souhaite utiliser des instantanés ZFS pour les sauvegardes.
FreeNAS a les tâches de réplication intégrées qui utilisent
zfs send snapshot_name
pour envoyer un instantané à un système distant. Mais cela nécessite un système avec ZFS à l'autre bout.
Je veux envoyer l'instantané vers un fichier et envoyer ce fichier compressé et crypté à la machine distante.
C'est possible avec
zfs send snapshot_name | gzip | openssl enc -aes-256-cbc -a -salt > file.gz.ssl
Chaque jour, je crée un instantané du pool de stockage et conserve chaque instantané pendant 30 jours.
Avec chaque instantané pris, je redirige cet instantané vers un fichier.
- snapshot_file 1 contient tous les fichiers (disons 2 Go)
- snapshot_file 2 n'a que les modifications apportées à snapshot_file 1 (disons 5 Mo)
- snapshot_file 3 contient les modifications apportées à snapshot_file 2; etc.
Le jour 31, snapshot_file 1 est supprimé (car je souhaite uniquement les modifications des 30 derniers jours)
Par conséquent, snapshot_file 2 doit contenir chaque fichier (2 Go de modifications de snapshot_file 1 + 5 Mo)
Mais avec cette approche tous les jours (à partir du 31e jour), un nouveau fichier de 2 Go doit être créé et envoyé à un système distant. C'est trop de frais généraux.
Quelle serait la meilleure approche pour utiliser des instantanés dirigés vers un fichier comme stratégie de sauvegarde avec un historique de X jours?
PS: Je sais qu'il existe de nombreux logiciels de sauvegarde (rdiff-backup par exemple), que je pourrais utiliser. Mais je suis curieux de savoir comment cela pourrait être fait.
zfs recv
à l'autre bout (sur un pool aveczfs set compression=gzip-9
par exemple). Le stockage de fichiers d'instantanés me semble très inefficace.