Comment créer des instantanés avec BtrFS sous Linux
Vous aimeriez sauvegarder des états de vos données sur votre PC Linux, au cas où des éléments seraient effacés ? C'est possible grâce au système de fichiers Btrfs. Avant de pouvoir créer une capture instantanée Btrfs, il est nécessaire d'avoir un périphérique de stockage sous Linux utilisant ce système de fichiers. Si vous souhaitez convertir un disque existant en Btrfs pour stocker diverses données, suivez les indications ci-dessous. Si vous désirez utiliser Btrfs comme système de fichiers racine, assurez-vous de choisir l'option d'installation personnalisée et de sélectionner Btrfs comme système de fichiers.
En plus d'avoir un périphérique de stockage formaté avec Btrfs, il est indispensable d'installer le paquet btrfs-progs.
Note : Il peut être utile d'utiliser la commande lsblk afin d'identifier le périphérique à formater.
Utilisation de Btrfs sous Linux
Pour formater un disque, commencez par sauvegarder toutes les données qu'il contient, puis ouvrez un terminal. Dans celui-ci, obtenez les droits root en utilisant : sudo -s. Une fois en root, employez la commande mkfs pour initialiser un nouveau système de fichiers sur le périphérique. Dans cet exemple, nous utiliserons /dev/sdd1
mkfs.btrfs -f /dev/sdd1
Résolution des problèmes
Le lecteur ne fonctionne pas après le formatage en Btrfs ? Il se peut qu'il soit nécessaire de créer une nouvelle table de partition. Voici comment faire :
parted /dev/sdd mklabel gpt mkpart primary btrfs 1MiB 100%
Quittez l'outil parted avec :
quit
Ensuite, exécutez de nouveau la commande de formatage :
mkfs.btrfs -f /dev/sdd1
Création de captures instantanées avec Btrfs
Avant de prendre des instantanés, vous devez créer des sous-volumes. Si votre système de fichiers Linux principal est Btrfs, ignorez cette étape et passez directement à la configuration des sous-volumes. Si vous utilisez un disque secondaire avec le système de fichiers Btrfs, il faudra le monter. Dans cet exemple, le disque dur sera /dev/sdd.
sudo -s mkdir /btrfs mount -t btrfs /dev/sdd1 /btrfs
Le dossier Btrfs principal a été créé, monté et est prêt à l'emploi. Il est temps de créer un sous-volume. Qu'est-ce qu'un sous-volume ? C'est une fonctionnalité du système de fichiers Btrfs qui permet aux volumes créés de se comporter comme des périphériques de stockage (par exemple /dev/sda1).
En réalité, ils ne sont pas des périphériques de stockage. Ce sont des répertoires qui utilisent une technologie appelée "espaces de noms". Pour faire simple, Btrfs utilise cette technologie pour permettre aux utilisateurs de créer un ensemble de sous-volumes individuels et montables qui agissent comme des périphériques de stockage.
Pour créer votre propre sous-volume, suivez ces instructions. Dans cet exemple, nous allons illustrer une structure de sous-volume de base commençant dans le dossier principal /btrfs. Vous pouvez créer vos propres volumes où vous le souhaitez, tant que cela est fait sur un système de fichiers Btrfs.

Tout d'abord, obtenez un shell root. Ces commandes peuvent être exécutées avec sudo, mais comme interagir avec le système de fichiers en tant que root peut être fastidieux, il est plus simple de devenir root directement. Utilisez sudo -s ou connectez-vous en utilisant su. Puis, exécutez :
btrfs subvolume create /btrfs/vol_a
Cette première commande crée un sous-volume Btrfs dans /mnt/btrfs sur notre disque d'exemple /dev/sdd1. Vous pouvez vous arrêter ici et l'utiliser comme volume pour stocker des données importantes. Il est également possible de créer des sous-sous-volumes (autant que vous le souhaitez). Pour créer un volume dans un volume, vous feriez :
btrfs subvolume create /btrfs/vol_a/vol_b
Pour créer une capture instantanée, commencez par déplacer ou copier les données importantes dans un sous-volume. Par exemple :
cp -R ~/Documents /btrfs/vol_a/
Puis, utilisez le système de fichiers pour créer un instantané.

btrfs subvolume snapshot /btrfs/vol_a/ /btrfs/vol_a/backup_1
Note : Remplacez "backup_1" par le nom que vous souhaitez donner à votre instantané. Nommez-les de façon claire pour pouvoir les identifier facilement par la suite.
Restaurez n'importe quel instantané avec : mv /btrfs/vol_a/ /mnt/btrfs/vol_a/backup_1
Montage de sous-volumes comme des périphériques de stockage
Un des avantages des sous-volumes est la possibilité de les monter individuellement, comme des périphériques indépendants. Pour ce faire, listez tous les volumes connus à l'aide de la commande btrfs :

btrfs subvolume list /btrfs
Parcourez la liste et recherchez le numéro d'identification du sous-volume, puis montez-le avec la commande mount. Ensuite, démontez-le une fois l'ID obtenu.
mount -o subvolid=XXX /dev/sdX /btrfs
Remplacez XXX par l'ID et /dev/sdX par le disque où se trouve le volume à monter. Il est important de savoir que vous ne pouvez pas monter un sous-volume sur la même partition que celle du niveau supérieur. Montez-le plutôt sur une autre partition ou un autre disque formaté en Btrfs. Par exemple :
mount -o subvolid=38 /dev/sdc1 /btrfs
Le sous-volume 38 est situé sur /dev/sdd1, mais /dev/sdc1 est également en Btrfs, ce qui permet d'y monter des captures instantanées. Il n'est pas nécessaire que ce soit sur des disques physiques distincts. Il est possible de le monter sur /dev/sdc2, etc.
Définir le sous-volume par défaut
Définir le sous-volume Btrfs par défaut est pratique, car cela facilite l'interaction avec celui-ci. Pour définir un volume par défaut, commencez par utiliser la commande de liste de sous-volumes afin de trouver l'ID. Prenez l'ID et entrez-le dans la commande set-default :
btrfs subvolume set-default XXX /btrfs
Pour supprimer une valeur par défaut que vous avez définie, utilisez la même commande, mais au lieu d'utiliser l'ID d'un volume de la liste des sous-volumes, employez le numéro 0. Cela rétablira les paramètres par défaut, et vous serez libre d'utiliser d'autres sous-volumes par défaut.
btrfs subvolume set-default 0 /btrfs
Supprimer un sous-volume
Si à un moment donné vous souhaitez supprimer un volume, vous pouvez le faire avec Btrfs. N'essayez pas de supprimer manuellement le sous-volume du disque dur en utilisant des commandes comme "rmdir" ou "rm -rf". Il est préférable d'utiliser les outils du système de fichiers Btrfs.
Pour supprimer un volume, suivez ces instructions :
btrfs subvolume delete /btrfs/volume-name