Comment sauvegarder Linux ?
Après avoir sauté le pas vers le monde du libre en installant une distribution Linux sur l’ordinateur familial, se pose rapidement la question de comment sauvegarder Linux, ou à minima les données contenues dedans. En effet, même sous ce système d’exploitation, la sauvegarde n’est pas optionnelle, car on n’est pas moins à l’abri d’une panne matérielle ou d’une erreur de manipulation que sous d‘autres systèmes tels que Windows.
Comme presque toujours avec les distributions Linux et logiciels libres, il existe au moins une solution pour combler le besoin, et même plusieurs la plupart du temps. C’est le cas des solutions de sauvegarde, où l’offre en logiciels libres est pléthorique.
Dans cet article, nous n’allons pas passer en revue tous les logiciels de sauvegarde disponibles pour sauvegarder Linux ou les données contenues dedans, mais nous allons dans un premier temps en présenter quelques uns parmi les plus simples d’utilisation pour réaliser une sauvegarde de l’ordinateur familial, sans prise de tête ou risque de mauvaise manipulation. Dans un second temps, nous citerons quelques logiciels sachant recopier des images disques en entier, pour sauvegarder le système en même temps que les données.
Solutions pour sauvegarder ses fichiers
Back In Time : la sauvegarde (un peu) dédupliquée grâce à des hardlinks
On commence par mon préféré, car j’aime beaucoup son concept : chaque sauvegarde dispose de son dossier daté dédié. Le dossier de la première sauvegarde reçoit ainsi une copie complète exhaustive des données à sauvegarder. Puis les sauvegardes suivantes sont réalisées de manière incrémentale, comme d’habitude. Mais par ailleurs, pour que les dossiers des sauvegardes suivantes reflètent la totalité des données sauvegardées, tous les fichiers inchangés depuis la sauvegarde précédente sont hardlinkés dans le dossier de la sauvegarde courante. Celui-ci représente donc une copie réellement complète des données à sauvegarder, sans avoir besoin de recopier une nouvelle fois les données inchangées. Ainsi, toutes les sauvegardes sont indépendantes les unes des autres, et on peut sans précaution particulière supprimer telle ou telle sauvegarde sans impacter les autres.
Les fichiers qui ont été supprimés depuis la sauvegarde précédente ne sont ni copiés, ni hardlinkés, et sont donc absents de la sauvegarde courante, mais disponibles dans les précédentes. La mécanique repose sur la puissance de l’outil de synchronisation rsync.
Ce procédé n’est pas le plus optimal en terme d’économie d’espace sur le disque dédié à la sauvegarde car les sauvegardes ne sont pas compressées, et la déduplication se fait sur des fichiers entiers, pas sur des blocs de données. Mais le fait de pouvoir se balader dans les fichiers de la sauvegarde avec un simple explorateur de fichiers me plaît énormément, par sa simplicité, et sa robustesse. Il me plaît tellement que j’utilise un script python maison qui imite ce principe pour sauvegarder certaines de mes machines.
Cette façon de faire permet de se passer d’une interface dédiée pour parcourir les dossiers des sauvegardes, et un gestionnaire de fichiers classique suffit. Dans ce cas, une restauration pourra se résumer par un simple copier/coller. Ceci dit, cela n’empêche pas Back In Time de proposer une interface dédiée pour la restauration, très pratique également.
Back In Time permet de sauvegarder ses données sur un volume local, ou bien sur un volume distant à travers le protocole SSH. Il permet également de chiffrer les sauvegardes pour les sécuriser, si vous ne faites pas complètement confiance au stockage sur lequel vous déposez vos sauvegardes. Mais dans ce cas, l’interface de restauration sera obligatoire pour les opérations de récupération de fichiers.
Vous pouvez éventuellement bricoler un montage d’un dossier distant sur votre machine à sauvegarder pour y déposer vos sauvegardes, mais il faudra que ce système de fichiers distant et le protocole réseau pour y accéder accepte les hardlinks ; avec de l’ext4 à travers NFS par exemple, ça fonctionne. Attention, pour les mêmes raisons, il ne sera pas possible d’utiliser un disque dur externe formaté en FAT32/exFAT pour stocker les sauvegardes, car ces systèmes de fichiers ne supportent pas les hardlinks. Il faudra alors formater le disque dur externe avec un système de fichiers compatible (ext4, xfs, btrfs, etc…).
Bien sûr, on peut gérer finement la planification de l’exécution automatique des sauvegardes : on configure une fois, puis on oublie, la machine s’occupe du reste.
De nombreuses options de rétention sont disponible pour gérer la conservation des sauvegardes dans le temps, et ainsi gérer l’espace disque.
Déjà-Dup : la sauvegarde ultra simple en 4 clics
Cet autre outil de sauvegarde simple a l’avantage d’être installé par défaut avec Ubuntu, et accessible sous le nom simple et efficace de « sauvegardes ». Il présente une interface épurée à l’extrême. Avant de réaliser la première sauvegarde, on indique le répertoire à sauvegarder, les éventuelles exclusions, la destination pour les sauvegardes et éventuellement un mot de passe pour les protéger, et c’est prêt.
Déjà-Dup peut exploiter un volume local comme support de sauvegarde, mais également de nombreux volumes distants accessibles avec de multiples protocoles tels que NFS, SMB, FTP/FTPS, webdav, SSH, ou même Apple talk. Déjà-Dup dispose aussi d’un module permettant de déposer vos sauvegardes dans Google drive si vous n’avez pas peur pour votre vie privée.
Ainsi, grâce à cette capacité à se brancher à toutes sortes de stockages réseau, il sera aisé d’externaliser sa sauvegarde en dehors de la maison, pour la sécuriser, par exemple en utilisant webdav pour déposer vos sauvegardes dans votre compte nextcloud :) .
Les sauvegardes sont stockées sous forme d’archives compressées. L’avantage est que cela sera plus économe en espace disque sur le média de sauvegarde. Ces archives sont par ailleurs signées, pour s’assurer du maintient de leur intégrité. Chaque archive représente la différence de fichiers avec la précédente, et chacune d’elles est accompagnée d’un fichier « manifest » consignant les différences avec l’archive précédente. Ceci rend les sauvegardes dépendantes les unes des autres, et il s’agira ici de ne pas s’aventurer dans le dossier de sauvegarde avec un simple gestionnaire de fichiers pour y faire des manipulations, celles-ci risquant de compromettre tout ou partie des sauvegardes.
Une fois la première sauvegarde effectuée, l’interface du logiciel s’étoffe, pour laisser apparaître un onglet dédié à la restauration des fichiers et des dossiers. Celui-ci expose une vue sous forme d’un explorateur de fichiers, laquelle vue est calée sur la date de sauvegarde choisie. Il suffit alors de sélectionner les éléments à restaurer, puis de choisir si ils doivent être restaurés à leur emplacement d’origine, ou bien ailleurs.
Pensé avec en priorité la simplicité d’utilisation, Déjà-Dup ne propose pas beaucoup d’options en dehors de celles qui sont fondamentales, et il sera par exemple assez rigide sur les paramètres de rétention des sauvegardes ainsi que sur ceux de la fréquence des sauvegardes. En contrepartie, cette relative faible quantité d’options préservera le novice d’erreurs de configuration.
Solutions pour sauvegarder son système en même temps que les données
Avec ces outils, les interfaces sont principalement en ligne de commande, et comme ils attaquent le cœur du système, ils doivent être utilisés avec précaution, et la concentration nécessaire. Ces outils sont donc plutôt orientés vers des utilisateurs qui savent ce qu’ils font, cependant, leur utilisation est très simple.
Partclone : sauvegarder une partition complète en ligne de commande
Partclone est un utilitaire en ligne de commande permettant de sauvegarder très facilement une partition entière dans une image. Il sait également recopier directement une partition dans un autre disque dur. C’est l’utilitaire qui est utilisé par défaut par le célèbre système de clonage de disque durs clonezilla.
Il a la particularité de reconnaître le système de fichiers à l’intérieur de la partition à sauvegarder, ainsi il sait ne recopier que les blocs utilisés dans la partition pour minimiser la taille des images ainsi que le temps de sauvegarde.
Un exemple pour sauvegarder la première partition du disque /dev/vdc (qui contient un système de fichiers ext4) sur un disque dur externe monté dans /mnt/backup .
sudo partclone.ext4 -c -s /dev/vdc1 -o /mnt/backup/vdc1.img
Attention, pour que partclone accepte de faire son travail, il faut que la partition ne soit pas montée. Si c’est la partition système que l’on veut sauvegarder, il faudra donc démarrer l’ordinateur avec une clé usb contenant une distribution live, comme par exemple system rescuecd (dont j’ai personnellement toujours une clé usb bootable dans la poche).
Une restauration de cette sauvegarde pourrait être effectuée avec la commande suivante :
sudo partclone.ext4 -r -s /mnt/sauvegarde/vdc1.img -o /dev/vdc1
Pour que cette commande fonctionne, il faut également que la partition /dev/vdc1 existe, et soit de taille égale à la partition originalement sauvegardée.
dd : pour cloner en mode bloc sans (trop) se poser de questions
dd est un utilitaire de copie de données en mode bloc, c’est-à-dire octets pour octets. Il permet par exemple de recopier des disques durs entiers: la table de partitions, le secteur de démarrage, le système, en incluant bien entendu les données.
Comme avec partclone, le volume à recopier ne doit pas être monté pour que dd puisse le lire. Cependant, dd ne s’occupe pas de la nature des données recopiées, ce qui fait qu’il est compatible avec n’importe quel système.
La commande suivante permet par exemple de sauvegarder l’entièreté du disque dur /dev/vdc dans une image disque :
sudo dd if=/dev/vdc of=/mnt/backup/vdc.img bs=1024k status=progress
Attention, dd recopie l’intégralité des blocs, y compris ceux qui ne sont pas utilisés. Si le disque dur /dev/vdc a une taille de 500Go, l’image ainsi sauvegardée aura une taille de 500Go, même si le disque est quasiment vide.
Pour restaurer l’image précédemment sauvegardée, on pourra saisir une commande du style
sudo dd if=/mnt/backup/vdc.img of=/dev/vdc bs=1024k status=progress
Notez qu’on pourrait également sauvegarder une partition avec dd, comme on l’a fait avec partclone; il suffit d’indiquer la partition (par exemple /dev/vdc1) à la place du disque entier. Et il sera même possible de monter cette image dans le système de fichiers, pour y piocher dedans des fichiers à restaurer.
Soyez très prudents avec l’utilisation de dd, en particulier dans le fait de ne pas inverser l’option if= (qui est la source à copier) avec l’option of= (qui est la destination où sauvegarder), car il ne vous préviendra pas de l’erreur commise, et détruira ce que vous vouliez sauvegarder à l’origine.
Clonezilla : un package logiciel complet pour cloner un disque dur
Clonezilla est une distribution live regroupant une collection d’outils servant à recopier des disques durs, et elle comprend par exemple les deux utilitaires cités précédemment. Les opérations de sauvegarde et de restauration sont guidées par un assistant en mode texte, ce qui rend les opérations très faciles.
Cette collection d’outils fait de clonezilla un outil complet de clonage de disques, et il existe de très nombreux tutoriels sur internet montrant comment s’en servir.
Il est même possible de démarrer clonezilla à partir du réseau et ainsi se faire un serveur dédié à la sauvegarde des disques durs des différents ordinateurs de la maison, à condition que ceux-ci soient compatibles avec le démarrage sur le réseau PXE.
Quelques autres noms parmi la grosse artillerie du libre, et mot de la fin
En effet il existe par ailleurs de nombreux autres logiciels de sauvegarde disponibles sous Linux, et si vous cherchez à sauvegarder tout un parc de machines, ou bien à utiliser de la déduplication de blocs pour économiser l’espace disque sur la sauvegarde, ou bien encore si vous disposez d’une machine pouvant être convertie en serveur de sauvegardes, vous trouverez probablement votre bonheur avec des logiciels comme BorgBackup, backuppc ou bien encore rdiff-backup. Notez que ces trois logiciels sont plutôt destinés à être utilisés par un public averti.
Pour résumer, et nous replacer dans le cadre de l’ordinateur familial, on peut dire que généralement on ne cherche à sauvegarder que ce qui est réellement irremplaçable, c’est-à-dire les données. Dans ce cas, pour se configurer rapidement une sauvegarde fiable sans se prendre la tête, je conseillerais l’utilisation de Déjà-Dup, dont l’utilisation est quasi-enfantine, et qui permet facilement de configurer sa sauvegarde à l’extérieur. Si on souhaite un peu plus de contrôle sur les paramètres de sauvegarde, et que l’espace disque n’est pas un problème, Back In Time est l’outil qu’il faut.
Commentaires
Laisser un commentaire