Quels sont les avantages de Btrfs pour les utilisateurs finaux?

22

Btrfs a commencé à gagner du terrain en remplaçant ext4 comme système de fichiers par défaut de choix pour quelques distributions telles que Fedora Core 16 . Il est expérimentalement disponible dans un certain nombre d'autres distributions ( De Wikipedia: openSUSE 11.3, SLES 11 SP1, Ubuntu 10.10, Sabayon Linux, RHEL6, MeeGo, Debian 6.0 et Slackware 13.37). Je ne suis certainement pas prêt à convertir tous mes serveurs sur le lieu de travail (mon choix de système de fichiers est généralement prudent), j'envisage de l'utiliser à la maison et sur certaines machines de production non critiques au travail.

Btrfs apporte un ensemble de fonctionnalités qui est similaire à ZFS à bien des égards. Je peux comprendre pourquoi cela serait souhaitable dans un environnement "d'entreprise", en particulier avec des systèmes qui se concentrent sur la livraison de stockage. Mais en quoi ce même ensemble de fonctionnalités est-il utile pour les utilisateurs finaux? Quels avantages la liste des fonctionnalités de Btrfs me donne-t-elle sur les machines dont la fonction principale n'est pas la présentation du stockage? Quels avantages cela me donne-t-il sur mon ordinateur portable?

En dehors du stockage d'entreprise, pourquoi devrais-je prendre la peine de passer à Btrfs à partir du système de fichiers Ext éprouvé?


la source
2
Pourriez-vous développer le point "système de fichiers par défaut de choix pour quelques distributions" (je veux dire des liens?) - c'est le plus intéressant.
rozcietrzewiacz
2
Afaik, le format du disque n'est pas encore stable. Je ne l'utiliserai pas avant. Et si vous ne pouvez pas dire pourquoi vous êtes, vous ne devriez pas non plus.
xenoterracide
2
Le gros problème dans la décision Fedora est le manque de fsck thread.gmane.org/gmane.linux.redhat.fedora.devel/152285 . fedoraproject.org/wiki/Features/F16BtrfsDefaultFs .
Rufo El Magufo
2
Le processus de fonctionnalité a toujours un plan de secours si la fonctionnalité proposée n'est pas prête. Heureusement, c'est facile dans ce cas - respectez le statu quo. Détails dans ce cas ici .
mattdm
1
"Btrfs apporte un ensemble de fonctionnalités qui est similaire à ZFS à bien des égards." En effet, mais pas dans tous les sens. Par exemple, ZFS n'a pas besoin d'un fsck et c'est par conception. ZFS n'est pas corrompu par des paniques du système d'exploitation ou des pannes d'alimentation du disque.
jlliagre

Réponses:

21

Du wiki :

Extent based file storage
2^64 byte == 16 EiB maximum file size
Space-efficient packing of small files
Space-efficient indexed directories
Dynamic inode allocation
Writable snapshots, read-only snapshots
Subvolumes (separate internal filesystem roots)
Checksums on data and metadata
Compression (gzip and LZO)
Integrated multiple device support 
    RAID-0, RAID-1 and RAID-10 implementations 
Efficient incremental backup
Background scrub process for finding and fixing errors on files with redundant copies
Online filesystem defragmentation 

Explication pour les utilisateurs de bureau:

  • Emballage peu encombrant de petits fichiers: important pour les postes de travail contenant des dizaines de milliers de fichiers (maildirs, repos avec code, etc.).
  • Allocation dynamique des inodes: évitez les limites d'Ext2 / 3/4 en nombre d'inodes. Les limites d'inode de Btrfs sont dans une ligue complètement différente (alors que les inodes d'ext4 sont alloués au moment de la création du système de fichiers et ne peuvent pas être redimensionnés après la création, généralement à 1-2 millions, avec une limite fixe de 4 milliards, les inodes de btrfs sont alloués dynamiquement selon les besoins, et la limite stricte est de 2 ^ 64, soit environ 18,4 quintillions, soit environ 4,6 milliards de fois la limite stricte d'ext4).
  • Instantanés en lecture seule: sauvegardes rapides.
  • Somme de contrôle des données et des métadonnées: essentielle pour l'intégrité des données. Ext4 a uniquement l'intégrité des métadonnées.
  • Compression: La compression LZO est très rapide.
  • Processus de nettoyage en arrière-plan pour rechercher et corriger les erreurs sur les fichiers avec des copies redondantes: intégrité des données.
  • Défragmentation du système de fichiers en ligne: la défragmentation automatique dans 3.0 défragmentera certains types de fichiers comme les bases de données (par exemple les profils firefox ou le stockage akonadi).

Je vous recommande le noyau 3.0. Btrfs est également un bon FS pour SSD.

Rufo El Magufo
la source
4
Sauvegardes rapides et restaurations complètes du système
psusi
11

Pour les avantages: je pense que ce seront principalement les fonctionnalités de sauvegarde et de mise en miroir.

Mais pourquoi seriez-vous si pressé de considérer btrfs comme un système de fichiers prêt à remplacer l' un de vos systèmes actuels? Le wiki auquel vous faites référence:

(...) it is currently possible to corrupt a filesystem irrecoverably if your 
machine crashes or loses power on disks that don't handle flush requests
correctly. This will be fixed when the fsck tool is ready.

et la documentation du noyau 3.0

  Btrfs filesystem (EXPERIMENTAL) Unstable disk format
  (...)
  Btrfs is highly experimental, and THE DISK FORMAT IS NOT FINALIZED. 
  You should say N here unless you are interested in testing Btrfs 
  with non-critical data.

vous décourager clairement d'utiliser btrfs à d'autres fins que les tests.

Mais pour ce qui est de la forme, je pense que pour l'utilisateur final, cela n'aura de valeur que pour les données privées comme les choses dans son répertoire personnel. Il n'y aura pas besoin de filet de sécurité pour déplacer les objets dans la corbeille - en fait, il sera nécessaire de redéfinir la «corbeille» sur les environnements de bureau. Le reste des fonctionnalités se terminera probablement (pour l'utilisateur) comme se sentant plus rapide (voire pas du tout), mais consommant plus rapidement l'espace disque.

rozcietrzewiacz
la source
5

Le BTRFS a considérablement mûri au fil des ans (depuis que cette question a été posée). Il est maintenant assez stable pour la plupart des cas d'utilisation simples, même pour différents niveaux de RAID (par exemple, RAID-1 - stable et facile à configurer). Étant donné que BTRFS stocke des sommes de contrôle, il est capable de détecter de manière fiable la corruption (contrairement aux systèmes RAID classiques où seule la parité est disponible).
Les versions actuelles sont même capables de corriger des erreurs typiques dans un système de fichiers BTRFS RAID-5 (par exemple en remplaçant un disque défectueux) (bien que raid56 doive encore être amélioré, voir la mise à jour ci-dessous ).
Si une opération de réparation / remplacement se bloque, mettez d'abord à jour le noyau (ce qui résout probablement ce problème) - et si nécessaire, BTRFS a certaines fonctionnalités de récupération. Même dans le pire des cas (comme plusieurs pannes de disque), vous pourrez souvent copier les fichiers qui sont toujours corrects et vous saurez quels fichiers sont endommagés. Donc, en ignorant toutes ces autres fonctionnalités (comme les instantanés, les copies CoW, les sous-volumes), BTRFS pourrait être utilisé si la détection de la corruption des données / fichiers est une priorité principale.

Mise à jour: en juin 2016, il a été découvert que l'implémentation RAID-5/6 dans BTRFS est défectueuse. BTRFS en général est stable - mais l'implémentation de raid56 est très nouvelle, a été considérée comme expérimentale de toute façon et ne devrait maintenant être utilisée que pour les tests jusqu'à ce qu'elle soit corrigée. Si vous utilisez RAID-5/6, vous souhaiterez peut-être convertir en RAID-1. Il offre toujours des avantages pour les utilisateurs finaux comme la somme de contrôle (d'autres systèmes de fichiers ne connaissent peut-être pas du tout les fichiers corrompus) et une protection en cas de panne d'un lecteur.

Référence: BTRFS calcule parfois une parité incorrecte

basic6
la source
Les RAID 5 et 6 sont actuellement complètement cassés dans BTRFS et provoquent une perte de données. Éviter!
Gareth Davidson
1
RAID-5 était un mauvais exemple dans cette réponse. Mis à jour.
basic6