最適化を必要としないものは何ですか?Linuxまたはext2 ext3 FS?


32

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

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

もう1つの問題は、Truecryptコンテナです。また、LinuxおよびWindowsを使用してアクセスしますが、FAT32です。それらは、それらで動作するLinuxによって断片化されますか?


2
他の答えは良いですが、1つの重要なビットは省きます。すべてのファイルシステム:ext2 / 3/4およびNTFSは、ディスク容量が少ないときにファイルをかなり断片化します。断片化を防ぎたい場合は、ファイルシステムの使用が90%を超えないようにしてください。
ザンリンクス

1
ext4を使用している場合e4defrag -v .、ディレクトリツリーで実行すると、特にトレントクライアントでダウンロードされたファイルが含まれている場合(特にfallocate/を使用している場合もあります)、どれだけの断片化が発生するか驚くことになりますposix_fallocate
rbrito

質問は個人的な意見に左右されますが、実際の事実により依存していると思います。
ジュリーペレティエ

回答:


27

ext2 / ext3がディスク上のファイルをどのように割り当てるかについてのHow To Geekに関する記事を次に示します。また、「本当に最適化する必要がありますか?」という記事もあります。


FATが断片化する理由について:

「ファイルをFATファイルシステムに保存するとき、[ファイルは保存される]ディスクの先頭にできるだけ近い。2番目のファイルを保存するときは、[ファイルが保存される]最初のファイルの直後–などon。元のファイルのサイズが大きくなると、それらは常に断片化されます。近くに成長する余地はありません。」
-ギークする方法

また、ウィキペディアには、FATフラグメンテーションに関する詳細情報があります

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

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

(およびwikipediaのext3での最適化に関する詳細情報)

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


4
素晴らしい答えです!ただし、もう少しコンテンツを追加する必要があります。その考えは、StackExchangeでの回答はそれ自体で十分であるべきだということです。質問のリンクが壊れた場合、答えは役に立たないので、投稿で十分な説明をしてから、さらに読むためにリンクを提供する必要があります。
lgeorget

1
@lgeorgetに感謝します-いくつかの指示を引用して答えを具体化したので、「なぜ」で読むべき内容が常にあります。あなたの入力/建設的な批評に感謝します!!
dougBTV

「あなたはFATファイルシステムにファイルを保存すると、それが保存されます」。意味がありません。それは何ですか"?FATはファイルシステム形式です。保存できる場所について説明しますが、1つの場所に限定されるわけではありません。実際、OSが決定します。しかし、FATに書き込むことができる多くの異なるOSがあり、それぞれが独自の決定を下します。
MSalters

@MSalters-同意しました。引用されたセクションを編集して、その曖昧さを省略します。
dougBTV

曖昧さは今では隠されています。FAT仕様全体ではそのようなことは示されていませんが、ステートメントは依然としてかなり絶対的です( "FAT"が保存される)。実際、あなたが引用したウィキペディアのリンクはそれと直接矛盾しています。具体的には、Windowsは最初のファイルの直後ではなく、2番目のファイルの場所を選択するということです。(「事前に大きな連続した領域を選択する」)
MSalters

23

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

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

ファイルシステムが受けているI / Oの種類によっては、ミュートされたレベルであっても依然として懸念事項になる可能性があります。

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


「これは、有能なI / Oスケジューラを使用することで最小限に抑えられます」。そのフレーズにはまったく正しくないものがあります。
ファヒムミタ14

キャッチしてくれてありがとう。段落の文の全体的な文法で修正が引き起こす問題を修正せずに、言語を修正するのはちょっと悪いです。
ブラッチリー14年

これは良い答えです。CoW(書き込み時コピー)について何かを追加します。fsが断片化されるかどうかと密接な関係があります。
マーティンスジオアルト

4

質問に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は内部のすべてのメモリの消耗を利用しようとするため、コンテナーをコピーするのと同じ効果があるかもしれません。


3

最終的には、OS内のファイルシステムドライバーに依存します。

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

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

実際、ext2とFATはあなたが考えるほど異なるものではありません。ブートローダーのext2部分を既存のFATコードの上に記述しましたが、必要なコードは100行未満です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.