UP | HOME

文件系统

目录

Btrfs

Btrfs 功能

Btrfs 或 B-tree filesystem 是一个 GPL 开源的写时复制(copy-on-write, COW)并且由多家公司(Oracle, RedHat, Fujitsu, Intel, Facebook, Linux Foundation, Suse 等)共同开发等文件系统。Btrfs 是支持最高 16EB 且最大 8EB 文件(理论文件大小支持 16EB 但受限于 Linux VFS 实际只能最大 8EB)的文件系统。

Btrfs 具有自愈功能,并且可以跨多个卷,且支持在线的文件系统伸缩功能。

Btrfs 提供了卷管理功能,支持多个设备的条带化(strip)RAID0 和镜像(mirror)RAID1,以及 RAID10(strip+mirror),并且实验性支持单数据校验盘(RAID5)和双数据校验盘(RAID6)。 Btrfs 可以创建子卷快照,并且快照支持只读或者多的。子卷支持 quota。

支持基于 zlib 和 LZO 的文件系统压缩。

Btrfs 支持 SSD(TRIM/Discard)并且做到了优化(避免无效的 seek)。

Btrfs 支持在线文件系统碎片整理以及离线文件系统检查。

Btrfs 的现状(2016 年)

Btrfs 从 2007 年开始开发,至今已经有 9 年历史。2015 年被 Suse Linux Enterprise Server 12 发行版作为默认文件系统,并且在 RedHat Enterprise Linux 7 作为技术 Preview(估计下一个版本会作为生产型文件系统)。

    Btrfs需要做好数据备份,并且其运行需要充足的内存支持(缺乏内存btrfs check会crash)

Btrfs 是否适合生产?

这个问题需要视具体应用场景来看,需要平衡风险和收益!!!

  • 如果没有完善的数据备份和恢复机制,以及健壮的故障切换保障,不建议在生产环境中使用 Btrfs。
  • 需要对开源技术持续且快速的跟进,具有不断维护升级内核的技术和投入。
  • 对性能和功能有强烈的追求和驱动力。

作者: Petrus.Z

Created: 2021-09-01 Wed 00:38