web-dev-qa-db-ja.com

デフラグが不要なものは何ですか? Linuxまたはext2 ext3 FS?

Linuxシステムをデフラグする必要がないのはなぜですか? ext2/ext3ファイルシステムを使用しているため、またはLinuxのためですか?

私はダブルブートシステム(W7/Ubuntu)と両方のシステムからアクセスできる共通パーティション(NTFS)を持っているので、それは関連しています。 Linuxでこのパーティションを使用している場合、断片化されますか?

もう1つの問題はTruecryptコンテナーです。 LinuxとWindowsでもアクセスできます。FAT32です。 Linuxが動作することで断片化されますか?

32
xyz

これは、ext2/ext3がディスク上のファイルを割り当てる方法に関する How To Geek に関する記事です。また、「 本当にデフラグする必要があるのか​​ ?」


FATが断片化する理由:

"ファイルをFATファイルシステムに保存するとき、[ファイルは保存される]はディスクの先頭にできるだけ近くなります。2番目のファイルを保存するときは、[ファイルが保存されます]最初のファイルの直後など–元のファイルのサイズが大きくなると、常に断片化されます。近くにファイルを置く余地はありません。
-オタクの仕方

また、 wikipediaには、FATフラグメンテーションに関する詳細情報があります

EXT2、3、4がファイルを割り当てる方法について:

"ext2、ext3、およびext4ファイルシステム[...]は、よりインテリジェントな方法でファイルを割り当てます。複数のファイルをハードディスク上で互いに近くに配置する代わりに、Linuxファイルシステムは異なるファイルを分散しますディスク全体に、それらの間に大量の空き領域を残します。 "
-オタクの仕方

(そして ext3でのデフラグの詳細、wikipedia から)

"最新のLinuxファイルシステムは、連続するセクターに格納できない場合でも、ファイル内のすべてのブロックを近づけることで、断片化を最小限に抑えます。ext3などの一部のファイルシステムは、効果的にファイル内の他のブロックに最も近い空きブロックを割り当てます。したがって、Linuxシステムでの断片化を心配する必要はありません。 "
- [〜#〜] tldp [〜#〜]

27
dougBTV

ファイルシステムに関係なく、断片化は常に懸念事項です。ただし、Ext3/Ext2は、ほとんどの管理者が問題ではないかのように動作するようになるまで、問題を最小限に抑えました。これは、有能なI/Oスケジューラを使用することによって、およびファイルシステムが増大に対応するために各ファイルの後に末尾のスペースを残すことによって最小化されます。その上、追加のフラグメントはより近くに格納されるため、フラグメント化があっても、効果は大幅にミュートされます。エクステントへのExt4の切り替えは、フラグメンテーションをさらに軽減することも目的としています。

断片化はまだ存在し、ext2にはオフラインのデフラグツールがあり、ext4はオンラインのものを取得しており、btrfs(質問に関連しているため)にはすでにオンラインデフラグがあります。 ext3を使用している場合、実際に選択できるのは、ext_4に変換する(tune2fsを使用)か、shakeなどのユーザースペースツールでどれだけ運が良いかを確認することです。

ファイルシステムで実行されているI/Oの種類によっては、ミュートレベルでも問題になる可能性があるため、オンラインツールがそもそも有用であると見なされました。

FAT32に関する質問では、ファイルを操作するだけでは断片化は発生せず、ファイルに書き込むときに発生します。質問に直接答えるために、断片化はファイルシステム設計の一部であるため、FAT32ファイルシステムは、何かを書き込むと必ず断片化する可能性があります。

23
Bratchley

質問に1つずつ答える:

Linuxシステムをデフラグする必要がないのはなぜですか? ext2/ext3ファイルシステムを使用しているため、またはLinuxのためですか?

Ext2/3/4はファイルとフォルダーについて異なるアプローチを持っているため、ほとんど断片化されません。他の人はすでにそれについて回答しており、詳細を読むことができます ここ

両方のシステムからアクセスできるダブルブートシステム(W7/Ubuntu)と共通パーティション(NTFS)があるため、これは重要です。 Linuxでこのパーティションを使用している場合、断片化されますか?

はい、断片化する可能性があります。 WindowsやLinuxなどがアクセスしているかどうかは問題ではありません。各ファイルシステムがファイルサイズを処理する方法、すべてのブロックを格納する方法、各ファイルの間に空のスペースを残すかどうかです...

もう1つの問題はTruecryptコンテナーです。 LinuxとWindowsでもアクセスできます。FAT32です。 Linuxが動作することで断片化されますか?

Truecryptコンテナーはすべての実用的な問題のためのファイルです。 TrueCryptを使用してコンテナを作成すると、選択したサイズのファイルが作成されます。お使いのオペレーティングシステムでは、他のファイルと同じです。コピーなどを作成すると、コピーが断片化して保存される可能性があります。

ただし、同じコンテナのコピーを複数持つことは決して良いことではありません。セキュリティを低下させるのに役立つかもしれません。常に新しいコンテナを作成します。

ファイルを保存、削除、コピー、移動などするときコンテナの内部、オペレーティングシステムはそれを認識せず、開くのと同じです。サイズを変更せずに、他のファイルを編集して保存する。

また、断片化に関するtruecryptのセキュリティが心配な場合は、SSDでのtruecryptの使用についていくつかの調査を行ってください。SSDは内部のすべてのメモリの消耗を利用しようとするため、コンテナーをコピーするのと同じ効果がある可能性があります。

4
woliveirajr

最終的には、OS内のファイルシステムドライバーが原因です。

ext2およびFATファイルシステムはどちらも、ディスク上のどのブロックがどのファイルに属するかを記録する方法です。ファイルのすべてのブロックが連続していない場合、そのファイルは断片化されていると呼ばれます。しかし、明らかなように、断片化は、ファイルを書き込むときのブロック割り当て戦略が原因であり、その後のブロックの記録方法が原因ではありません。

違いを生むのは、ファイルシステムドライバーがどれだけ先に見えるかです。ドライバーは、書き込むブロックがさらに10個あることを知っている場合、連続する空き領域を選択して、今後の断片化を回避できます。これは、OS固有のドライバーアーキテクチャによって異なります。ただし、FATとext2でまったく同じ空き領域検索を実行できます。

実際、ext2とFATはあなたが思っているほど違いはありません。私は既存のFATコードの上にブートローダーのext2部分を記述しましたが、追加するコードは100行未満で済みました。

3
MSalters