BtrfsファイルシステムにUbuntu 11.10をインストールしたばかりですが、ファイルのデフラグについて質問したいと思います。
本当にファイルやシステム全体をデフラグする必要がありますか?
BtrfsファイルシステムにUbuntu 11.10をインストールしたばかりですが、ファイルのデフラグについて質問したいと思います。
本当にファイルやシステム全体をデフラグする必要がありますか?
回答:
Btrfsファイルシステムを手動でデフラグする必要はありません。
はい、BtrfsはCOW(コピーオンライト)であり、Extよりもはるかにファイルを断片化することを意味しますが、これは、オンラインのときにファイルシステムを簡単にデフラグする機能など、設計のいくつかの側面で対処されています。この抜粋は、より詳細を提供します(私のものを強調):
自動デフラグ
COW(コピーオンライト)ファイルシステムには多くの利点がありますが、断片化などのいくつかの欠点もあります。Btrfsは、ファイルが初めてディスクに書き込まれるときにデータを順番にレイアウトしますが、COW設計では、ファイルへの後続の変更は古いデータの上に書き込むことはできず、空きブロックに配置する必要があることを意味します。断片化を引き起こします(RPMデータベースはこの問題の一般的なケースです)。さらに、すべてのファイルシステムに共通する断片化の問題があります。
Btrfsはすでにこの問題に対処するための代替手段を提供しています。まず、コマンドを使用してオンラインでの最適化をサポートします
btrfs filesystem defragment
。第2に、マウントオプションがあり-o nodatacow
、データのCOWを無効にします。ここで、btrfsは3番目のオプションである-o autodefrag
マウントオプションを追加します。このメカニズムは、ファイルへの小さなランダムな書き込みを検出し、自動デフラグプロセスのためにそれらをキューに入れます。そのため、ファイルシステムは、使用中に自分自身をデフラグします。仮想化や大きなデータベースワークロードにはまだ適していませんが、rpm、SQLite、bdbデータベースなどの小さなファイルには適しています。
したがって、データベースのようなIO集中型のソフトウェアを大きな負荷の下で実行する予定がない限り、autodefrag
オプションでファイルシステムをマウントする限り、問題はありません。
ファイルの断片化をチェックするには、filefragユーティリティを使用できます。
$ find /path -type f -exec filefrag {} + >frag.list
# Now you can use your favourite tools to sort the data
Systemdシステムで/var/log/journal/
は、おそらく最も断片化されます。また~/.mozilla
、他のブラウザデータベースを確認することもできます。
最適化するには、次を使用します。
$ sudo btrfs fi defrag -r /path
filefrag
ています。使用して簡単に確認すると、ジャーナルファイルが実際に非常に断片化されていることがわかります(それぞれ平均10kのエクステント)。パフォーマンスへの影響。私には電源が入っautodefrag
ていません。有効にして、次回の再起動時に報告します。
autodefrag
ため、ファイルの断片化は発生しますが、日常のシステムではパフォーマンスへの影響はせいぜいわずかです。明らかに、負荷の高いサーバーでは測定と調整が必要になる可能性がありますが、これもアルファソフトウェアであるため、とにかくそれを回避する必要があります。
find /path -type f -exec filefrag {} + >frag.list
FIBMAP unsupported
ディレクトリおよびその他の通常でないファイルからのすべてのエラーを回避し、奇妙なファイル名で中断しません。
このトピックのために、私はそれを明確にする方が良いと思います:
任意のファイルシステム!=リカバリ/管理ユーティリティ
ファイルシステムは物理的なハードウェアでデータがどのように整理されるかに関するものであり、他のすべてのアクティビティは、特にGNU / linuxでは、おそらく誰が作ったのかと厳密には関係のない人々によって行われる追加のソフトウェアとユーティリティで行われることに注意してくださいファイルシステム。
これはおそらくBtrfsの場合とは異なりますが、デスクトップ環境とエンタープライズ環境では、さまざまなグレードの実現可能性を備えたさまざまなソリューションを提供できるため、場合によってはそれに近いこともあります。
あなたの質問への答えは「いいえ」ですが、一般的なファイルシステムの通常の動作に関連する「いいえ」であり、これについて見つけることができるすべてのユーティリティは、単に別のプロジェクトです。
ファイルシステムをデフラグする必要がある場合は、ファイルシステム自体の寿命とはあまり関係のない外部ソフトウェアを使用することに注意してください。すべての長所と短所があります。
btrfsファイルシステムをデフラグするコマンドは
btrfs filesystem defragment sync -r -v -f [-czlib] / /home