Pourquoi les sous-volumes Btrfs sont-ils meilleurs que les partitions Linux traditionnelles ?

Si vous avez déjà installé une version Linux sur votre PC, vous savez que le partitionnement est la partie la plus stressante de l’installation. C’est ce moment où l’on vérifie tout à deux fois, en espérant ne pas effacer le mauvais disque ou se retrouver avec une configuration que l’on regrettera plus tard.

Pour vous aider, on peut comparer un disque à une armoire : les tiroirs fixes représentent les partitions, et si l’un d’entre eux s’avère trop petit, le corriger plus tard implique de le redimensionner, de déplacer des éléments et d’espérer que rien ne se casse au cours du processus.

Mais que se passerait-il si les partitions n’étaient pas comme ces tiroirs fixes ? Et si elles ressemblaient plutôt à ces étagères réglables qui s’adaptent à l’évolution de vos besoins ?

C’est exactement ce qu’apportent les sous-volumes Btrfs. Les sous-volumes constituent l’une des fonctionnalités les plus puissantes du système de fichiers Btrfs : ils fournissent des arborescences de répertoires pouvant être montées indépendamment, qui partagent toutes le même pool de disques sous-jacent.

Je vais aborder spécifiquement cette fonctionnalité des sous-volumes, et expliquer pourquoi elle change votre façon d’envisager la gestion des disques. Et une fois que vous vous y êtes habitué, il est difficile de revenir en arrière.

Le problème du partitionnement traditionnel

Avec une configuration Ext4 classique, vous décidez de tout à l’avance. Vous attribuez peut-être 50 Go au répertoire racine et à /home. Cela semble raisonnable… jusqu’à ce que ça ne le soit plus.

Quelques mois plus tard, votre partition racine est pleine à cause des Flatpaks, des conteneurs ou des mises à jour du système. Pendant ce temps, votre partition /home peut encore disposer de centaines de gigaoctets inutilisés. Le système ne peut pas emprunter cet espace, même s’il en a désespérément besoin.

C’est la limite des partitions fixes. C’est pourquoi les sous-volumes Btrfs ont été conçus pour résoudre exactement ce problème.

Une approche plus intelligente avec les sous-volumes

Btrfs, qui signifie B-tree file system et se prononce “ButterFS”, adopte une approche différente. Au lieu de diviser votre disque en blocs rigides, il crée un pool de stockage partagé.

Vu de l’extérieur, les sous-volumes se comportent comme des partitions : vous pouvez en monter un comme racine et un autre comme répertoire personnel, mais en coulisses ils puisent tous dans le même espace libre. Il n’est pas nécessaire de redimensionner quoi que ce soit. Si une partie de votre système a besoin de plus d’espace de stockage, elle utilise simplement ce qui est disponible.

Cela fonctionne parce que les sous-volumes ne sont pas des périphériques blocs distincts. Ce sont des espaces de noms au sein d’un seul système de fichiers Btrfs. Vous bénéficiez des avantages organisationnels des partitions sans leur rigidité.

Pour faire simple : Btrfs est un système de fichiers Linux moderne qui sert à organiser les données sur un disque, un peu comme EXT4, mais avec plus de fonctions avancées comme les sous-volumes, les snapshots et la vérification d’intégrité.
Quand on parle de “volume Btrfs”, on parle en pratique de l’espace de stockage géré par Btrfs, souvent créé sur une partition, puis découpé en sous-volumes.

  • Partition : une découpe du disque. C’est le niveau “matériel/structure de base”.
  • Volume : l’espace utilisable par le système. Dans le cas de Btrfs, il est généralement créé sur une partition ou sur plusieurs disques selon la configuration.
  • Sous-volume : une zone logique à l’intérieur de Btrfs. Ça ressemble à un dossier, mais Btrfs le gère comme une unité indépendante.
  • Snapshot : une photo instantanée d’un sous-volume à un moment donné. En général, c’est un point de restauration, souvent en lecture seule.

Cette flexibilité fait une énorme différence dans l’utilisation quotidienne.

À retenir

En Btrfs, on utilise surtout les sous-volumes pour organiser les données, puis les snapshots pour sauvegarder ou restaurer rapidement un état précédent. Un volume Btrfs peut contenir plusieurs sous-volumes, et chacun peut avoir ses propres snapshots.

Vérifiez si vous utilisez déjà les sous-volumes Btrfs

Si vous utilisez Fedora ou openSUSE, il y a de fortes chances que vous utilisiez déjà Btrfs. Vous pouvez néanmoins vérifier le type de votre système de fichiers avec :

findmnt -no FSTYPE /

Et si vous utilisez Btrfs, les sous-volumes sont presque certainement déjà configurés pour vous. Pour vérifier directement la structure de vos sous-volumes :

sudo btrfs subvolume list /

Vous verrez probablement des entrées telles que root et home. Il s’agit d’une « structure plate » courante, où root correspond à votre système principal ( / ) et home représente vos fichiers personnels.

Même s’ils semblent distincts, il s’agit simplement de sous-volumes différents partageant le même espace disque. Vous pouvez le vérifier en vérifiant comment ils sont montés à l’aide de la commande mount :

mount | grep btrfs

Ce résultat montre comment les sous-volumes Btrfs sont montés et utilisés par le système. À la fois root (/) et home (/home) proviennent de la même partition physique. Cela confirme qu’aucune partition distincte n’est utilisée.

Les instantanés ou snapshot : la fonctionnalité phare des sous-volumes

C’est dans les instantanés que Btrfs excelle vraiment, et il est important de comprendre pourquoi.

Dans Btrfs, un instantané est lui-même un sous-volume. Lorsque vous prenez un instantané, vous demandez à Btrfs de créer un nouveau sous-volume qui partage initialement toutes les mêmes données que l’original, sans rien copier réellement, et cela se produit presque instantanément. Même sur les grands systèmes, il ne copie pas réellement toutes vos données ; il enregistre simplement l’état actuel.

Commencez par créer un répertoire pour les instantanés :

sudo mkdir /snapshots

Prenez ensuite un instantané de votre sous-volume racine :

sudo btrfs subvolume snapshot / /snapshots/before-update

C’est tout. Vous disposez désormais d’un instantané complet de votre système avant d’effectuer des modifications. Si une mise à jour échoue, vous disposez d’une solution de secours.

Vérifiez maintenant :

sudo btrfs subvolume list /

Vous voyez le sous-volume snapshots/before-update répertorié aux côtés des sous-volumes racine et home, car il s’agit d’un sous-volume, simplement issu d’une opération de snapshot.

Vous pouvez entièrement automatiser la planification des snapshots via les sous-volumes à l’aide d’un outil tel que snapper. Nous y reviendrons dans un autre tutoriel.

Comment les sous-volumes rendent les snapshots efficaces : Copy-on-Write

Dans la section précédente, j’ai mentionné que les instantanés sont pratiquement instantanés et ne prennent pratiquement pas d’espace supplémentaire lors de leur création. Cela est possible grâce à la manière dont les sous-volumes utilisent en interne la technologie Copy-on-Write (CoW).

Vous voyez, lorsque deux sous-volumes, la racine et son instantané dans notre exemple, partagent un bloc de données, aucun des deux n’en détient réellement une copie. Ils pointent tous deux vers les mêmes données sous-jacentes. Ce n’est que lorsque l’un d’eux modifie ces données que Btrfs écrit les modifications à un emplacement différent, en mettant à jour le pointeur pour ce sous-volume uniquement. L’autre sous-volume continue de pointer vers l’original.

Voici pourquoi :

  • Les instantanés sont créés presque instantanément, même sur les grands systèmes.
  • Un instantané récent n’utilise pratiquement pas d’espace disque supplémentaire.
  • Les données d’origine ne sont jamais perdues en cours d’écriture si un problème survient.

Comprendre l’utilisation du disque avec les sous-volumes

Les rapports sur l’espace disque peuvent sembler un peu déroutants avec Btrfs. Les outils traditionnels comme df -h ne donnent pas toujours une vue d’ensemble complète, car les instantanés partagent des données.

Pour une vue plus claire, utilisez :

sudo btrfs filesystem usage /

Si votre disque semble plein de manière inattendue, les anciens instantanés en sont souvent la cause. Comme chaque instantané est un sous-volume contenant des références aux données, la suppression d’un fichier dans votre système en cours d’utilisation ne libère pas d’espace si un ancien instantané contient encore une référence à ce fichier.

La solution consiste à nettoyer les anciens sous-volumes de snapshots, et le processus est simple :

sudo btrfs subvolume delete /snapshots/old-snapshot-name

Les sous-volumes ne sont pas sans inconvénients.

Comme chaque écriture dans un sous-volume passe par le mécanisme Copy-on-Write, les charges de travail impliquant de nombreuses écritures, telles que les bases de données ou les images disque de machines virtuelles, peuvent subir une perte de performances. Au fil du temps, les écritures CoW peuvent également entraîner une fragmentation au sein des sous-volumes.

Pour les répertoires situés dans un sous-volume où vous souhaitez désactiver le comportement CoW (et donc perdre la couverture des instantanés pour ces chemins), vous pouvez le désactiver avec :

chattr +C /var/lib/libvirt/images

Il existe également certaines tâches de maintenance en arrière-plan, comme l’équilibrage du stockage au sein du pool, mais la plupart des distributions modernes gèrent cela automatiquement.

Conclusion

Comme vous pouvez le constater, les sous-volumes Btrfs modifient le modèle fondamental d’organisation du stockage. Au lieu de partitions fixes définies lors de l’installation, vous définissez des limites logiques avec des sous-volumes qui partagent tous le même pool et peuvent faire l’objet d’un instantané individuel instantané.

La flexibilité, les instantanés et l’utilisation efficace du disque offerts par Btrfs sont dus à sa fonctionnalité de sous-volumes. Pool partagé, partage de données CoW et suivi de l’état par sous-volume : une fois que vous aurez compris le fonctionnement des sous-volumes, vous apprécierez encore davantage Btrfs.

Et une fois que vous vous serez habitué à travailler de cette manière, revenir à un système de fichiers traditionnel sera pratiquement impossible. C’est bien pour cela que Btrfs est le choix de prédilection d’un système Linux moderne, n’est-ce pas ?

Partager

Les articles récents

Test de l’outil de diagnostic OBD2 XTool Anyscan A30M

Après avoir testé le système de diagnostic XTool D8S qui est imposant et robuste, place…

25 mai 2026

AltStore Classic permet d’installer des applications sur iPhone sans ordinateur

Oui, vous avez bien entendu la nouvelle version d'AltStore Classic (en version bêta 2.3b1 pour…

24 mai 2026

Saracroche : l’application française gratuite pour bloquer tous les appels frauduleux

Les appels commerciaux non sollicités et les appels indésirables sont une nuisance quotidienne pour des…

19 mai 2026

Comment effacer un disque en toute sécurité sous macOS Tahoe et Sequoia

Effacer un disque en toute sécurité sous macOS Tahoe et Sequoia lorsque l'Utilitaire de disque…

13 mai 2026

Numérisez vos cartes de fidélité avec WalletWallet, simple et gratuit

Si vous préférez garder vos poches vides et vous débarrasser des cartes de fidélité physiques…

7 mai 2026

Nextpad++ : un portage indépendant de Notepad++ pour macOS

Pas de Wine, pas d'émulation. Nextpad++ est un portage natif de Notepad++ pour macOS, compatible…

5 mai 2026

Ce site web utilise des cookies.