1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- BTRFS
- =====
- Btrfs is a new copy on write filesystem for Linux aimed at
- implementing advanced features while focusing on fault tolerance,
- repair and easy administration. Initially developed by Oracle, Btrfs
- is licensed under the GPL and open for contribution from anyone.
- Linux has a wealth of filesystems to choose from, but we are facing a
- number of challenges with scaling to the large storage subsystems that
- are becoming common in today's data centers. Filesystems need to scale
- in their ability to address and manage large storage, and also in
- their ability to detect, repair and tolerate errors in the data stored
- on disk. Btrfs is under heavy development, and is not suitable for
- any uses other than benchmarking and review. The Btrfs disk format is
- not yet finalized.
- The main Btrfs features include:
- * Extent based file storage (2^64 max file size)
- * Space efficient packing of small files
- * Space efficient indexed directories
- * Dynamic inode allocation
- * Writable snapshots
- * Subvolumes (separate internal filesystem roots)
- * Object level mirroring and striping
- * Checksums on data and metadata (multiple algorithms available)
- * Compression
- * Integrated multiple device support, with several raid algorithms
- * Online filesystem check (not yet implemented)
- * Very fast offline filesystem check
- * Efficient incremental backup and FS mirroring (not yet implemented)
- * Online filesystem defragmentation
- MAILING LIST
- ============
- There is a Btrfs mailing list hosted on vger.kernel.org. You can
- find details on how to subscribe here:
- http://vger.kernel.org/vger-lists.html#linux-btrfs
- Mailing list archives are available from gmane:
- http://dir.gmane.org/gmane.comp.file-systems.btrfs
- IRC
- ===
- Discussion of Btrfs also occurs on the #btrfs channel of the Freenode
- IRC network.
- UTILITIES
- =========
- Userspace tools for creating and manipulating Btrfs file systems are
- available from the git repository at the following location:
- http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-progs.git
- git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
- These include the following tools:
- mkfs.btrfs: create a filesystem
- btrfsctl: control program to create snapshots and subvolumes:
- mount /dev/sda2 /mnt
- btrfsctl -s new_subvol_name /mnt
- btrfsctl -s snapshot_of_default /mnt/default
- btrfsctl -s snapshot_of_new_subvol /mnt/new_subvol_name
- btrfsctl -s snapshot_of_a_snapshot /mnt/snapshot_of_new_subvol
- ls /mnt
- default snapshot_of_a_snapshot snapshot_of_new_subvol
- new_subvol_name snapshot_of_default
- Snapshots and subvolumes cannot be deleted right now, but you can
- rm -rf all the files and directories inside them.
- btrfsck: do a limited check of the FS extent trees.
- btrfs-debug-tree: print all of the FS metadata in text form. Example:
- btrfs-debug-tree /dev/sda2 >& big_output_file
|