14 Apr 2025, 00:00

Btrfs

Share

Général

https://archive.kernel.org/oldwiki/btrfs.wiki.kernel.org/index.php/Main_Page.html

Se gère avec la commande btrfs et ses sous-commandes.
Penser à
man btrfs subcommand

Installation

sudo apt install btrfs-progs

Formatage et label

sudo mkfs.btrfs /dev/sdX1 -L “Label”

btrfs filesystem label /media/BTRFS “Nouveau label”

Infos

sudo btrfs filesystem show /media/BTRFS

Utilisation espace

btrfs filesystem df /media/BTRFS
btrfs filesystem df /media/BTRFS
sudo btrfs filesystem usage

Attention, d’autres outils peuvent renvoyer des infos incorrectes. Comme ncdu qui ne prend pas en compte la deduplication.

Vérification

btrfs check /dev/sdX

man btrfs check

Volumes

https://man7.org/linux/man-pages/man8/btrfs-subvolume.8.html

Un (sous-)volume est une arborescence de fichiers autonome. En ceci, il peut être monté indépendemment du reste du FS btrfs auquel il appartient.
Il est sinon possible de parcourir un sous-volume comme un simple dossier.

La racine du FS est elle-même un sous-volume, appelé top-level, avec un ID de 5. Ce sous-volume ne peut pas être supprimé/remplacé.

sudo btrfs subvolume list /media/BTRFS

liste tous les volumes du FS btrfs.
L’argument doit être le point de montage, pas un sous-dossier ou un sous-volume.

sudo btrfs subvolume get-default /media/BTRFS

Deduplication

https://btrfs.readthedocs.io/en/latest/Deduplication.html

send et receive

send ne peut être utilisé que sur un sous-volume.

Limitations

VM et database : l’utilisation intensive favorise la fragmentation et dégrade les perfs
Possible de désactiver le CoW lors du montage du volume

btdu

Utilitaire 3d party pour un genre d’équivalent de ncdu
https://github.com/CyberShadow/btdu/
p pour mettre l’analyse en pause

taille metadata ?

inodes

inodes identiques au sein de différents subvolumes : possible (car b-tree différent)

https://mpdesouza.com/blog/btrfs-for-mere-mortals-inode-allocation/