下一代 Linux 文件系统 Btrfs

openkk 12年前

Btrfs(通常念成Butter FS),是由Oracle于2007年宣布并进行中的copy-on-write文件系统。目标是取代Linux目前的ext3文件系统,改善ext3的 限制,特别是单个文件的大小,总文件系统大小或文件检查和加入ext3未支持的功能,像是可写快照(writable snapshots)、快照的快照(snapshots of snapshots)、内建磁盘阵列(RAID),以及子卷(subvolumes)。Btrfs 也宣称专注在“容错、修复及易于管理”。

The main Btrfs features available at the moment include:

  • 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 (zlib and LZO)
  • Integrated multiple device support
    • File Striping, File Mirroring, and File Striping+Mirroring implementations
  • SSD (Flash storage) awareness (TRIM/Discard for reporting free blocks for reuse) and optimizations (e.g. avoiding unnecessary seek optimizations, sending writes in clusters, even if they are from unrelated files. This results in larger write operations and faster write throughput)
  • Efficient incremental backup
  • Background scrub process for finding and fixing errors on files with redundant copies
  • Online filesystem defragmentation
  • Offline filesystem check
  • Conversion of existing ext3/4 file systems
  • Seed devices. Create a (readonly) filesystem that acts as a template to seed other Btrfs filesystems. The original filesystem and devices are included as a readonly starting point for the new filesystem. Using copy on write, all modifications are stored on different devices; the original is unchanged.

Additional features in development, or planned, include:

  • Very fast offline filesystem check
  • File Striping with Single and Dual Parity
  • Object-level mirroring and striping
  • Alternative checksum algorithms
  • Online filesystem check
  • Efficient incremental filesystem mirroring
  • Other compression methods (snappy, lz4)
  • Hot data tracking and moving to faster devices
  • Subvolume-aware quota support
  • Send/receive of changes

下一代 Linux 文件系统 Btrfs

项目主页:http://www.open-open.com/lib/view/home/1339138306312