ar130405 - Fotolia
Sauvegarde d’un NAS : comment utiliser l’outil Open source Duplicity
L’outil Open source Duplicity est plus adapté que Rsync ou Tar pour sauvegarder des serveurs de fichiers soit vers une cible locale, soit vers le cloud. Cet article explique comment s’en servir.
Duplicity est un puissant utilitaire de sauvegarde pour les administrateurs système qui gèrent plusieurs serveurs de fichiers d’appoint sous un système Unix, typiquement des NAS Linux ou BSD que l’on trouve dans les PME et TPE. L’outil fonctionne mieux lorsque les utilisateurs l’automatisent via des scripts et le planifient avec un timer systemd.
Ce tutoriel présente les étapes nécessaires à la gestion des sauvegardes avec Duplicity, mais vous intégrerez probablement ces étapes dans un processus de script plus large. Par exemple, vous pourriez configurer des sauvegardes complètes hebdomadaires supportées par des sauvegardes incrémentales quotidiennes.
Il existe de nombreux outils de sauvegarde permettant aux administrateurs système de sauvegarder les NAS d’appoint, citons :
- Cpio est un utilitaire d’archivage de fichiers qui permet de regrouper et de sauvegarder des fichiers.
- Dump-restore est un utilitaire de sauvegarde général pour des systèmes de fichiers entiers.
- Rsync est un outil de synchronisation de fichiers qui ne copie que les fichiers modifiés.
- Tar permet de regrouper et de compresser des fichiers pour les transporter à l’aide de protocoles tels que Secure Copy Protocol (SCP) ou FTP.
- Deja Dup fournit une interface graphique pour la duplication.
- Kopia, un outil moderne d’instantané de données, inclut la compression, la déduplication et le chiffrage.
- Time Machine est un utilitaire de sauvegarde pour macOS.
Duplicity présente plusieurs avantages par rapport à ces outils. Notamment :
- Sauvegardes à distance via de nombreux protocoles standard, y compris SSH, SFTP, SCP, rsync, Amazon S3 et Google Cloud Storage.
- Tâches de sauvegarde complètes et incrémentielles.
- Fonctionnalités de filtrage, d’inclusion et d’exclusion.
- Sauvegardes chiffrées et signées numériquement.
- Versioning des sauvegardes.
Outre la sauvegarde de machines Linux et BSD, l’outil est compatible avec macOS et même Windows, puisqu’il est écrit en Python. Pour autant, il est plus adapté aux systèmes de types Unix qu’à Windows.
Les administrateurs exécutent Duplicity à partir de la ligne de commande, ce qui leur permet de configurer des paramètres avancés et d’intégrer les sauvegardes à d’autres tâches scriptées. Il existe cependant une interface graphique, Deja Dup, qui facilite la tâche des utilisateurs qui ne sont pas familiers avec la ligne de commande. Deja Dup conserve de nombreuses fonctionnalités communes à Duplicity tout en fournissant une interface beaucoup plus simple pour la plupart des utilisateurs.
Comment installer Duplicity ?
Tapez la commande suivante pour installer Duplicity si vous utilisez le gestionnaire de paquets DNF.
$ sudo dnf install duplicity
Tapez la commande suivante si vous utilisez le gestionnaire de paquet APT.
$ sudo apt install duplicity
Comment lancer une sauvegarde ?
La syntaxe générale de Duplicity est la commande duplicity suivie d’options, de la source de données et de la destination de la sauvegarde.
duplicity [options] source destination
Par exemple, tapez ce qui suit pour sauvegarder un répertoire dans /projects vers un répertoire distant nommé /backups à l’aide de scp.
$ sudo duplicity /projects scp://remoteuser@remotehost//backups
Cette syntaxe devrait vous être familière ; il s’agit de la structure standard « d’ici à là » de nombreuses commandes de copie Linux.
Utilisez l’option -dry-run pour simuler une tâche de sauvegarde dans le cadre de votre processus de test.
Le premier travail de sauvegarde est une sauvegarde complète, c’est-à-dire qu’il récupère tous les fichiers indiqués. Une fois cette opération terminée, Duplicity exécute automatiquement des sauvegardes incrémentales des seuls fichiers modifiés. Ces sauvegardes prennent beaucoup moins de temps. Soyez conscient que la sauvegarde complète initiale peut prendre plusieurs heures, en fonction du contenu que vous spécifiez. Vous pouvez forcer une sauvegarde complète à tout moment en ajoutant l’option full à la chaîne de commande.
Les administrateurs peuvent configurer des paramètres supplémentaires, notamment des clés GnuPG, pour gérer les sauvegardes chiffrées. Vous configurerez les paires de clés GnuPG dans une tâche distincte, puis vous appellerez les clés en tant que variables dans un script.
Vous pouvez également configurer l’authentification par clé pour les connexions SSH afin d’automatiser entièrement les tâches de sauvegarde se connectant via SSH.
Comment restaurer les données ?
La syntaxe de la commande de restauration de Duplicity est juste l’inverse de la commande de sauvegarde.
$ sudo duplicity [options] destination source
Utilisez la commande suivante si vous devez restaurer l’exemple de travail de sauvegarde donné précédemment.
$ sudo duplicity scp://remoteuser@remotehost//backups/ /restored_projects
Testez soigneusement cette procédure pour vous familiariser avec elle. Les restaurations sont généralement nécessaires après un incident, ou une perte de données, il est donc nécessaire de les manier avec dextérité pour ne pas qu’un retard quelconque affecte les utilisateurs. Documentez le processus de restauration au cas où d’autres administrateurs devraient le mettre en œuvre.
Conseils de dépannage
L’un des problèmes les plus courants avec les sauvegardes est la gestion de l’emplacement cible qui stocke la sauvegarde. Vérifiez d’abord ce point, si vos travaux de duplication échouent.
Posez les questions suivantes lors du dépannage des problèmes de duplication :
- Le disque ou l’espace de stockage est-il accessible ?
- Le disque ou l’espace de stockage est-il plein ?
- Est-ce que Duplicity a les permissions d’écriture pour l’espace de stockage ?
- La congestion du réseau empêche-t-elle l’exécution des tâches de sauvegarde ?
- Un autre processus interfère-t-il avec le travail de sauvegarde ?
- Les entrées/sorties du disque sont-elles en mesure de prendre en charge la tâche de sauvegarde ?
Vérifiez toutes les configurations de Duplicity ou de Deja Dup dans le cadre de votre processus de dépannage. N’oubliez pas d’utiliser l’option -dry-run pour simuler une sauvegarde.