開発

Bcachefs Tools 1.38.6リリース、パフォーマンスが大幅向上

Bcachefs Tools 1.38.6がリリース。最大255台のストレージデバイス対応やジャーナリングのロックフリー化など、多数のパフォーマンス改善を実現。フォーマット破損なしでアップグレード可能。

7分で読める SINGULISM 編集チームが確認・編集

Bcachefs Tools 1.38.6リリース、パフォーマンスが大幅向上
Photo by Kevin Ache on Unsplash

Kent Overstreet氏が本日、Bcachefsのユーザー空間ツール群であるBcachefs Tools 1.38.6のリリースを発表した。BcachefsはLinux向けのコピーオンライト(COW)ファイルシステムであり、v1.38.6は新機能の追加に加え、コードベース全体にわたる広範なパフォーマンス改善を施したアップデートとして位置づけられる。本バージョンはオンディスクフォーマットの破損を伴わないため、既存のユーザーは安全にアップグレードできる。

Bcachefs Tools 1.38.6の最大のトピックは、パフォーマンス改善である。Overstreet氏はリリースに際し、「パフォーマンスの改善作業はコードベースの大部分に及び、かなりの数のワークロードとベンチマークをプロファイリングした」と述べている。また、本バージョンでは単一ファイルシステムが最大255台のストレージデバイスをサポートするようになった。さらに、Ubuntu 26.04 LTS向けパッケージがapt.bcachefs.orgから公開され、テストが容易になっている。

ジャーナリングのロックフリー化

本リリースで最も顕著な改善の一つが、ジャーナリングコードに対する最適化である。主にロック競合をターゲットとしており、特にマルチスレッド環境でのO_SYNCやfsyncワークロードにおいて顕著な効果を発揮する。

具体的には、ジャーナルフラッシュが完全にロックフリー化された。これにより、同時実行性の高い環境でのスループットが大幅に向上する。また、ジャーナルピンリストが従来のメインジャーナルロックを共有する方式から、ピンリストごとに個別のロックを持つ方式へと変更された。さらに、ジャーナルピンFIFOが実行時にリサイズ可能となり、O_SYNCやfsyncが大量に発生するワークロードにおいて不要なスロットリングを回避できる。

ジャーナル読み取りにおいても改善が施された。各デバイス上の最新エントリを二分探索で特定することで、読み取り対象のジャーナル量を大幅に削減している。この最適化を活用し、デフォルトのジャーナルサイズも拡大された。

Btreeイテレータの最適化

Bcachefsの中核をなすBtreeイテレータおよびトランザクションコミットコードに対しても、プロファイリングと最適化が施された。特に命令キャッシュ(icache)の使用量を大幅に削減している。この改善は、CPUのキャッシュラインを効率的に利用する必要がある大規模ワークロードにおいて、直接的なパフォーマンス向上をもたらす。

Btreeシャーディングの改良

Btreeシャーディングの改善も、本リリースの重要なトピックである。従来は現在のCPUに基づいて新しいinode割り当てをシャーディングしていたが、v1.38.6ではプロセスID(pid)に基づいてシャーディングを行うよう変更された。これにより、特定のCPUに負荷が集中する状況を緩和できる。

さらに、Btreeノードがシャード境界を越えないよう強制する処理が追加された。ロック競合が発生した場合には、データが属するシャードのCPUにスレッドを移動させる試みが行われる。この一連の改良により、特に高クライアント数のdbenchベンチマークにおいて、ロック競合が劇的に低減したと報告されている。

マルチスレッド書き込みバッファの改善

マルチスレッド環境でのBtree書き込みバッファフラッシュも改善された。ロック逆転によるストールが低減されており、同時実行性の高いワークロードでの安定性が向上している。また、実行時イントロスペクション機能も大幅に強化された。これにより、運用中のシステム状態をより詳細に把握できるようになった。

今後のベンチマークへの期待

Phoronixは今後、新たなLinuxファイルシステム比較ベンチマークを実施する可能性があるとしている。特にBtrfsのラージフォリオ対応がデフォルト化されたことや、Linux 7.2に導入された他のファイルシステム改善を踏まえ、Bcachefsを含めた比較が注目される。

Bcachefsは依然として実験的なステータスにあるが、ZFSやBtrfsと比較した場合のスケーラビリティやパフォーマンス面での優位性が徐々に示されつつある。本リリースでは特にマルチデバイス環境での動作が改善されており、エンタープライズストレージへの応用可能性を広げるものと評価できる。

編集部の見解

本リリースはBcachefsが安定した実用的ファイルシステムへと成熟しつつあることを示している。特に、ロック競合の低減やシャーディングの改善は、NVMe SSDを多数搭載した現代のストレージサーバー環境において差別化要因となる。今後数カ月の間に、主要なLinuxディストリビューションでの標準サポート採用が進む可能性がある。ただし、運用環境への導入にはなお慎重な検討が必要であり、特に障害復旧やオンラインメンテナンス機能の成熟度が課題として残る。

長期的な視点では、本リリースがBcachefsのエコシステム拡大の転機となる可能性がある。最大255デバイスのサポートは、従来のファイルシステムでは実現が難しかった大規模ストレージプールの管理を単一レイヤーで行う道を開く。もしBcachefsがカーネルメインラインにおいて安定した位置を確立できれば、ZFSが現在占める領域を一部代替し得る。しかし、Overstreet氏個人の開発負荷が依然として大きく、コミュニティによるメンテナンス体制の構築が急務と言えよう。

参考

  • Phoronix — 2026-06-17T20:06:22.000Z公開

よくある質問

Bcachefsとは何ですか?
BcachefsはLinux向けに開発中のコピーオンライト仕様ファイルシステムです。パーティショニング、スナップショット、チェックサム、圧縮、暗号化などの機能を内蔵しています。Kent Overstreet氏が主導して開発しており、Bcache(ブロックキャッシュ)からの派生プロジェクトです。
Bcachefs Tools 1.38.6の最も大きな改善点は何ですか?
ジャーナリングコードのロックフリー化が最大の改善点です。特にマルチスレッド環境でのO_SYNC/fsyncワークロードにおいてパフォーマンスが大幅に向上しました。この改善により、高負荷環境でのスループットと応答性が改善されます。
どのようにしてBcachefsを試せますか?
Ubuntu 26.04 LTS向けパッケージがapt.bcachefs.orgから公開されています。また、Linuxカーネルに組み込まれているため、カーネルオプションで有効にして自前でビルドすることも可能です。ただし、現時点では実験的なファイルシステムとして位置づけられているため、運用環境での使用は推奨されません。 ## 参考 - [Bcachefs Tools 1.38.6 Brings Many Performance Improvements — Phoronix](https://www.phoronix.com/news/Bcachefs-Tools-1.38.6) — 2026-06-17公開 - [Microsoft Defenderの特権昇格脆弱性「RoguePlanet」公開](https://singulism.com/ja/microsoft-defender-rogueplanet-zero-day) — 2026-06-17公開
出典: Phoronix

コメント

← トップへ戻る