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

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

Btrfs已经开始获得一些动力来取代 ext4 作为一些发行版的默认文件系统,例如Fedora 核心 16。它在许多其他发行版中通过实验可用(来自维基百科:openSUSE 11.3、SLES 11 SP1、Ubuntu 10.10、Sabayon Linux、RHEL6、MeeGo、Debian 6.0 和 Slackware 13.37)。我当然还没有准备好转换我所有的工作场所服务器(我的文件系统选择通常是保守的),我正在考虑在家里和工作中选择的非任务关键型生产机器上使用它。

Btrfs 带来了许多方面与 ZFS 类似的功能集。我可以理解为什么这在“企业”环境中是可取的,尤其是对于专注于存储交付的系统。但同样的功能集对最终用户有何用处呢?对于主要功能不是存储呈现的机器,Btrfs 的功能列表给我带来了哪些优势?它给我的笔记本电脑带来了哪些优势?

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

答案1

维基百科:

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 

对于桌面用户的说明:

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

我推荐你内核3.0。 btrfs 对于 SSD 来说也是一个很好的文件系统。

答案2

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

但为什么你会如此仓促地将 btrfs 视为一个文件系统准备好取代任何你现在的?您引用的两个维基:

(...) 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 用于测试以外的任何其他目的。

但就形式而言,我相信对于最终用户来说,只有私人数据(例如主目录中的内容)有价值。不再需要将物品移至垃圾箱的安全网——实际上需要重新定义桌面环境中的“垃圾”。其余功能可能最终(对用户而言)为感觉更快(如果有的话),但更快地消耗磁盘空间。

答案3

多年来,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 有时计算出错误的奇偶校验

相关内容