是由IBM公司和fusionio公司合作进行的。
fusionio是最早做SSD厂商
摘要:
作为linux某些版本的默认fs,支持COW,有效的快照和克隆,使用btree,设计目标是支持更多的用例和负载。
几个挑战:
扩展性:在磁盘空间,内存和cpu上可扩展
数据一致性:不能丢失数据,包括checksum,元数据管理,RAID。
多种磁盘:针对ssd和hdd都可以很好的适应,给RAID和条带机制带来了挑战。
挑战:fs的性能依赖于extent的连续性,随着fs age,会造成空间碎片。但因为支持快照和克隆,所以一个extent会根据ref的计数来决定垃圾回收的时机。而多个version同时引用一个extent会导致碎片无法回收的问题。
另外cpu的并行性和COW机制也是不相容的。
btrfs与传统的inplace更新的文件系统比,主要的负载效应是使得写更加sequential,读更加random。
相关文件系统
EXT4,XFS,BTRFS是linux上的三个流行文件系统。COW文件系统包括ZFS和WAFL。
overwrite based filesystem:本地更新的文件系统
BTRFS的思想是来自ReiserFS和COW友好的BTREE。
EXT4:overwrite based fs,用extent管理数据,使用基于树的索引来代表文件和目录。WAL来保证操作原子性。log上使用校验和。快照内部不支持,但是下面的卷管理器提供这个功能。
XFS:1993年为irix 操作系统开发的,2000年移植到li