Btrfs文件系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章Btrfs文件系统
2.1 Btrfs文件系统简介
Btrfs(B-tree file system,B-tree文件系统)是针对Linux开发的一个新的CoW (copy-on-write,写时复制)文件系统。它最初是由甲骨文公司在2007年着手开始开发的,并在2014年8月正式发布其稳定版。开发Btrfs的目的在于解决Linux 文件系统中缺少池、快照、校验和以及集成的跨多设备访问等问题,目标在于实现Linux的规模化存储。规模化不仅仅是指解决存储问题,也意味着通过简洁的界面提供对存储的管控和管理能力,让大家能看到已使用的内容并使它更可靠。
2.2 Btrfs文件系统新特性
•基于扩展的文件存储
•文件大小上限16EiB
•小文件和索引目录的高效空间利用
•动态索引节点分配
•支持快照可写和快照只读
•子卷(分离内部文件系统的根)
•支持数据和元数据的校验和
•压缩(gzip和LZO)
•整合的多设备支持
•支持文件条块化、文件镜像和文件条块化+镜像三种部署方案
•高效的增量备份
•后台消除进程支持查找和修复冗余副本上的文件错误
•支持在线文件系统碎片整理和离线文件系统检查
•Btrfs文件系统对RAID 5/RAID 6加强支持,在linux 3.19中添加了许多漏洞修补
2.3 Btrfs在linux内核的各版本中的变化
● 3.0 Btrfs实现自动碎片整理、数据校验和检查,并且提升了部分性能
● 3.2 BTRFS:更快的数据清理、tree roots自动备份、详细的错误消息、
元数据手动检查
● 3.3 BTRFS:支持不同RAID级别之间restriping,改善了平衡和调试工
具
● 3.4 Btrfs文件系统大量改进:修复与数据恢复工具、元数据区块大于4KB、
性能改进、更好的错误处理
● 3.5 Btrfs:I/O故障统计和一些不明显的提升
I/O故障统计支持新增:I/O故障、CRC故障和生成的元数据块跟踪检查每个驱动器,Btrfs 检查并返回驱动器状态,将在未来的btrfs-progs中包含,即:btrfs device stats。
● 3.6 Btrfs:子卷配额、配额组、快照差别、跨子卷复制
● 3.7 更新Btrfs文件系统,加快fsync()系统调用,移除单目录硬链接限制,
支持chattr per-file NOCOW,允许关闭使用nodatacow选项的文件数据写时复制
● 3.9 Btrfs文件系统实验性支持RAID5和6。嵌入RAID特性可以让文件系统
摆脱复杂的底层存储阵列细节,例如因为文件系统自己知道数据备份数据存放在哪里,它自己就可以在发生磁盘损坏时恢复数据。嵌入RAID也有助于提高了文件系统对数据错误的容忍度,例如可以使用校验和,甚至也可以在元数据和数据上分别使用不同的RAID模式。这层抽象也意味着无法使用mdadm工具,因而必须整体恢复存储卷,比较耗时。
● 3.10 Btrfs文件系统支持skinny extent,quota也进行了一些重建
● 3.11例行的Btrfs和XFS文件系统bug修正和性能改进,F2FS修正了Linux
3.10中发现的一个性能退化bug,首次加入高性能并行分布式文件系统
Lustre
● 3.12 小幅改善了F2FS、XFS和Btrfs文件系统
● 3.13 Btrfs和F2FS文件系统改进
● 3.14 F2FS及BTRFS文件系统改进
● 3.16 Btrfs及XFS文件系统的重大更新
● 3.19 Btrfs文件系统改进RAID5 / RAID6支持