Comment créer des instantanés avec BtrFS sous Linux

Souhaitez-vous créer des instantanés de données sur votre PC Linux au cas où quelque chose serait supprimé? Avec le système de fichiers BtrFS, vous pouvez. Avant de pouvoir créer un instantané BtrFS, vous devez d’abord disposer d’un périphérique bloc sous Linux qui utilise le système de fichiers BtrFS. Si vous souhaitez transformer un lecteur existant en lecteur BtrFS pour des données diverses, suivez les instructions ci-dessous. Vous souhaitez utiliser BtrFS comme système de fichiers racine à la place? Assurez-vous de sélectionner «installation personnalisée» pendant le processus d’installation et sélectionnez BtrFS comme système de fichiers de votre choix.

En plus d’avoir un périphérique bloc avec le système de fichiers BtrFS formaté, l’utilisateur doit également installer le btrfs-progs paquet.

Remarque: vous devrez peut-être exécuter la commande lsblk pour déterminer le périphérique bloc à formater.

BtrFS sur Linux

Pour formater un lecteur, sauvegardez d’abord toutes les données qu’il contient, puis ouvrez un terminal. Dans le terminal, gagnez en racine en utilisant: sudo -s. Avec un accès root, utilisez la commande mkfs pour créer un nouveau système de fichiers sur l’appareil. Dans cet exemple, nous utiliserons / dev / sdd1

mkfs.btrfs -f /dev/sdd1

Dépannage

Le lecteur ne fonctionne pas après le formatage en BtrFS? Vous devrez peut-être créer une nouvelle table de partition. Voici comment procéder:

parted /dev/sdd
mklabel gpt
mkpart primary btrfs 1MiB 100%

Quittez l’outil séparé avec:

quit

Ensuite, réexécutez la commande format.

mkfs.btrfs -f /dev/sdd1

Créer des instantanés avec BtrFS

Avant de prendre des instantanés, vous devrez créer des sous-volumes. Le système de fichiers Linux principal est BtrFS? Ignorez cette étape et passez directement à la configuration des sous-volumes. Ne suivez cette partie du processus que si vous utilisez un lecteur secondaire avec le système de fichiers BtrFS, vous devrez le monter. Dans cet exemple, le disque dur sera / dev / sdd.

  Comment activer les alertes flash LED uniquement lorsque votre iPhone est silencieux

sudo -s 
mkdir /btrfs
mount -t btrfs /dev/sdd1 /btrfs

Le dossier BtrFS principal a été créé, monté et est prêt à fonctionner. Il est temps de créer un sous-volume. Qu’est-ce qu’un sous-volume? C’est une fonction spéciale fournie avec le système de fichiers BtrFS qui permet aux volumes créés de fonctionner de la même manière qu’un périphérique bloc (pensez / dev / sda1, etc.).

La réalité est qu’ils ne bloquent pas réellement les appareils. Au lieu de cela, ce sont des répertoires sophistiqués qui tirent parti d’une technologie appelée «espaces de noms». Sans devenir trop compliqué, le BtrFS tire parti de cette technologie d’espace de nom pour permettre aux utilisateurs de créer un ensemble de sous-volumes individuels et montables qui agissent et se comportent comme des périphériques de bloc.

Pour créer votre propre sous-volume, procédez comme suit. Dans cet exemple, nous allons montrer une structure de sous-volume de base qui commence dans le dossier main / btrfs. Gardez à l’esprit que vous pouvez créer vos propres volumes où vous le souhaitez, à condition que cela soit fait sur un système de fichiers BtrFS.

  Comment créer de nouveaux préfixes Wine sur Linux

Tout d’abord, obtenez un shell racine. Ces commandes peuvent être effectuées avec les privilèges sudo, mais étant donné qu’interagir avec le système de fichiers (en tant que root) peut être fastidieux, il est préférable de simplement obtenir root tout de suite. Utilisez sudo -s ou connectez-vous à root en utilisant su. Alors fais:

btrfs subvolume create /btrfs/vol_a

La première commande crée un sous-volume BtrFS sous / mnt / btrfs sur notre lecteur d’exemple / dev / sdd1. Si vous le souhaitez, vous pouvez vous arrêter ici et l’utiliser comme volume pour enregistrer toutes les données importantes. Vous pouvez également 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 un instantané, commencez par déplacer / copier toutes 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

Remarque: remplacez « backup_1 » par ce que vous souhaitez appeler votre instantané. Étiquetez-les clairement afin de pouvoir les trier plus tard.

Restaurez n’importe quel instantané avec: mv / btrfs / vol_a / / mnt / btrfs / vol_a / backup_1

Montage de sous-volumes en tant que périphériques bloc

Une partie de la grande chose à propos des sous-volumes est la possibilité de les monter tous individuellement, en tant que périphériques indépendants. Pour ce faire, répertoriez d’abord 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 que vous avez l’ID.

mount -o subvolid=XXX /dev/sdX /btrfs

Remplacez XXX par l’ID et / dev / sdX par le lecteur sur lequel se trouve le volume à monter. Gardez simplement à l’esprit que vous ne pouvez pas monter un sous-volume sur la même partition que la partition de niveau supérieur. Montez plutôt sur une autre partition ou un autre lecteur formaté BtrFS. Par exemple:

mount -o subvolid=38 /dev/sdc1 /btrfs

Le sous-volume 38 est situé sur / dev / sdd1, mais / dev / sdc1 est également BtrFS, de sorte que les instantanés peuvent y être montés. Cela n’a pas besoin d’être fait sur des disques individuels. Au lieu de cela, vous pouvez le monter sur / dev / sdc2, etc.

  Comment utiliser la commande seq sous Linux

Définir le sous-volume par défaut

La définition du sous-volume BtrFS par défaut est utile, car elle facilite l’interaction avec lui. Pour définir une valeur par défaut, utilisez d’abord la commande de liste de sous-volumes pour trouver l’ID. Prenez l’ID et branchez-le dans la commande set-default:

btrfs subvolume set-default XXX /btrfs

Pour vous débarrasser d’une valeur par défaut que vous avez définie, utilisez la même commande, sauf qu’au lieu d’utiliser un ID de volume de la liste des sous-volumes, utilisez le numéro 0. Cela le réinitialisera aux paramètres d’usine, et vous serez alors libre d’utiliser autres sous-volumes par défaut.

btrfs subvolume set-default 0 /btrfs

Supprimer un sous-volume

Si à tout moment vous souhaitez vous débarrasser d’un volume, vous pouvez le supprimer à l’aide de BtrFS. Veuillez ne pas supprimer le sous-volume manuellement du disque dur, avec 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, procédez comme suit:

btrfs subvolume delete /btrfs/volume-name