https://blogs.oracle.com/linuxkernel/btrfs-development%3a-year-in-review
このbtrfs開発のアップデートはLiu Bo(Oracle Linux Kernel開発者であり、主要なアップストリームbtrfsコントリビュータ)によるものです。
btrfsコミュニティは引き続き繁栄しています。2017年、btrfsには富士通、Facebook、Oracle、SuSEの主要開発者といくつかのNAS企業の貢献がありました。btrfsの主な使用例は2つのカテゴリに分類されます、 すなわち、'/'と '/ home'のための1個のディスクでのbtrfsの利用と、NASタイプのワークロードのための複数のディスクでのbtrfsの利用です。
過去1年間で、btrfsを安定させることを最優先課題とし、 "btrfs: fix ..."で始まる117個のコミットがありますので、基本的に全ての領域でbtrfsを修正しています。
BTRFSの主な特長は以下の通りです。
- Linux kernel v4.13
新しい圧縮アルゴリズム 'zstd'がbtrfsに導入されました。これはlzoと同じくらい速く、zlibと同等の圧縮率を提供します。ベンチマークの詳細は「btrfs: Add zstd support」で入手できます。
btrfs: Add zstd support
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5c1aab1dd5445ed8bdcdbb575abc1b0d7ee5b2e7 - Linux kernel v4.14
圧縮ヒューリスティックサポートがbtrfsに導入されました。圧縮前にデータにいくつかのヒューリスティックを適用して、スペースを節約できるかどうかを判断できます。 - Linux kernel v4.15
内部の遅延参照に対するデバッグ機能を提供するため、新しいマウントオプションref-verifyと新しいconfig CONFIG_BTRFS_FS_REF_VERIFYが追加されました。 - 将来的には、ホットスペア、DAXによる永続メモリのサポート、RAID 56ジャーナル(ライトホールを塞ぐため)、iomapインフラストラクチャへの変換の作業を継続する予定です。これらの作業すべてにはすでに少なくともRFCパッチがありますので、メーリングリストで上がっている懸念やフィードバックに対処するために、それらを改訂し改善する必要があります。
- ENOSPC : チケット予約メカニズムをbtrfsが採用した後でさえも、初期のno spaceエラーが発見されており、改善のための修正が行われてきました。問題はほぼすべてがbtrfsファイルシステムでのみ発生します。この変更により、ファイルシステムのサイズが増えても全体のパフォーマンスが向上します。
- send : btrfs sendは、インクリメンタルアップデートをサポートするためによく使われており、いくつかのNASソリューションに統合されていますが、rmdirを送信する際の誤った動作や、NO_HOLE機能とインライン・エクステントが協調する際のその他の不具合を発見し、修正しました。
- (オフライン重複排除のための)backref巡回(backref walking): オフライン重複排除は、多数の共有エクステントを生成する可能性があります。これにより、複数のファイル(または同じファイル内でも)が共有されるかどうかをチェックする際にFIEMAPを使用するツールが遅くなることがあります。これらの変更により、メモリ内のbackrefは、リストではなくrb-treeに格納されるようになりました。これにより、挿入マージが可能になり、共有エクステントを簡単に発見し、backrefを挿入しながら即座に返すことができるようになりました。
- raid6 とスクラブ(scrub) : btrfsのマウントを妨げるraid6再構成プロセスにある不具合を確認しました。アップストリームとstableカーネルの両方で修正を提供済みです。さらに、コミュニティはraid6でのスクラブのサポートで不具合を見つけて修正しました。この不具合は、特定のデータストライプで誤ったパリティを引き起こす可能性があります。
これは、btrfsの多くの優れた機能のちょっとした例です。btrfsの現在の機能を引き続き改善していきます。
0 件のコメント:
コメントを投稿