Btrfs

Comment sauvegarder des instantanés Btrfs sur des disques externes

Comment sauvegarder des instantanés Btrfs sur des disques externes

Par défaut, vous pouvez stocker les instantanés que vous prenez de vos sous-volumes Btrfs dans le même système de fichiers Btrfs, mais il n'est pas possible de stocker les instantanés d'un système de fichiers Btrfs directement dans un autre système de fichiers Btrfs. Cependant, le système de fichiers Btrfs vous fournit les outils nécessaires pour sauvegarder des instantanés d'un système de fichiers Btrfs sur un autre système de fichiers Btrfs. Cet article vous montre comment sauvegarder des instantanés Btrfs sur un système de fichiers Btrfs externe sur un lecteur externe.

Conditions préalables

Pour essayer les exemples inclus dans cet article, vous devez remplir les conditions préalables suivantes :

j'ai le disque dur de 20 Go, sdb, sur ma machine Ubuntu. j'ai créé deux partitions, sdb1 et sdb2, sur ce disque dur.

$ sudo lsblk -e7

Noter: Votre disque dur ou SSD aura un nom différent du mien, ainsi que les partitions. Alors, assurez-vous de remplacer ces noms par le vôtre à partir de maintenant.


Je vais créer des systèmes de fichiers Btrfs sur le sdb1 et le sdb2 partitions. Les instantanés créés sur le système de fichiers Btrfs (sdb1) sera sauvegardé dans le système de fichiers Btrfs créé sur le sdb2 cloison. Le système de fichiers Btrfs créé sur le sdb2 la partition agira comme le lecteur externe. Vous pouvez également utiliser une clé USB ou un disque dur externe ; assurez-vous simplement de le formater avec le système de fichiers Btrfs.

Pour obtenir de l'aide sur l'installation du système de fichiers Btrfs dans Ubuntu, consultez mon article Installer et utiliser Btrfs sur Ubuntu 20.04 LTS.

Pour obtenir de l'aide sur l'installation du système de fichiers Btrfs dans Fedora, consultez mon article Installer et utiliser Btrfs sur Fedora 33.

Création des systèmes de fichiers Btrfs requis

Je vais formater à la fois le sdb1 et sdb2 partitions en tant que Btrfs. je vais utiliser le sdb1 partition pour stocker les données et les snapshots Btrfs. je vais utiliser le sdb2 partition pour sauvegarder les snapshots du système de fichiers Btrfs créés sur le sdb1 cloison.

Pour créer un système de fichiers Btrfs sur le sdb1 partition et donnez-lui les données de l'étiquette du système de fichiers, exécutez la commande suivante :

$ sudo mkfs.btrfs -L données /dev/sdb1

Un système de fichiers Btrfs doit maintenant être créé sur le sdb1 cloison.

Pour créer un système de fichiers Btrfs sur le sdb2 partition et donnez-lui les instantanés de l'étiquette du système de fichiers, exécutez la commande suivante :

$ sudo mkfs.btrfs -L instantanés /dev/sdb2

Un système de fichiers Btrfs doit maintenant être créé sur le sdb2 cloison.

Créer les répertoires /Les données et /instantanés pour monter le sdb1 et sdb2 partitions, respectivement, comme suit :

$ sudo mkdir -v /données, instantanés

Montez le système de fichiers Btrfs que vous avez créé sur le sdb1 partition sur le répertoire /data, comme suit :

$ sudo mount /dev/sdb1 /data

De la même manière, montez le système de fichiers Btrfs que vous avez créé sur le sdb2 partition sur le /instantanés répertoire, comme suit :

$ sudo mount /dev/sdb2 /snapshots

Comme vous pouvez le voir dans la capture d'écran ci-dessous, les deux systèmes de fichiers Btrfs (sdb1 et sdb2 partitions) ont été montés correctement.

$ df -h -t btrfs

Prendre des instantanés d'un système de fichiers Btrfs

Dans cette section, nous allons créer le projet factice web1 sur le /data/projects/web1 sous-volume Btrfs. Nous prendrons un instantané de ce sous-volume dans cette section, ainsi que d'autres instantanés dans les sections suivantes de cet article.

Tout d'abord, créez le nouveau répertoire /données/projets, comme suit:

$ sudo mkdir -v /données/projets

Ensuite, créez le nouveau sous-volume web1 dans le répertoire /data/projects, comme suit:

$ sudo btrfs subvolume create /data/projects/web1

Enfin, créez le nouvel index de fichier.html dans le /données/projets/web1 sous-volume avec l'éditeur de texte nano, comme suit :

$ sudo nano /data/projects/web1/index.html

Tapez les lignes de code suivantes dans l'index.fichier html :




Site de démonstration



Bonjour le monde




Une fois que vous avez terminé, appuyez sur <Ctrl> + X suivie par Oui et <Entrer> pour enregistrer le indice.fichier html.

De la même manière, créez le nouveau fichier style.css dans le /data/projects/web1 sous-volume comme suit:

$ sudo nano /data/projects/web1/style.css


Tapez les lignes de code suivantes dans le style.css déposer:

h1
la couleur verte;

Une fois que vous avez terminé, appuyez sur <Ctrl> + X suivie par Oui et <Entrer> pour enregistrer le style.css déposer.

Maintenant le /data/projects/web1 sous-volume contient le indice.html et style.fichier css.

$ ls -lh /data/projects/web1

Nous conserverons tous les instantanés de ce système de fichiers Btrfs dans le /Les données/.instantanés annuaire.

Tout d'abord, créez le /Les données/.instantanés répertoire avec la commande suivante :

$ sudo mkdir -v /données/.instantanés

Ensuite, créez l'instantané en lecture seule /Les données/.instantanés/web1-2020-12-30 du /data/projects/web1 sous-volume avec la commande suivante :

$ sudo btrfs instantané de sous-volume -r /data/projects/web1 /data/.instantanés/web1-2020-12-30

Comme vous pouvez le voir, le nouvel instantané /Les données/.instantanés/web1-2020-12-30 a été créé.

$ sudo btrfs liste de sous-volumes / données

Sauvegarde d'instantanés sur un disque externe

Pour sauvegarder l'instantané /Les données/.instantanés/web1-2020-12-30 à un autre système de fichiers Btrfs (lecteur externe sdb2, dans ce cas) monté sur le /instantanés répertoire, exécutez la commande suivante :

$ sudo btrfs envoyer /données/.instantanés/web1-2020-12-30 | sudo btrfs reçoit/snapshots

L'instantané /Les données/.instantanés/web1-2020-12-30 doit être sauvegardé sur le système de fichiers Btrfs externe (sdb2) monté sur le /instantanés annuaire.

Comme vous pouvez le voir, le nouveau sous-volume web1-2020-12-30 a été créé sur le système de fichiers externe Btrfs.

$ sudo btrfs liste de sous-volumes / instantanés

le instantané web1-2020-12-30 devrait avoir les mêmes fichiers/répertoires comme le /Les données/.instantanés/web1-2020-12-30 instantané.

$ tree -a /snapshots

Vous pouvez obtenir plus d'informations sur l'instantané sauvegardé /snapshosts/web1-2020-12-30 comme suit:

$ sudo btrfs subvolume show /snapshots/web1-2020-12-30

Sauvegarde incrémentielle des instantanés sur un disque externe

S'il y a beaucoup de fichiers dans les instantanés à sauvegarder sur un lecteur externe, les sauvegardes incrémentielles vous aideront à accélérer l'opération de sauvegarde. Dans ce cas, Btrfs ne mettra à jour que les fichiers qui ont changé depuis le dernier instantané et copiera les nouveaux fichiers qui n'étaient pas disponibles dans le dernier instantané.

Dans cette section, je vais vous montrer comment effectuer des sauvegardes incrémentielles d'instantanés Btrfs vers des systèmes de fichiers Btrfs externes.

Tout d'abord, ouvrez le indice.fichier html du /data/projects/web1 sous-volume, comme suit:

$ sudo nano /data/projects/web1/index.html

Apportez les modifications souhaitées au indice.fichier html. Une fois que vous avez terminé, appuyez sur <Ctrl> + X suivie par Oui et <Entrer> pour enregistrer le indice.html déposer.

Prenez un nouvel instantané en lecture seule du /data/projects/web1 sous-volume, comme suit:

$ sudo btrfs instantané de sous-volume -r /data/projects/web1 /data/.instantanés/web1-2020-12-31

Comme vous pouvez le voir, le nouvel instantané /Les données/.instantanés/web1-2020-12-31 du /data/projects/web1 sous-volume a été créé.

$ sudo btrfs liste de sous-volumes / données

Maintenant, nous sommes prêts à effectuer une sauvegarde incrémentielle.

Pour effectuer une sauvegarde incrémentielle, vous aurez besoin d'un instantané commun des systèmes de fichiers Btrfs source et de destination (lecteur externe). L'instantané commun est généralement le dernier instantané d'un sous-volume Btrfs. Lorsque vous prenez un nouveau snapshot sur le système de fichiers source Btrfs, le nouveau snapshot est comparé au dernier snapshot (disponible à la fois sur le système de fichiers Btrfs source et de destination) du système de fichiers source Btrfs. Btrfs calculera la différence et n'enverra que les données requises au système de fichiers Btrfs de destination (le lecteur externe).

Par exemple, pour effectuer une sauvegarde incrémentielle du /Les données/.instantanés/web1-2020-12-31 instantané, vous devez spécifier l'instantané parent (le dernier instantané disponible sur les systèmes de fichiers Btrfs source et de destination), /Les données/.instantanés/web1-2020-12-30, ainsi que.

Une sauvegarde incrémentielle du /Les données/.instantanés/web1-2020-12-31 L'instantané peut être pris sur un système de fichiers Btrfs externe, comme suit :

$ sudo btrfs send -p /data/.instantanés/web1-2020-12-30 /données/.instantanés/web1-2020-12-31 | sudo btrfs reçoit/snapshots

Une sauvegarde incrémentielle du /Les données/.instantanés/web1-2020-12-31 un instantané doit être pris.

Comme vous pouvez le voir, le web1-2020-12-31 instantané a été sauvegardé sur le système de fichiers Btrfs externe monté sur le /instantanés annuaire.

$ sudo btrfs liste de sous-volumes / instantanés

Comme vous pouvez le voir dans la capture d'écran ci-dessous, les modifications que vous avez apportées au indice.fichier html sont disponibles dans le web1-2020-12-31 instantané qui a été sauvegardé sur le système de fichiers externe Btrfs.

$ chat /instantanés/web1-2020-12-31/index.html

De la même manière, vous pouvez effectuer autant de sauvegardes incrémentielles de vos snapshots que vous le souhaitez.

Je vais vous montrer comment faire une sauvegarde incrémentielle une fois de plus. je ne prendrai pas le temps de l'expliquer à nouveau. Au lieu de cela, je vais juste vous montrer le processus pour plus de clarté.

Ouvrez le indice.fichier html du /data/projects/web1 sous-volume, comme suit:

$ sudo nano /data/projects/web1/index.html

Apportez les modifications souhaitées au indice.fichier html. Une fois que vous avez terminé, appuyez sur <Ctrl> + X suivie par Oui et <Entrer> pour enregistrer le indice.fichier html.

Prenez un nouvel instantané en lecture seule du /data/projects/web1 sous-volume, comme suit:

$ sudo btrfs instantané de sous-volume -r /data/projects/web1 /data/.instantanés/web1-2020-12-31_2

Effectuez une sauvegarde incrémentielle du /Les données/.instantanés/web1-2020-12-31_2 instantané à un système de fichiers Btrfs externe, comme suit :

$ sudo btrfs send -p /data/.instantanés/web1-2020-12-31 /données/.instantanés/web1-2020-12-31_2 | sudo btrfs reçoit/snapshots

Noter: Maintenant, l'instantané parent auquel le /Les données/.instantanés/web1-2020-12-31_2 instantané sera comparé est /Les données/.instantanés/web1-2020-12-31.

Comme vous pouvez le voir, le web1-2020-12-31_2 l'instantané a été sauvegardé sur le système de fichiers Btrfs externe monté sur le /instantanés annuaire.

$ sudo btrfs liste de sous-volumes / instantanés

Comme vous pouvez le voir dans la capture d'écran ci-dessous, les modifications récentes apportées au indice.fichier html sont disponibles sur le web1-2020-12-31_2 instantané sauvegardé sur le système de fichiers externe Btrfs.

$ chat /instantanés/web1-2020-12-31_2/index.html

Garder les choses propres

Si vous sauvegardez fréquemment vos instantanés Btrfs, vous vous retrouverez avec beaucoup d'instantanés et il peut devenir difficile de les gérer. Heureusement, vous pouvez supprimer n'importe quel instantané du système de fichiers Btrfs.

Si vous utilisez un lecteur externe suffisamment grand pour conserver les sauvegardes des instantanés Btrfs, vous pouvez conserver quelques instantanés sur votre système de fichiers Btrfs et sauvegarder tous les instantanés sur votre disque externe.

Si vous utilisez un disque externe plus petit, vous pouvez conserver de manière sélective uniquement les instantanés les plus importants sauvegardés sur le disque externe.

Pour effectuer des sauvegardes de vos snapshots Btrfs, vous devez conserver au moins le dernier snapshot à la fois sur la source (/Les données/.instantanés) et la destination (/snapshots - lecteur externe) Systèmes de fichiers Btrfs. Alors, n'hésitez pas à supprimer tous les instantanés autres que le dernier instantané aux deux extrémités.

Par exemple, dans ce cas, le dernier instantané est web1-2020-12-31_2. Ainsi, pour effectuer des sauvegardes incrémentielles, cet instantané doit être conservé sur les systèmes de fichiers Btrfs source et destination (disque externe).

Supposons que vous vouliez supprimer le /Les données/.instantanés/web1-2020-12-30 instantané.

Pour ce faire, exécutez la commande suivante :

$ sudo btrfs sous-volume delete /data/.instantanés/web1-2020-12-30

L'instantané de Btrfs /Les données/.instantanés/web1-2020-12-30 devrait maintenant être supprimé.

De la même manière, vous pouvez supprimer le /Les données/.instantanés/web1-2020-12-31 instantané, comme suit:

$ sudo btrfs sous-volume delete /data/.instantanés/web1-2020-12-31

Maintenant, seul le dernier instantané, /Les données/.instantanés/web1-2020-12-31_2, est disponible sur le système de fichiers Btrfs, monté sur le /Les données annuaire. Les autres snapshots sont sauvegardés sur le disque externe, monté sur le /instantanés annuaire.

$ sudo btrfs liste de sous-volumes / données
$ sudo btrfs liste de sous-volumes / instantanés

Restauration d'instantanés à partir d'un lecteur externe

Si vous avez sauvegardé vos instantanés sur le disque externe, vous pouvez les restaurer à tout moment à partir du disque externe.

Par exemple, j'ai supprimé le web1-2020-12-30 instantané à partir de mon système de fichiers Btrfs, monté sur le /Les données annuaire. Mais, cet instantané est sauvegardé sur le lecteur externe, monté sur le /instantanés annuaire. Restaurons cet instantané.

$ sudo btrfs liste de sous-volumes / instantanés

Pour restaurer le web1-2020-12-30 instantané à partir du lecteur externe, exécutez la commande suivante :

$ sudo btrfs envoyer /snapshots/web1-2020-12-30 | sudo btrfs reçoit /données/.instantanés

le instantané web1-2020-12-30 doit être restauré sur le système de fichiers Btrfs monté sur le /Les données annuaire.

Comme vous pouvez le voir, le web1-2020-12-30 instantané est restauré sur le système de fichiers Btrfs monté sur le /Les données annuaire.

$ sudo btrfs liste de sous-volumes / données

Et, comme vous pouvez le voir, le contenu de la indice.html fichier de la web1-2020-12-30 instantané. Il s'agit de la première version du indice.html fichier d'avant.

$ chat /données/.instantanés/web1-2020-12-30/index.html

Conclusion

Dans cet article, vous avez appris à sauvegarder des instantanés de votre système de fichiers Btrfs sur un lecteur externe. Vous avez également appris à effectuer des sauvegardes incrémentielles de vos instantanés Btrfs sur un lecteur externe. Enfin, vous avez appris à supprimer les instantanés existants d'un système de fichiers Brtfs et à restaurer les instantanés à partir du lecteur externe, ainsi que.

Comment changer les boutons gauche et droit de la souris sur un PC Windows 10
Il est tout à fait normal que tous les appareils de souris d'ordinateur soient conçus de manière ergonomique pour les droitiers. Mais il existe des so...
Émulez les clics de souris en survolant à l'aide de la souris sans clic dans Windows 10
L'utilisation d'une souris ou d'un clavier dans la mauvaise posture d'une utilisation excessive peut entraîner de nombreux problèmes de santé, notamme...
Ajoutez des gestes de souris à Windows 10 à l'aide de ces outils gratuits
Ces dernières années, les ordinateurs et les systèmes d'exploitation ont considérablement évolué. Il fut un temps où les utilisateurs devaient utilise...