Btrfs
| Fiche express | |
|---|---|
| Type | Système de fichiers Copy-on-Write |
| Origine | Oracle, Red Hat (noyau Linux) |
| Points forts | Snapshots, sommes de contrôle, compression native, sous-volumes |
| Outils | btrfs, mkfs.btrfs, btrfs-convert
|
| Voir aussi | Ext4 · ZFS · Fstab |
Btrfs (B-tree FS) est un système de fichiers Copy-on-Write pour Linux, développé notamment par Oracle et Red Hat, longtemps présenté comme un successeur possible d'Ext4. Son intérêt tient moins aux performances brutes qu'à la richesse de ses fonctionnalités d'administration.
Principales caractéristiques :
- Création de snapshots
- Vérification de l'intégrité des données par sommes de contrôle
- Compression native (
lzo,zlib) - Sauvegarde incrémentale intégrée au système de fichiers
- Défragmentation à chaud
- Gestion de sous-volumes
Btrfs est particulièrement adapté à la gestion d'un très grand nombre de petits fichiers, avec un gain en place et en performance par rapport à ext3/ext4.
Installation et création
yum install btrfs-progs.x86_64
mkfs.btrfs /dev/rootvg/varlv
Exemple d'entrée dans /etc/fstab :
/dev/rootvg/varlv /var btrfs defaults,compress-force=zlib,autodefrag,noatime,nodiratime,nodev,nosuid 1 2
Options de compression disponibles : compress=lzo, compress=zlib.
Migration depuis ext4
umount /dev/test/ext4
btrfs-convert /dev/test/ext4
Administration des sous-volumes
btrfs subvolume create <nom-du-sous-volume>
btrfs subvolume delete <nom-du-sous-volume>
Snapshots
btrfs subvolume snapshot <sous-volume> <snapshot>
Pour restaurer, effectuer un mv du snapshot vers l'emplacement d'origine.
Snapshots automatiques (fréquence en minutes, nombre de snapshots conservés en rotation) :
btrfs autosnap enable -m 30 -c 10 <sous-volume>
btrfs au fslimit -n <pourcentage-espace-occupe> <sous-volume>
Défragmentation
btrfs device scan
btrfs filesystem defragment ~/stuff
Redimensionnement
btrfs filesystem resize +2g /mybtrfs1
btrfs filesystem resize -4g /mybtrfs2
Gestion des erreurs
En cas de problème sur la taille des métadonnées :
btrfs filesystem df /mntpoint
btrfs balance start /mntpoint