Btrfs 【B-tree file system】
最大ファイルサイズは264バイト=16EiB(エクスビバイト)、最大ファイル名は255バイト、最大ファイル数は264個となっている。ファイルシステム作成時にiノードの数が固定的に決まる他のシステムとは異なり、動的にiノードを追加することができる。
ファイルやディレクトリについての情報(メタデータ)の複製を自動的に作成し、一部が破損してファイルシステム内の整合性が失われても自動的に正しい情報に修復することができる。ファイルの内容やメタデータには必ずチェックサムが算出、記録され、破損を速やかに検知することができる。
複数の装置をストレージプールとしてまとめて扱うことができ、プールに新規の装置を追加することにより柔軟に記憶領域を拡張することができる。主要なRAIDレベル(RAID 0/1/5/6/10など)に対応し、記録の信頼性や読み書きの高速化を図ることができる。
データの更新をコピーオンライト(COW:Copy On Write)方式で行い、ある時点における記憶領域全体の複製であるスナップショットを少ない容量で高速に取ることができる。障害や誤操作で内容が破損した際に過去の任意の時点の状態に戻す(ロールバック)ことができる。
初期のバージョンは2007年に米オラクル(Oracle)社が開発し、GPL(GNU General Public License)に基づいてオープンソースとして公開した。SUSEやRed Hat Enterprise Linuxなど主要なLinuxディストリビューションの中にも標準でサポートしているものがある(RHELはその後廃止)。名称の由来は木構造データの一種である「B木」(B tree)で、メタデータをB木型のデータ構造に格納している。
(2020.8.28更新)