web-dev-qa-db-ja.com

ext4の「クイック」フォーマットのようなものはありますか?

Windowsでは、NTFSでのフォーマットは非常に高速です。 RAMが少ない低電力のLinuxマシンを使用しています。 2TBボリュームをext4にフォーマットするには、長い時間がかかります。

フォーマットを高速化するために私にできることはありますか?何がそんなに時間がかかるか想像できませんか? (こんなに時間がかかるもの)

28
stuck

厳密な答え

-E lazy_itable_initなどのソリューションは結果を変更せず、プロセスをスピードアップするだけです。これは明示的に尋ねられたものですが、多くの場合、人々はさらに必要としています。

追加ボーナス

ほとんどの場合、実際には、使用パターンに一致するいくつかのオプションが必要であり、ファイルシステムの作成を高速化するだけでなく、より高速な使用とより多くの使用可能なスペースを可能にします。

私はテストをしました。 -E lazy_itable_initを使用しない場合でも、以下のオプションにより、2TBファイルシステムの作成時間が16分2秒から1分21秒に高速化されます(Intel i7 2.2GHzのカーネル3.5.0 64ビット、USB2接続の2TBディスク-SATAおそらくもっと速いでしょう)。

大きなファイルを保持するファイルシステムでは、次の組み合わせを使用します。

mkfs.ext3 /dev/sdXX -O sparse_super,large_file -m 0 -T largefile4

ここで、-T largefile4/etc/mke2fs.confのオプションを選択します。これには通常、次のようなものが含まれます。

    inode_ratio = 4194304
    blocksize = -1

これらの各オプションの詳細については、man mke2fsを実行してください。

関連する抜粋を以下に示します。

               sparse_super
                      Create a filesystem with fewer superblock backup copies (saves space on large filesystems).

               large_file
                      Filesystem can contain files that are greater than 2GB.  (Modern kernels set this feature  automatically
                      when a file > 2GB is created.)

   -i bytes-per-inode
          Specify  the  bytes/inode ratio.  mke2fs creates an inode for every bytes-per-inode bytes of space on the disk.  The
          larger the bytes-per-inode ratio, the fewer inodes will be created.  This value generally shouldn't be smaller  than
          the blocksize of the filesystem, since in that case more inodes would be made than can ever be used.  Be warned that
          it is not possible to expand the number of inodes on a filesystem after it is created, so be  careful  deciding  the
          correct value for this parameter.

-m 0は、ルート用に5%を予約しないことのみを示しています。これは、データ(ブート/ルートではない)ファイルシステムには問題ありません。 2TBディスクの5%は100Gbを意味します。それはかなり大きな違いです。

16

フラグ-E lazy_itable_initを追加します

マニュアルページの内容は次のとおりです。

有効でuninit_bg機能が有効になっている場合、iノードテーブルはmke2fsによって完全に初期化されません。これによりファイルシステムの初期化が著しく高速化されますが、ファイルシステムが最初にマウントされたときに、カーネルがバックグラウンドでファイルシステムの初期化を完了する必要があります。オプション値を省略すると、デフォルトで1になり、遅延iノードテーブルの初期化が有効になります。

19
Alex Wheeler

デフォルトisはクイックフォーマットです。 ext *ボリュームの構造を設定すると、NTFSボリュームの構造よりも多くの時間がかかるため、時間がかかります。スーパーブロックの数を減らすことができますが、それでもこれだけです。

主に大きなファイルを保存する場合は、iノードあたりのバイト数を増やして、作成されるiノードの数を減らすことができます。これにより、作成時間が大幅に短縮されます。

4
rnxrx