btrfs.txt 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. BTRFS
  2. =====
  3. Btrfs is a new copy on write filesystem for Linux aimed at
  4. implementing advanced features while focusing on fault tolerance,
  5. repair and easy administration. Initially developed by Oracle, Btrfs
  6. is licensed under the GPL and open for contribution from anyone.
  7. Linux has a wealth of filesystems to choose from, but we are facing a
  8. number of challenges with scaling to the large storage subsystems that
  9. are becoming common in today's data centers. Filesystems need to scale
  10. in their ability to address and manage large storage, and also in
  11. their ability to detect, repair and tolerate errors in the data stored
  12. on disk. Btrfs is under heavy development, and is not suitable for
  13. any uses other than benchmarking and review. The Btrfs disk format is
  14. not yet finalized.
  15. The main Btrfs features include:
  16. * Extent based file storage (2^64 max file size)
  17. * Space efficient packing of small files
  18. * Space efficient indexed directories
  19. * Dynamic inode allocation
  20. * Writable snapshots
  21. * Subvolumes (separate internal filesystem roots)
  22. * Object level mirroring and striping
  23. * Checksums on data and metadata (multiple algorithms available)
  24. * Compression
  25. * Integrated multiple device support, with several raid algorithms
  26. * Online filesystem check (not yet implemented)
  27. * Very fast offline filesystem check
  28. * Efficient incremental backup and FS mirroring (not yet implemented)
  29. * Online filesystem defragmentation
  30. MAILING LIST
  31. ============
  32. There is a Btrfs mailing list hosted on vger.kernel.org. You can
  33. find details on how to subscribe here:
  34. http://vger.kernel.org/vger-lists.html#linux-btrfs
  35. Mailing list archives are available from gmane:
  36. http://dir.gmane.org/gmane.comp.file-systems.btrfs
  37. IRC
  38. ===
  39. Discussion of Btrfs also occurs on the #btrfs channel of the Freenode
  40. IRC network.
  41. UTILITIES
  42. =========
  43. Userspace tools for creating and manipulating Btrfs file systems are
  44. available from the git repository at the following location:
  45. http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-progs.git
  46. git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
  47. These include the following tools:
  48. mkfs.btrfs: create a filesystem
  49. btrfsctl: control program to create snapshots and subvolumes:
  50. mount /dev/sda2 /mnt
  51. btrfsctl -s new_subvol_name /mnt
  52. btrfsctl -s snapshot_of_default /mnt/default
  53. btrfsctl -s snapshot_of_new_subvol /mnt/new_subvol_name
  54. btrfsctl -s snapshot_of_a_snapshot /mnt/snapshot_of_new_subvol
  55. ls /mnt
  56. default snapshot_of_a_snapshot snapshot_of_new_subvol
  57. new_subvol_name snapshot_of_default
  58. Snapshots and subvolumes cannot be deleted right now, but you can
  59. rm -rf all the files and directories inside them.
  60. btrfsck: do a limited check of the FS extent trees.
  61. btrfs-debug-tree: print all of the FS metadata in text form. Example:
  62. btrfs-debug-tree /dev/sda2 >& big_output_file