Bcachefs

Bcachefsとは



Bcachefsは、Linuxベースのオペレーティングシステム向けに開発された、高度なコピーオンライト(COW)方式のファイルシステムです。2015年に開発者のケント・オーバーストリートによって初めて発表され、Linuxカーネルのバージョン6.7に統合される予定です。このファイルシステムは、ZFSBtrfsといった現代的な機能と、ext4やXFSのようなスピードとパフォーマンスを兼ね備えていることを目指しています。2022年12月時点では、その安定性が自称されています。

Bcachefsの特徴



Bcachefsは、以下のような優れた特徴を持っています。

  • - キャッシュ機能:データアクセス効率を高めるためのキャッシュシステムが組み込まれています。
  • - 暗号化機能:ChaCha20とPoly1305アルゴリズムを用いた完全なファイルシステム暗号化が実現されています。
  • - 透過的圧縮LZ4、gzip、Zstandardを使用した透過的なデータ圧縮機能があります。
  • - スナップショット機能:過去の状態に簡単に戻すためのスナップショットを取得できます。
  • - 堅牢なチェックサム:CRC-32Cと64ビットチェックサムによるデータ整合性の確保がなされています。
  • - RAIDサポート:複数のブロックデバイスをまとめて使用でき、特にRAID構成において強力です。

Bcachefsの初期バージョンでは、約80%のコードがBcacheから流用されており、Bcacheの全機能を提供していましたが、2021年12月以降はブロック層キャッシュ機能が削除されました。データ構造においては、従来のファイルシステムと同様にB木を採用していますが、特に256KiBという大きなノードを使用し、内部でログ構造化することで更新作業の効率を向上させています。

開発の歴史



Bcachefsは、オーバーストリートがBcacheの開発を進める中で、そのコードを基に「汎用POSIXファイルシステム」へと発展させるために開発されてきました。彼は、BcacheをBcachefsに置き換える意図を持ってこのプロジェクトを進めました。2013年にはBcacheがメインラインLinuxカーネルに組み込まれ、その後オーバーストリートはGoogleを退職し、Bcachefsの開発を専念しました。

2015年にはBcachefsが正式に発表され、機能のテストと貢献者の募集が行われました。彼はこのファイルシステムを、ZFSBtrfsの機能を持ちながらも、ext4やXFSに匹敵する速度とパフォーマンスを誇るものに育てようとしていました。

開発は順調に進み、2019年には必要な機能が実装され、関連するパッチがレビューのためにLinuxカーネル開発メーリングリスト(LKML)に投稿されました。2023年9月、BcachefsはLinuxカーネルの新機能をテストする開発ツリーであるlinux-nextに統合され、10月には正式にLinuxカーネルのバージョン6.7に組み込まれることとなりました。

ところが、2025年8月にLinus氏がオーバーストリートの態度問題を理由にBcachefsの更新を拒否し、その後「外部メンテナンス」というステータスに変更されました。これを受けて、主要なLinuxディストリビューターは外部のコードベースを使用する形に移行しました。これにより、古いコードはLinuxカーネルから削除され、一つの時代が終わりを告げました。

まとめ



Bcachefsは、機能の充実度と高いパフォーマンスを両立させる革新的なファイルシステムとして注目されています。その特徴的な設計と開発の経緯が相まって、多くのユーザーから期待されています。Linuxカーネルの未来において、Bcachefsがどのように進化するのか、今後の動向が注目です。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。