Bcachefs
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この項目「Bcachefs」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:英語版 "Bcachefs" 2023年11月9日 (木) 06:39 (UTC))
修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。ノートページや履歴も参照してください。(2023年12月)

Bcachefs
開発者ケント・オーバーストリート
導入2015年8月21日 (8年前) (2015-08-21) ()
構造
ディレクトリハイブリッドB+木
領域管理エクステント(英語版)
不良ブロックなし
限度
特徴
タイムスタンプ.mw-parser-output ul.cslist,.mw-parser-output ul.sslist{margin:0;padding:0;display:inline-block;list-style:none}.mw-parser-output .cslist li,.mw-parser-output .sslist li{margin:0;padding:0 0 0 0;display:inline-block}.mw-parser-output .cslist li:after{content:"、"}.mw-parser-output .sslist li:after{content:";"}.mw-parser-output .cslist li:last-child:after,.mw-parser-output .sslist li:last-child:after{content:none}

変更(mtime)

属性の変更(ctime)

アクセス(atime)

作成(crtime)

属性拡張ファイル属性
パーミッション

POSIX

ACL

透過的圧縮あり
透過的暗号化あり
対応OSLinux
テンプレートを表示

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]
歴史

Bcachefsの開発は、Bcache(英語版)の開発者であるケント・オーバーストリートが中心になって行われており、彼はBcacheをBcachefsとなった着想の「プロトタイプ」であると説明している。オーバーストリートは、BcacheをBcachefsに置き換えることを意図している[8]。Bcachefsの開発は、Bcacheの開発者がそのコードベースが「本格的な汎用POSIXファイルシステムに進化しつつある」ことに気が付き、「その設計が本当に綺麗で簡潔」であり、実際に試したところとても良かったことに始まるとオーバーストリートは述べている。2013年にBcacheがメインラインLinuxカーネルにマージされてからしばらくして、オーバーストリートはGoogleを退職し、Bcachefsの開発をフルタイムで行った[3]

融資を受けずに数年間開発を続けた後、2015年にオーバーストリートはBcachefsを発表し、その時点で彼はコードを「殆どの機能が完成した」と判断し、テスターと貢献者を募集した。彼はBcachefsをZFSやBtrfsのような現代的な機能を備えながら[11]、ext4やXFSのような速度とパフォーマンスを実現する先進的なファイルシステムにすることを意図していた[3]


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:21 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef