informatique:linux:system:types-de-partitions:btfrs

Btrfs, qui signifie “Système de fichiers B-Tree” en français, est un système de fichiers moderne et riche en fonctionnalités, conçu pour les systèmes Linux. Il utilise une structure de données en arbre appelée “B-Tree” pour organiser les fichiers et les métadonnées. Cette structure permet de gérer efficacement les gros volumes de données et les fichiers de taille importante.

Btrfs offre de nombreuses fonctionnalités avancées, telles que la compression de données, la déduplication, la création de snapshots, la migration de blocs défectueux et la prise en charge de plusieurs dispositifs de stockage en mode RAID. Il prend également en charge les sous-volumes, qui sont des sous-partitions logiques du système de fichiers, ce qui permet de mieux organiser les données et de les gérer plus efficacement.

Btrfs est considéré comme étant un système de fichiers stable pour un usage courant sur les systèmes Linux modernes. Cependant, il convient de noter que certaines fonctionnalités plus avancées de Btrfs, telles que la déduplication et le RAID5/6, peuvent être moins matures et moins testées que les fonctionnalités de base.

Btrfs a été initialement développé par Oracle en 2007 pour être inclus dans le noyau Linux. Depuis lors, il est développé et maintenu par une communauté de développeurs bénévoles, ainsi que par des entreprises telles que SUSE, Facebook, Fujitsu et Western Digital.

Le développement de Btrfs se poursuit activement, avec de nouvelles fonctionnalités et améliorations étant régulièrement ajoutées au système de fichiers. Btrfs est inclus dans le noyau Linux depuis la version 2.6.29 et est devenu de plus en plus populaire en tant que système de fichiers par défaut pour certaines distributions Linux, telles que SUSE Linux Enterprise Server, openSUSE ou Fedora Linux.

Créer un système de fichiers Btrfs

Pour créer un système de fichiers Btrfs sur un périphérique de stockage, vous pouvez utiliser la commande suivante :

sudo mkfs.btrfs /dev/sdX

/dev/sdX représente le périphérique de stockage sur lequel vous souhaitez créer le système de fichiers Btrfs.

Monter un système de fichiers

Pour monter un système de fichiers Btrfs sur un point de montage, vous pouvez utiliser la commande suivante :

sudo mount /dev/sdX /mnt/point-de-montage

/dev/sdX représente le périphérique de stockage sur lequel est situé le système de fichiers Btrfs, et /mnt/point-de-montage représente le point de montage où vous souhaitez monter le système de fichiers.

Afficher des informations

Pour afficher des informations sur un système de fichiers Btrfs, vous pouvez utiliser la commande suivante :

sudo btrfs filesystem show

Cette commande affichera des informations telles que la version du système de fichiers, la taille totale de l'espace de stockage et les options de montage actuelles.

Créer un sous-volume

Créer un sous-volume Btrfs peut être utile pour plusieurs raisons :

  1. Vous pouvez utiliser des sous-volumes pour isoler des ensembles de fichiers et de données spécifiques, par exemple pour séparer les données utilisateur des données système.
  2. Vous pouvez définir des quotas de disque pour des ensembles de données spécifiques.
  3. Les snapshots Btrfs sont créés à partir de sous-volumes.
  4. Vous pouvez créer des sous-volumes de manière dynamique, les supprimer et les renommer à tout moment, ce qui permet de réorganiser facilement les données.

Pour créer un sous-volume dans un système de fichiers Btrfs, vous pouvez utiliser la commande suivante :

sudo btrfs subvolume create /chemin/vers/sous-volume

/chemin/vers/sous-volume représente le chemin d'accès au nouveau sous-volume que vous souhaitez créer.

Les SnapShots avec Btrfs

Créer des snapshots

Pour créer des snapshots dans un système de fichiers Btrfs, vous devez d'abord créer un sous-volume (btrfs subvolume create). Les snapshots Btrfs sont en fait des copies instantanées d'un sous-volume, ce qui signifie que vous devez avoir au moins un sous-volume pour créer des snapshots.

Pour créer un snapshot d'un sous-volume Btrfs, vous pouvez utiliser la commande suivante :

sudo btrfs subvolume snapshot /chemin/vers/source /chemin/vers/destination

/chemin/vers/source représente le chemin d'accès au sous-volume source à partir duquel vous souhaitez créer le snapshot, et /chemin/vers/destination représente le chemin d'accès au nouveau sous-volume snapshot.

Les snapshots et les sous-volumes Btrfs peuvent être utilisés pour organiser et gérer efficacement les données dans un système de fichiers Btrfs. Les sous-volumes peuvent être utilisés pour isoler différents ensembles de fichiers et de données, tandis que les snapshots peuvent être utilisés pour créer des copies de sauvegarde ou des points de restauration de l'état du système de fichiers à un moment donné.

Lister les snapshots

Pour lister les snapshots présents dans un système de fichiers Btrfs, vous pouvez utiliser la commande btrfs subvolume list. Cette commande affichera une liste de tous les sous-volumes et snapshots présents dans le système de fichiers Btrfs.

Voici la syntaxe générale de la commande :

sudo btrfs subvolume list [chemin/vers/systeme-de-fichiers]

chemin/vers/systeme-de-fichiers représente le chemin d'accès au système de fichiers Btrfs que vous souhaitez lister. Si aucun chemin d'accès n'est spécifié, la commande listera les sous-volumes et snapshots du système de fichiers monté sur le point de montage courant.

Effacer un snapshot

Pour effacer un snapshot dans un système de fichiers Btrfs, vous pouvez utiliser la commande btrfs subvolume delete. Voici la syntaxe générale de cette commande :

sudo btrfs subvolume delete [chemin/vers/snapshot]

chemin/vers/snapshot représente le chemin d'accès au snapshot que vous souhaitez effacer.

Vérifier l'intégrité Btrfs

Pour vérifier l'intégrité d'un système de fichiers Btrfs, vous pouvez utiliser la commande suivante :

  sudo btrfs scrub start /chemin/vers/systeme-de-fichiers

/chemin/vers/systeme-de-fichiers représente le chemin d'accès au système de fichiers Btrfs que vous souhaitez vérifier.

La compression avec Btrfs

Avec la compression transparente de Btrfs, il n'est pas nécessaire d'installer les programmes de compression car *Btrfs les prend en charge directement :

  • zstd
  • lzo
  • zlib

La compression transparente est une fonctionnalité qui permet de compresser des données sur un système de fichiers sans que l'utilisateur ait à s'en soucier. Cela signifie que lorsque les fichiers sont écrits sur le disque, ils sont automatiquement compressés et, lorsqu'ils sont lus, ils sont automatiquement décompressés. Cette fonctionnalité peut aider à économiser de l'espace de stockage sur le disque dur, car les fichiers compressés prennent moins de place que les fichiers non compressés.

La compression transparente du système de fichiers dans Btrfs est configurable de plusieurs façons :

  • En tant qu'option de montage lors du montage du système de fichiers (s'applique à tous les sous-volumes du même système de fichiers Btrfs)
  • Avec les propriétés de fichiers Btrfs
  • Lors de la défragmentation du système de fichiers Btrfs (pas permanente)
  • Avec l'interface d'attributs de fichier chattr
Montage système de fichiers fstab

En utilisant l'option de montage compress lors du montage du système de fichiers Btrfs. Cette option s'applique alors à tous les sous-volumes de ce système de fichiers. Par exemple, pour monter un système de fichiers Btrfs en utilisant l'algorithme de compression zstd sur le niveau 3, la commande suivante doit être utilisée : sudo mount -o compress=zstd:3 ….

Il est important de noter que l'option de montage compress s'applique à tout le système de fichiers Btrfs et à tous ses sous-volumes. De plus, c'est la seule méthode supportée pour spécifier le niveau de compression à utiliser.

Pour appliquer la compression au système de fichiers racine, elle doit être spécifiée dans le fichier /etc/fstab. Par exemple, l'installeur de Fedora Linux active la compression zstd sur le niveau 1 par défaut, et cela est reflété dans le fichier /etc/fstab.

UUID=47b03671-39f1-43a7-b0a7-db733bfb47ff / btrfs subvol=root,compress=zstd:1,[ ... ] 0 0
Activation de la compression par fichier

Une autre méthode de spécification de la compression consiste à utiliser les propriétés du système de fichiers Btrfs. Pour lire le paramètre de compression pour n'importe quel fichier, dossier ou sous-volume, utilisez la commande suivante :

sudo btrfs property get <CHEMIN> compression

De même, vous pouvez configurer la compression de la manière suivante :

sudo btrfs property set <CHEMIN> compression <VALEUR>

Par exemple, pour activer la compression zlib pour tous les fichiers sous /etc :

sudo btrfs property set /etc compression zlib

Vous pouvez obtenir une liste de valeurs prises en charge avec man btrfs-property. Gardez à l'esprit que cette interface ne permet pas de spécifier le niveau de compression. De plus, si une propriété de compression est définie, elle remplace toute autre compression configurée au moment du montage.

  • informatique/linux/system/types-de-partitions/btfrs.txt
  • Dernière modification : 2023/02/28 14:37
  • de Cédric ABONNEL