Bcachefs

From Wikipedia, the free encyclopedia

開発者 ケント・オーバーストリート
導入 2015年8月21日 (10年前) (2015-08-21) ()
ディレクトリ ハイブリッドB+木
領域管理 エクステント英語版
Bcachefs
開発者 ケント・オーバーストリート
導入 2015年8月21日 (10年前) (2015-08-21) ()
構造
ディレクトリ ハイブリッドB+木
領域管理 エクステント英語版
不良ブロック なし
限度
特徴
タイムスタンプ
  • 変更(mtime)
  • 属性の変更(ctime)
  • アクセス(atime)
  • 作成(crtime)
属性 拡張ファイル属性
パーミッション
透過的圧縮 あり
透過的暗号化 あり
対応OS Linux
テンプレートを表示

Bcachefsは、Linuxベースのオペレーティングシステム向けのコピーオンライト(COW)のファイルシステムである。Bcachefsは主要開発者のケント・オーバーストリート(英語: Kent Overstreet)によって2015年に初めて発表され、Linuxカーネルのバージョン6.7から追加される予定であった[1]。BcachefsはZFSBtrfsの現代的な機能と、ext4XFSの速度とパフォーマンスの両方に匹敵することを目的としている。2022年12月の時点で、Bcachefsは「安定している」と自称している[2]

Bcachefsは、Linuxベースのオペレーティングシステム向けのコピーオンライト(COW)のファイルシステムである[3]。特徴としては、キャッシュ[4]ChaCha20Poly1305アルゴリズムを使用した完全なファイルシステム暗号化[5]LZ4gzip[6]Zstandard[7]による透過的圧縮[4]スナップショット[4]CRC-32Cと64ビットチェックサムが含まれている[3]。Bcachefsは、RAID構成を含めて、ブロックデバイスに跨ることができる[5]

Bcachefsの初期のバージョンでは、そのコードのうち約80%がLinux向けのブロック層キャッシュシステムのBcache英語版のコードと共通であり、Bcacheの全ての機能を提供していた[8]。2021年12月以降、ブロック層キャッシュ機能は削除された[7]

データ構造レベルでは、Bcachefsは他の多くの現代的なファイルシステムと同様にB木を使用するが、既定値が256 KiBという非常に大きなノードを使用する。これらのノードは内部でログ構造化英語版され、ハイブリッドデータ構造を形成し、更新時にノードを書き換える必要性を減らしている[9]。スナップショットはコピーオンライト木を複製することによって実装されるのではなく、ファイルシステムオブジェクトにバージョン番号を追加することによって実装されている[10]。コピーオンライト機能とバケット・アロケータによりライトホールや入出力断片化のないRAID実装が可能になっている[7]

歴史

脚注

外部リンク

Related Articles

Wikiwand AI