web-dev-qa-db-ja.com

ext4はntfsよりも高価ですか?

NTFSパーティションをext4に変換したところですが、合計スペースが421Gから415Gに減少したようです。 6Gはどこに行きましたか?また、予約済みスペースはext4では199Mに拡大され、NTFSの78Mと比較してはるかに大きくなっています。なぜでしょうか。

パーティションは主に映画/音楽に使用されるため、ほとんどのファイルは非常に大きくなります(それぞれ> 1,000万)。 ext4ファイルシステムを使用したいのですが、何か提案はありますか?

mkfs.ntfs:
    /dev/sdb4             421G   78M  421G   1% /mnt/mmedia

mkfs.ext4:
    /dev/sdb4             415G  199M  393G   1% /mnt/mmedia
                       (415G - 199M == 393G ?)

Ext4の残りのサイズが393Gであることも奇妙ですが、415Gまた​​は414Gではないでしょうか?消えた22Gはどうなりましたか? NTFSと比較すると、ext4は総スペースの6.6%を消費しましたが、これは非常に大きな問題です。

質問は:

  1. 6Gは主に、ジャーナル、冗長性、またはインデックス作成に使用されますか?
  2. なぜ残りのスペースは415Gではなく393Gですか?かなり大きい22Gの穴があります。
  3. このext4パーティションを映画/音楽ファイルの保存に使用する場合、どのようなパラメーターをアドバイスしますか?大規模なパーティションでは、ext4の方がext3よりもパフォーマンスが優れていると言われていますが、本当ですか?ジャーナルではないext2には戻りません。
11
Xiè Jìléi

6Gは主に、ジャーナル、冗長性、またはインデックス作成に使用されますか?

(まだ不明です。)

なぜ残りのスペースは415Gではなく393Gですか?かなり大きい22Gの穴があります。

これはスーパーユーザー用に5%予約されたブロックであり、断片化を回避するために使用されます。 mkfs.ext4 -m 1で1%に調整できます。

このext4パーティションを映画/音楽ファイルの保存に使用する場合、どのようなパラメーターをアドバイスしますか?

Mkfs.ext4に使用オプションを指定できます(例:mkfs.ext4 -T large_file)。これにより、mkfs.ext4は大きなファイルを含むパーティションのパラメーターを決定できます。

8
Xiè Jìléi
  1. 6GBはiノードです。 ext4のデフォルトはiノードの1/64(1.56%)で、各256Bです。 16KBのファイルで埋めることができます
  2. Df使用可能スペースは、ルート用に予約されたスペースを除外します。デフォルトでは5%で、tune2fs-mを使用します。
  3. mkfs.ext4 -m 0 -N 4000000/dev/whatever#再フォーマット、0予約済み、400万iノードは1GBを使用
  4. ext4fsckはext3よりもはるかに高速です。それを除けば、違いに気付くことはありません

各ファイル/ディレクトリには1つのiノードが必要です。 extファイルシステムの作成後にiノードの数を変更することはできません。映画や音楽にのみ使用する場合は、1000000iノードでもそのパーティションに十分です。

NTFSマスターファイルテーブル(MFT)は少し柔軟性が高いため、NTFSはデフォルトでより多くのデータを詰め込むことができます。

LinuxでNTFSを使用する唯一の理由は、Windowsとファイルを共有することです。メディアでは問題なく動作しますが、UNIXのさまざまな機能が不足しているため、Linuxでの汎用には適していません。コンパイルしないでください!

4
Sam Watkins

ええ、これはきちんとした小さなトピックです。各ファイルシステムは、そのデータ構造を異なる方法で実装します。さまざまなファイルシステムでパーティションをフォーマットして比較することもできます。 「空き」スペースは異なります。また、それらを埋めると、ストレージオーバーヘッドの違いが生じるため、同じファイルを保存するために必要なスペースの量は、ファイルシステムによって異なる可能性があります。通常、ファイルシステムをフォーマットするときに、ファイルシステムの配置方法に関するいくつかのパラメーターを選択することもできます。これも影響を及ぼします。

あなたの質問への答えはそれらの「それは依存する」答えの1つです。全体として、6/400 GBはひどい変動ではないと思いますが、確かにそれは顕著です。それでも、ストレージスペースはどんどん安くなっています。しかし、ファイルシステムにはもっと凝った機能が必要なため、おそらくファイルシステムは重くなっていると思います。 ext2はext4よりもかなりスリムだと思います。その上で実際の数字を見てみたいと思います。もちろん、その「効率」には代償が伴います(最大の問題は、ジャーナル化されていないため、より高速で、より簡単に破損することです)。

この場合、ext4がより多くのスペースを使用する理由については、NTFSのストレージカスターが、必要なext4パラメーターよりもはるかに大きなブロックであるストレージスペースに対応するように設定されていると想定します。これが当てはまる場合、比較的小さなファイルがたくさんあると、ストレージをより効率的に使用できるはずです。

言うまでもなく、主題全体がどんどん進んでいます。さらに詳しい情報が必要な場合は、そこにあるファイルシステムを比較するさまざまなウィキペディアのページを確認することをお勧めします。また、興味のある各FS)のマニュアルページも確認してください。 。

お役に立てば幸いです。

3
James T Snell

予約済みのスーパーブロックは1つですが、参照している量はまったくありません。予約済みのスーパーブロックを変更しても、「使用可能な合計容量」には表示されません。変更されません。これは、iノードの数xサイズです。ext4では、デフォルトで、iノードあたり256バイト、400GBのようになります。 、mkfs.ext4はおそらく25〜30ミルを実行すると思います。実際の数を確認するには、dumpe2fs -hを使用します。これにより、不足している6 GBが構成され、not誰かが使用している予約済みブロック約。(例:inode-count x inode-size b/1024 ^ 3)GB。

私が疑うdf-h出力は、いくらかの跛行に関係している可能性があります; pもう一度やり直して、iノードの半分を指定してください(安全に行うことができます。太字の場合はさらに多く)が、多くのディレクトリが可能であることに注意してください。スペースの前にiノードを使い果たします。

例えば。 ext4は、ディレクトリごとにいくつかの93-4?)iノードを予約します。これは、1つまたは2つ以上のファイルを保持することを想定しているため、より効率的になります。ただし、100万個のファイルを含む100万個のフォルダーがある場合、実際にスペースが不足する前に、そのレイアウトのiノードが不足します。通常、iノードはスペースの数パーセント以内でのみ使用されますが、35%に急上昇する可能性があるため、2で割るとデスクトップユーザーにとってはかなり安全ですが、安全のためにこれ以上のことはしません。

次に例を示します。

415 GB RAW(dev/sdb1 say)mkfs.ext4 -m0 -Ndefault#/ 2 -Lext4-1 -O extends、dir_index、large_file、sparse_super、uninit_bg/dev/sdb1

オプションは、メディアが言う大きなファイル/パーティションに役立ちます。 uninit_bgは最近のカーネル用です。これは、将来の読者のために古くても投稿されます。

マリナサリナ

1
Mali

約1000GBのデータを含む(完全な)ntfsファイルシステムがあり、空き容量はわずか数百メガバイトでした。 ext4のフォーマットされた容量がntfsよりはるかに小さかったとしても、すべてをコピーしたとき、フォーマットされた容量が少なくても、ext4で約70GBの空き容量があったことを覚えています。 (ntfsがいっぱいだったことを思い出してください)。これがあなたに起こることを約束することはできませんが、少なくとも私がext4を持っていたファイルについては、本当にスペースを節約するのは大変でした! :)

0
Waxhead