[Btrfs](https://btrfs.wiki.kernel.org/index.php/Main_Page) (B-tree file system, se prononce « Butter-FS ») est un système de fichiers basé sur le principe du [Copy-On-Write](https://fr.wikipedia.org/wiki/Copy-on-write) visant à mettre en œuvre des fonctionnalités avancées comme la tolérance aux pannes, la réparation et la facilité d'administration. Sous licence GNU GPL il est développé conjointement par Oracle, Red Hat, Fujitsu, Intel, SUSE, STRATO AG (en)…
En 2012, un effort intense de développement et de test est fourni par la communauté afin de faire de Btrfs le successeur de ext3/ext4, systèmes de fichiers habituels des distributions Linux.
Nous utilisons pour l'instant Btrfs uniquement sur des systèmes de stockages secondaires, comme les serveurs de sauvegardes, où l'on profite de la performance des snapshots.
Un subvolume est comparable à un simple répertoire (il peut contenir des fichiers et d'autres répertoires). Lorsque que l'on utilise Btrfs, il existe au moins un subvolume, le subvolume racine.
Un snapshot est un intantané figé de toutes les données contenues dans un subvolume. Si par exemple vous disposez deux fichiers ("foo" et "bar") dans un subvolume, un snapshot avant la suppression d'un de ces deux vous permettra de le récupérer dans ce snapshot.
> *Note* : Un snapshot n'est pas une sauvegarde, il s'appuie sur le mécanisme de copy-on-write de Btrfs. Il partage donc les mêmes blocs de données. Ainsi, si les données sont endommagées, elles le seront aussi bien sur le snapshot que sur le subvolume. Cette fonctionnalité est utile pour conserver une ou plusieurs copies locales qui peuvent enuite être utilisées pour effectuer un rollback ou une sauvegarde à partir de l'état figé d'un subvolume.
Vérifier l'intégrité d'un subvolume avec l'opération **scrub** qui lance une lecture de l'ensemble des données et métadonnées du système de fichiers et utilise les sommes de contrôle pour identifier et réparer les données corrompues éventuelles :