首页


Warning: Parameter 1 to Cite::clearState() expected to be a reference, value given in /home/woodelf/public_html/wiki/includes/Hooks.php on line 195
来自woodelf's wiki
跳转至: 导航搜索

Btrfs 是用于 Linux 的新型写时复制 (CoW, Copy on Write) 文件系统,旨在侧重容错、修复和轻松管理的同时实现高级功能。由多家公司共同开发,Btrfs 以 GPL 授权并鼓励所有人进行贡献。 对外宣称已在生产环境中使用 Btrfs 的公司并不多,但是我们鼓励用户勇于尝试,并将其记录在生产环境用户页面上。

稳定性状态

文件系统的磁盘格式不再处于非稳定状态,并且除非有特殊原因,否则将不再进行更改。如果有格式更改,包含未更改格式的文件系统将可被较新内核继续挂载和使用。

Btrfs 基础代码正处于积极开发中。所有努力只为使其保持稳定快速。由于快速开发,文件系统的开发状态将随每个新 Linux 版本而显著改善,因此建议运行最新内核。

对于基准测试,建议使用最新稳定版 Linux 进行测试,不要使用老版本。如有可能,也建议测试最新开发版 Linux。另外,建议测试不同选项,例如,不同的压缩选项。

新添加的功能可能需要经历多个版本才能趋于稳定。

在使用 Btrfs 时,如有任何 bug、问题、性能问题或疑问,请给Btrfs 邮件列表 (不需要订阅) 发送电子邮件。也请在 Bugzilla上报告 Bug。

功能

Linux 具有大量可供选择的文件系统,但是,随着当今数据中心内大型存储子系统的普及,我们正面临许多挑战。文件系统需要向内扩展其功能,以定位和管理大型存储,以及对磁盘上存储的数据进行检测、修复和容错。

目前 Btrfs 的主要功能包括:

  • 基于 extent 的文件存储
  • 2^64 字节 == 16 EiB 最大文件大小
  • 节省空间的小文件打包
  • 节省空间的目录索引
  • 动态分配 inode
  • 可写快照、只读快照
  • 子卷 (分隔内部文件系统的根)
  • 数据和元数据校验和 (crc32c)
  • 压缩 (zlib 和 LZO)
  • 集成多设备支持
    • 实现文件条带化、文件镜像化、文件条带化 + 镜像化、单奇偶/双奇偶校验条带化
  • SSD (闪存) 支持 (TRIM/discard 重用的可用块报告) 和优化 (例如,避免不必要的搜索优化和发送簇的写入情况,即使其来自不关联的文件。这将导致更大规模的写入操作和更快的写入吞吐量)
  • 高效增量备份
  • 后台 scrub 处理,用于查找和修复具有冗余副本的数据错误
  • 在线文件系统碎片整理
  • 离线文件系统检查
  • 从现有 ext3/4 文件系统转换
  • 种子设备。创建 (只读) 文件系统,用作向其他 Btrfs 文件系统传递的模板。原始文件系统和设备将作为新文件系统的只读起点包括在其中。通过使用写时复制,所有修改都存储于不同设备;而原始设备将不作更改。
  • 对子卷的配额支持
  • 发送/接收子卷更改
    • 高效的增量文件系统镜像化
  • 批量或带外重复数据删除 (在写入后进行,而不是写入时)

其他处于开发或计划中的功能,包括:

  • 特快离线文件系统检查
  • 对象级镜像化和条带化
  • 备选校验和算法
  • 在线文件系统检查
  • 其他压缩方式 (snappy、lz4)
  • 热数据跟踪和移动到更快速的设备 (目前正作为通过 VFS 实现的可用通用功能进行提交)
  • 带内重复数据删除 (在写入时进行)

新闻

Linux v3.19 (2015 年 2 月)

  • raid56 可支持 scrub 以及设备替换

btrfs-progs 3.18.2 (2015 年 1 月)

  • qgroup show:打印人类可读的大小、其他选项等
  • check:提供新选项,可显式禁止写入
  • mkfs:有关 trim 的消息将不再打印到标准错误
  • fi show:固定返回值
  • tests:新基础架构
  • btrfstune:force 标记可与播种选项一起使用
  • 重新提供了 backtrace 支持
  • getopt 清理
  • 文档和帮助更新

coreutils 8.24 前瞻

  • 在退回标准复制之前,mv 将先尝试 reflink[1]

Wiki 更新:手册页(2014 年 7 月)

请在变更日志中阅读以往版本

文章、演示文稿、播客

文档

指南和使用信息

外部 Btrfs 文档/指南

各种 Linux 发行版的 Btrfs 文档链接:

项目信息/联系方式

使用内置工具

  • 原始 Wiki 文档(已过时,将会删除)

开发人员文档

  • 开发人员 FAQ — 面向贡献者和开发人员的提示和答复
  • 代码文档 — 操纵树的树、源文件、示例代码
  • 数据结构 — 磁盘上的详细数据结构
  • — 文件和目录的详细树内表示方法

下载源代码

基准测试

历史资源

旧版或过时文档、文章的链接。由于历史原因而保存。包括 3 年以前的资源。

文章、演示文稿、播客

基准测试