Btrfs | |
---|---|
開発者 | オラクル、Facebook、富士通、Fusion-io、インテル、Linux Foundation、Netgear、レッドハット、STRATO AG、SUSE |
正式名 | Btrfs |
導入 | Linuxカーネル 2.6.29(2009年3月) (Linux) |
構造 | |
ディレクトリ | B木 (B-Tree) |
領域管理 | extent |
限度 | |
最大ファイル サイズ | 16EiB |
最大ファイル数 | 264 |
最大ファイル名長 | 255 バイト |
最大ボリューム サイズ | 16EiB |
ファイル名の文字 | NULと '/' を除くすべてのオクテット |
特徴 | |
属性 | POSIX |
パーミッション | POSIX, ACL |
透過的圧縮 | 有り (zlib, LZO, LZ4) |
透過的暗号化 | 開発予定 |
重複排除 | 開発中 |
対応OS | Linux |
Btrfs(B-tree file system : バター エフエス、またはB木 『ビーツリー』 エフエスと読む[1][2])はLinux向けのコピーオンライトのファイルシステムで、オラクルによって2007年に発表されGNU General Public License (GPL) の元で公開されている[3]。 Btrfsはサン・マイクロシステムズのZFSファイルシステムの影響を受けて開発され、スナップショットやコピーオンライトの機能を持ち、他のLinuxファイルシステムが現在持っている多くの制約を受けないことが期待されているが、開発を主導したオラクルにとっては、2010年のサン・マイクロシステムズ吸収合併により、ZFSと社内で競合する技術になってしまっている。
ext3とext4ファイルシステムの開発者セオドア・ツォー (Theodore Ts'o) は、Btrfsには「reiser3/4にあったのと同じ設計上の思想がいくつもある」と語っている[4]。
オラクルにおけるLinuxカーネル開発のディレクタでBtrfsの開発者であるクリス・メイソン (Chris Mason) は「主な目標は将来利用できるようになるストレージに対してLinuxがスケールするようにすることだ。スケールはストレージに対処することについてだけではなく、人々に何が使われているのかを見せ、信頼性を高めるきれいなインタフェースでそれを管理し運営できる手段でもある」と述べた[5]。
2009年1月にBtrfsはメインラインのLinuxカーネルの2.6.29-rc1プレリリースにマージされたが、当時は試験的な位置づけであり、商用的な利用ができる状態ではなかった。また、ディスク上のフォーマットが確定しておらずテスト以外の目的でユーザが使うべきではないとされた。[6]。2.6.31 以降は後方互換性のある形でしか変更していない。2015年には、SUSE Linux Enterprise Server 12のデフォルトのファイルシステムとして採用された。一方Red Hat Enterprise Linuxでは、RHEL 6で技術プレビューとしてBtrfsのサポートが導入されていた[7]が、RHEL7.4リリース時点でRHEL8でのサポート終了が公表され[8]、RHEL 8以降ではサポートが行われていない[9]。
開発中のReactOSはBtrfs対応を目指しており、2018-11-06リリースの0.4.10より、Btrfsシステムドライブより起動可能になる等、対応が進みつつある[10]。
Btrfsは耐障害性、修復機能や容易な管理に焦点を合わせている[11]。
Btrfsは以下の特徴を実装している[12]。
以下の機能が開発中もしくは開発予定。
Btrfs自体は分散つまりネットワークファイルシステムにするネイティブな特徴を持たないが、オラクルは CRFS (Coherent Remote File System) という特にBtrfs上のネットワークストレージ向けに設計され最適化されたネットワークファイルシステムプロトコルを実装しはじめた。
It's called Butter FS or B-tree FS, but all the cool kids say Butter FS