XFSでフォーマットした後、なぜext4より多くの空き容量が得られるのですか?


10

1 TBの外付けハードドライブを購入しました。ドライブ全体をext4でフォーマットした後、Nautilusは934.3 GBの空き容量があると言います。ここに画像の説明を入力してください

XFSでのドライブのフォーマットもテストしました。この場合、999.7 GBの空き容量があります。ここに画像の説明を入力してください

XFSではなくext4で60 GBを超える空き容量が不足しているのはなぜですか?

回答:


16

EXT3 / EXT4ファイルシステムは、セキュリティなどのためにパーティションサイズの5%を使用します(たとえば、「ディスクに空き容量がない」ため)。

ルートパーティションでない場合は、次のようにして、この5%をたとえば1%に変更できます。

sudo tune2fs -m 1 /dev/sda3

ここで、sda3をパーティションに変更する必要があります。


3
ちなみに、このスペースは失われません。1人のユーザー(通常はroot)のために予約されています。これは、たとえば、単一のパーティションがあり、1人のユーザーがインターネットをダウンロード(ディスクがいっぱいになる)した場合でも、システムサービスはログファイルと監査情報を書き込み、少なくともシステムを十分に機能させて、管理者がログインして調査できるようにします。状況。システムに関連するものを一切含まないディスクの場合、この予約を0%に設定することは確かに許容されます。
Simon Richter

「ルートパーティションでない場合」-実際には、ルートパーティションとマウントされたパーティションで機能します。Thx
Sepero

7

ext4の(及びextfsファミリー)iノードテーブルは、フォーマット時に予め割り当てられています。これは、ファイルシステムに関する従来のUnixの動作です。extfsファイルシステムでボリュームをフォーマットする場合-N、mkfsユーティリティのパラメーターを使用して、予想されるiノードの数を調整できます。(ソース)。

この設計は、スケーラビリティにもかかわらず、(一度に多くのファイルを割り当てる場合)パフォーマンスが向上する可能性があります。フォーマット時に必要なiノードの数を見積もる必要があります。メールサーバーなど、ほとんどの場合小さなファイルを含むボリュームには、ISOを含むボリュームよりも1ギガバイトあたりのiノードが多く必要です。

すべてのiノードを使用すると、ドライブに空き領域があっても、新しいファイルを作成できません。ボリュームが大きいほど、iノードテーブルは大きくなります。これにより、大容量のドライブで数ギガバイトが失われます。

一方、XFSは「動的iノード割り当て」(Source)と呼ばれる手法を使用します。これにより、ボリューム上のデータ量に応じてiノードの数が増減するため、スケーラビリティが向上します。これは、ファイルシステムが何に使用されるかを予測できない場合、またはデータ用に余分なスペースを節約する必要がある場合に適しています。これはNTFSの動作でもあります

ジャーナリングについて言われていることは間違っています。ジャーナリングは数メガバイトしかかかりません。主なスペースの損失は、静的なiノード割り当てによるものです。

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