Btrfs est un système de fichiers open source à usage général pour Linux. Le nom dérive de l'utilisation de B-trees pour stocker les structures internes du système de fichiers. Différents noms sont utilisés pour le système de fichiers, notamment "Butter F S" et "B-tree F S". Le développement de Btrfs a commencé chez Oracle en 2007, et maintenant un certain nombre d'entreprises (dont Red Hat, Fujitsu, Intel, SUSE et bien d'autres) contribuent à l'effort de développement. Btrfs est inclus dans le noyau Linux principal.
Utilitaires de périphérique btrfs
Utilisez la commande btrfs device pour gérer les périphériques sur les systèmes de fichiers Btrfs. Une liste des commandes disponibles est la suivante :
# btrfs device usage: btrfs device [command] [args] btrfs device add [options] [device] [device...] [path] Add a device to a filesystem btrfs device delete [device]|[devid] [device|devid...] [path] btrfs device remove [device]|[devid] [device|devid...] [path] Remove a device from a filesystem btrfs device scan [(-d|--all-devices)|[device] [device...]] Scan devices for a btrfs filesystem btrfs device ready [device] Check device to see if it has all of its devices in cache for mounting btrfs device stats [options] [path]|[device] Show device IO error statistics btrfs device usage [options] [path] [path..] Show detailed information about internal allocations in devices. manage and query devices in the filesystem
La commande btrfs device scan analyse les périphériques physiques à la recherche de membres d'un volume Btrfs. Cette commande permet de monter un système de fichiers Btrfs à plusieurs disques sans spécifier tous les disques dans la commande de montage.
Vous n'avez pas besoin d'exécuter "l'analyse de périphérique btrfs" à partir de la ligne de commande, car udev exécute automatiquement l'analyse de périphérique btrfs au démarrage. Utilisez la commande btrfs device add pour ajouter un périphérique à un système de fichiers. Dans cet exemple, la structure actuelle du système de fichiers est la suivante :
# btrfs filesystem show Label: none uuid: ba60ac96-1628-4656-b68b-c7327ff49179 Total devices 1 FS bytes used 325.29MiB devid 1 size 10.00GiB used 867.66MiB path /dev/sda
La commande btrfs filesystem df affiche :
# btrfs filesystem df /btrfs Data, single: total=547.66MiB, used=324.75MiB System, single: total=32.00MiB, used=16.00KiB Metadata, single: total=288.00MiB, used=528.00KiB GlobalReserve, single: total=16.00MiB, used=0.00B
La sortie de la commande df affiche :
# df -h /btrfs Filesystem Size Used Avail Use% Mounted on /dev/sda 10G 342M 9.4G 4% /btrfs
Ajoutez un disque de 10 Go, /dev/sdb, au système de fichiers monté sur /btrfs à l'aide de la commande btrfs device add :
# btrfs device add /dev/sdb /btrfs
La sortie de la commande show du système de fichiers btrfs affiche le périphérique nouvellement ajouté :
# btrfs filesystem show Label: none uuid: ba60ac96-1628-4656-b68b-c7327ff49179 Total devices 2 FS bytes used 325.29MiB devid 1 size 10.00GiB used 867.66MiB path /dev/sda devid 2 size 10.00GiB used 0.00B path /dev/sdb
La sortie de la commande btrfs filesystem df ne montre aucune différence après l'ajout du nouveau périphérique :
# btrfs filesystem df /btrfs Data, single: total=547.66MiB, used=324.75MiB System, single: total=32.00MiB, used=16.00KiB Metadata, single: total=288.00MiB, used=528.00KiB GlobalReserve, single: total=16.00MiB, used=0.00B
Il n'y a aucune différence dans la sortie car le périphérique nouvellement ajouté n'a pas encore été alloué pour les données ou les métadonnées. La taille supplémentaire est reflétée dans la sortie de df :
# df -h /btrfs Filesystem Size Used Avail Use% Mounted on /dev/sda 20G 342M 20G 2% /btrfs
Après avoir ajouté un périphérique, il est recommandé d'exécuter la commande balance suivante sur le système de fichiers :
# btrfs filesystem balance /btrfs WARNING: Full balance without filters requested. This operation is very intense and takes potentially very long. It is recommended to use the balance filters to narrow down the balanced data. Use 'btrfs balance start --full-balance' option to skip this warning. The operation will start in 10 seconds. Use Ctrl-C to stop it. 10 9 8 7 6 5 4 3 2 1 Starting balance without any filters. Done, had to relocate 17 out of 17 chunks
L'exécution de cette commande redistribue l'espace en équilibrant les morceaux du système de fichiers sur tous les appareils. Cette commande récupère également tout espace perdu. Utilisez la commande btrfs device delete pour supprimer un périphérique d'un système de fichiers. Exemple :
# btrfs device delete /dev/sdb /btrfsComment utiliser la commande "btrfs scrub" pour gérer le nettoyage sur les systèmes de fichiers Btrfs
Exemples de commande "btrfs" pour créer et gérer un système de fichiers Btrfs
Comment créer et monter un système de fichiers Btrfs (expliqué avec des exemples)