Btrfs对于最终用户有哪些优势?


22

Btrfs在取代ext4作为Fedora Core 16之类的一些发行版本的默认默认文件系统方面已经开始获得动力。在其他发行版中,它也可以通过实验获得(从Wikipedia: openSUSE 11.3,SLES 11 SP1,Ubuntu 10.10,Sabayon Linux,RHEL6,MeeGo,Debian 6.0和Slackware 13.37)。我当然不准备转换所有工作场所服务器(我的文件系统选择通常是保守的),我正在考虑在家中以及在工作中选择的非关键任务生产机器上使用它。

Btrfs在许多方面都提供了与ZFS相似的功能集。我可以理解为什么在“企业”环境中,尤其是在专注于存储交付的系统中,这是理想的。但是,该功能集对最终用户有何用处?在主要功能不是存储形式的机器上,Btrfs的功能列表有什么优势?它对我的笔记本电脑有什么好处?

在企业存储之外,为什么还要麻烦地从久经考验的Ext文件系统切换到Btrfs?


2
您能否详细说明“一些发行版选择的默认文件系统”(我的意思是链接?)-这是最有趣的。
rozcietrzewiacz 2011年

2
Afaik,磁盘格式尚不稳定。直到使用它,我才会使用它。而且,如果您无法回答自己的原因,那么您也不应该这样做。
xenoterracide 2011年


2
如果提议的功能尚未准备就绪,功能流程始终会有一个后备计划。幸运的是,在这种情况下这很容易-保持现状。在这种情况下的细节在这里
mattdm 2011年

1
“ Btrfs在许多方面都提供了与ZFS相似的功能集。” 确实,但不是全部。例如,ZFS不需要fsck,这是设计使然。ZFS不会因操作系统崩溃或磁盘电源故障而损坏。
jlliagre

Answers:


21

维基

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 

桌面用户说明:

  • 小文件的节省空间的打包:对于具有成千上万个文件(maildirs,带代码的存储库等)的台式机很重要。
  • 动态inode分配:避免Ext2 / 3/4的inode数量限制。Btrfs的inode限制是一个完全不同的联盟(而ext4的inode是在文件系统创建时分配的,创建后无法重新调整大小,通常为1-2百万,硬限制为40亿,btrfs的inode会根据需要动态分配,并且硬限制为2 ^ 64,大约为18.4亿五千万,这是ext4硬限制的46亿倍。
  • 只读快照:快速备份。
  • 数据和元数据的校验和:对于数据完整性至关重要。Ext4仅具有元数据完整性。
  • 压缩:LZO压缩非常快。
  • 后台清理过程,用于查找和修复具有冗余副本的文件上的错误:数据完整性。
  • 在线文件系统碎片整理:3.0版中的自动碎片整理将对某些类型的文件(如数据库)(例如firefox配置文件或akonadi存储)进行碎片整理。

我建议您使用内核3.0。而且btrfs是SSD的良好FS。


4
快速备份完整的系统回滚
psusi 2011年

11

好处:我相信它将主要是备份和镜像功能。

但是,为什么你会如此草率地认为BTRFS作为文件系统准备更换任何您目前使用的?您引用的两个Wiki:

(...) 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.

和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.

显然不鼓励您将btrfs用于测试以外的其他目的。

但是,当涉及到形式时,我相信对于最终用户而言,仅对私有数据(例如某人的主目录中的数据)具有价值。无需将物品倒入垃圾桶的安全网-实际上,需要在桌面环境中重新定义 “垃圾桶”。其余功能可能最终(对用户而言)会感觉更快(如果有的话),但会更快消耗掉磁盘空间。


5

这些年来,BTRFS已经相当成熟。对于大多数简单的用例,即使对于不同的RAID级别(例如,RAID-1-稳定且易于设置),它现在都非常稳定。考虑到BTRFS存储校验和的事实,它能够可靠地检测到损坏(不同于仅具有奇偶校验的经典RAID系统)。
当前版本甚至能够修复BTRFS RAID-5文件系统中的典型错误(例如,通过更换故障驱动器)(尽管raid56仍需要改进,请参见下面的更新)。
如果修复/替换操作崩溃,请首先更新内核(这可能会解决此问题)-如有必要,BTRFS具有一些恢复功能。即使在最坏的情况下(例如,多个驱动器出现故障),您通常也可以复制仍然可以的文件,并且知道哪些文件已损坏。因此,如果优先考虑检测数据/文件损坏,则可以忽略所有其他功能(例如快照,CoW副本,子卷),使用BTRFS。

更新:2016年6月,发现BTRFS中的RAID-5 / 6实现存在缺陷。BTRFS通常是稳定的-但是raid56的实现是一个非常新的实现,无论如何都被认为是实验性的,现在应该将其用于测试,直到它被修复为止。如果您使用的是RAID-5 / 6,则可能要转换为RAID-1。它仍然为最终用户提供诸如校验和(其他文件系统可能根本不了解损坏的文件)之类的优势,并在驱动器发生故障时提供保护。

参考:BTRFS有时会计算错误的奇偶校验


目前BTRFS中的RAID 5和6已完全损坏,并导致数据丢失。避免!
加雷斯·戴维森

1
RAID-5在此答案中是一个不好的例子。更新。
basic6 '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.