解決策 1:
フラグ -E lazy_itable_init
を追加します
マニュアルページには次のように書かれています:
<ブロック引用>有効で uninit_bg 機能が有効になっている場合、inode テーブルは mke2fs によって完全に初期化されません。これにより、ファイルシステムの初期化が著しく高速化されますが、ファイルシステムが最初にマウントされたときに、カーネルがバックグラウンドでファイルシステムの初期化を完了する必要があります。オプション値を省略した場合、デフォルトで 1 に設定され、遅延 i ノード テーブルの初期化が有効になります。
解決策 2:
厳密な答え
-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
root 用に 5% を予約しないように指示されているだけです。これは、データ (ブート/ルートではない) ファイルシステムには問題ありません。 2TB ディスクの 5% は 100Gb を意味します。これはかなり大きな違いです。
解決策 3:
デフォルトは です クイックフォーマット; ext* ボリュームの構造のセットアップは、NTFS ボリュームよりも多くのボリュームがあるため、はるかに時間がかかります。スーパーブロックの数を減らすことはできますが、それでも限界です。
解決策 4:
大部分がより大きなファイルを保存する場合は、i ノードあたりのバイト数を増やして、作成される i ノードの数を減らすことができます。これにより、作成時間が大幅に短縮されます。