Restic: Sauvegarde très lente des systèmes de fichiers SSHFS - besoin de pouvoir ignorer la comparaison basée sur les inodes

Créé le 19 févr. 2018  ·  4Commentaires  ·  Source: restic/restic

Sortie de restic version

restic 0.8.2

Comment avez-vous exécuté restic exactement?

% restic -r /tmp/restictest backup $SSHFSMOUNT/directory

Le répertoire de sauvegarde est un système de fichiers monté en sshfs.
La commande est exécutée plusieurs fois pour faire plusieurs instantanés.
Dans certains cas, il y a une énorme quantité de données (1 To+) dans le répertoire distant.

Quel backend/serveur/service avez-vous utilisé pour stocker le référentiel ?

Système de fichiers local ext4.

Comportement attendu

Je m'attends à ce que la première sauvegarde soit lente et transfère beaucoup de données sur le réseau local, tandis que les prochaines sauvegardes devraient être assez rapides et ne devraient pas utiliser beaucoup de bande passante.

Comportement réel

Toutes les sauvegardes prennent des heures (voire des jours) même si aucun fichier n'a été modifié.

Étapes pour reproduire le comportement

  • exécuter une sauvegarde
  • démonter le système de fichiers sshfs
  • remonter le système de fichiers sshfs
  • exécuter une nouvelle sauvegarde

Ce n'est pas reproductible à 100% mais même avec une petite quantité de données je pourrais le reproduire.

Les journaux du serveur SFTP montrent que les fichiers sont complètement récupérés même lorsqu'ils n'ont pas changé.

Avez-vous une idée de ce qui a pu causer cela ?

Oui : restic compare les inodes pour vérifier si les fichiers ont été modifiés (message de débogage "timestamp, size or inode modifié", restic/node.go:551restic.(*Node).IsNewer11node ).

Cependant, les inodes peuvent changer entre les montages de systèmes de fichiers avec sshfs (et probablement d'autres systèmes de fichiers).

Avez-vous une idée de comment résoudre le problème?

Commenter la vérification des inodes a résolu le problème pour moi.

J'aimerais avoir un moyen de désactiver ce contrôle ; peut-être un indicateur de ligne de commande ?

Restic vous a-t-il aidé ou rendu heureux d'une manière ou d'une autre ?

Bien sûr, c'est un bon logiciel ! Je suis d'autant plus heureux que j'ai trouvé une solution de contournement...
Continuez votre bon travail!

feature enhancement

Commentaire le plus utile

Merci pour le rapport, cela est en effet causé par restic détectant que les fichiers ont changé en fonction de l'inode. Pour les systèmes de fichiers basés sur des fusibles, cette vérification n'est pas excellente, nous devrions plutôt vérifier uniquement les horodatages et la taille du fichier.

En principe, cela pourrait également être détecté automatiquement (en regardant le nom du système de fichiers et en gardant une liste noire des systèmes de fichiers connaissant l'inode instable) de sorte que nous n'avons peut-être même pas besoin d'un indicateur de ligne de commande.

Tous les 4 commentaires

Merci pour le rapport, cela est en effet causé par restic détectant que les fichiers ont changé en fonction de l'inode. Pour les systèmes de fichiers basés sur des fusibles, cette vérification n'est pas excellente, nous devrions plutôt vérifier uniquement les horodatages et la taille du fichier.

En principe, cela pourrait également être détecté automatiquement (en regardant le nom du système de fichiers et en gardant une liste noire des systèmes de fichiers connaissant l'inode instable) de sorte que nous n'avons peut-être même pas besoin d'un indicateur de ligne de commande.

En principe, cela pourrait également être détecté automatiquement (en regardant le nom du système de fichiers et en gardant une liste noire des systèmes de fichiers connaissant l'inode instable) de sorte que nous n'avons peut-être même pas besoin d'un indicateur de ligne de commande.

Comment envisagez-vous cela? Je pourrais tenter le coup...

2205 a été fusionné et se trouve dans 0.9.5 , cela devrait être fermé. :clin d'œil:

Tu as raison, merci pour l'astuce !

Cette page vous a été utile?
0 / 5 - 0 notes