コンテンツにスキップ

Btrfs

出典: フリー百科事典『ウィキペディア(Wikipedia)』
印刷用ページはサポート対象外です。表示エラーが発生する可能性があります。ブラウザーのブックマークを更新し、印刷にはブラウザーの印刷機能を使用してください。
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
テンプレートを表示

BtrfsB-tree file system : バター エフエス、またはB木 『ビーツリー』 エフエスと読む[1][2])はLinux向けのコピーオンライトファイルシステムで、オラクルによって2007年に発表されGNU General Public License (GPL) の元で公開されている[3]。 Btrfsはサン・マイクロシステムズZFSファイルシステムの影響を受けて開発され、スナップショットコピーオンライトの機能を持ち、他のLinuxファイルシステムが現在持っている多くの制約を受けないことが期待されているが、開発を主導したオラクルにとっては、2010年のサン・マイクロシステムズ吸収合併により、ZFSと社内で競合する技術になってしまっている。

概要

ext3ext4ファイルシステムの開発者セオドア・ツォー (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ファイルシステムの使用情報の例

Btrfsは耐障害性、修復機能や容易な管理に焦点を合わせている[11]

Btrfsは以下の特徴を実装している[12]

  • 空間効率の良い小さなファイルの格納と、空間効率の良いインデックス付きディレクトリ
  • 動的なinodeの割り当て(ファイルシステムの作成時に設定されるファイル数の最大値がない)
  • 書き込み可能なスナップショットとスナップショットのスナップショット
  • サブボリューム(複数の内部的なルートディレクトリ
  • (強い完全性の保証のための)データとメタデータのチェックサム
  • 圧縮 (gzip, LZO, Zstd)
  • すべてのデータとメタデータに対するコピーオンライトのロギング
  • いくつかのRAIDアルゴリズム (RAID-0, RAID-1, RAID-5, RAID-6, RAID-10) とともに、複数のデバイスをサポートするためのデバイスマッパとの強い統合
  • 効率的な増分バックアップ(send/receive)
  • ext3ext4からbtrfsへのファイルシステムのアップグレードと、アップグレード時点への逆変換[13]
  • ソリッドステートドライブ (SSD) 最適化モード(マウントオプションで有効化される)
  • オンラインデフラグメンテーション
  • シードデバイスのサポート[14]
  • オフライン重複排除(ユーザ空間のツールが必要)
  • オンラインバランシング
  • オンラインボリューム拡張及び縮小
  • オンラインデバイスの追加と削除
  • サブボリュームのクオータ

以下の機能が開発中もしくは開発予定。

Btrfs自体は分散つまりネットワークファイルシステムにするネイティブな特徴を持たないが、オラクルは CRFS (Coherent Remote File System) という特にBtrfs上のネットワークストレージ向けに設計され最適化されたネットワークファイルシステムプロトコルを実装しはじめた。

脚注

  1. ^ Valerie Henson (2008年1月31日). Chunkfs: Fast file system check and repair. Melbourne, Australia. 該当時間: 18m 49s. 2008年2月5日閲覧It's called Butter FS or B-tree FS, but all the cool kids say Butter FS
  2. ^ CRFS and POHMELFS [LWN.net]
  3. ^ Chris Mason (2007年6月12日). “Btrfs: a copy on write, snapshotting FS”. Linux Kernel Mailing List. 2007年7月11日閲覧。
  4. ^ Theodore Ts'o (2008年8月1日). “Re: reiser4 for 2.6.27-rc1”. 2009年1月22日閲覧。
  5. ^ Sean Michael Kerner (2008年10月30日). “A Better File System For Linux”. InternetNews.com. 2008年10月30日閲覧。
  6. ^ Jonathan Corbet (2009年1月9日). “Btrfs merged for 2.6.29”. LWN.net. 2009年1月10日閲覧。
  7. ^ Red Hat Enterprise 6.0 Technical Notes - 4. Storage and Filesystems”. Red Hat. 2023年10月12日閲覧。
  8. ^ Red Hat Enterprise Linux 7.4 Release Notes - Chapter 53. Deprecated Functionality in Red Hat Enterprise Linux 7”. RedHat. 2023年10月12日閲覧。
  9. ^ Red Hat Enterprise Linux 8 Considerations in adopting RHEL 8 - Chapter 12. File systems and storage”. RedHat. 2023年10月12日閲覧。
  10. ^ [1]
  11. ^ Chris Mason (2008年3月12日). “Btrfs wiki Main Page”. 2008年8月9日閲覧。
  12. ^ Feature list from Jonathan Corbet (2007年6月19日). “btrfs and NILFS”. 2008年8月9日閲覧。 and Chris Mason (2007年6月12日). “Btrfs: a copy on write, snapshotting FS”. Linux Kernel Mailing List. 2008年8月9日閲覧。
  13. ^ http://btrfs.wiki.kernel.org/index.php/Conversion_from_Ext3
  14. ^ Chris Mason (2009年1月12日). “Changelog”. 2009年1月14日閲覧。

関連項目

外部リンク