Linux

ext4 是否有“快速”格式之類的東西?

  • October 20, 2019

在 Windows 中,使用 NTFS 格式化非常快。我有一台低功率的 Linux 機器,只有很少的 RAM。將 2TB 卷格式化為 ext4 需要很長時間。

有什麼辦法可以加快格式嗎?我無法想像需要這麼長時間?(什麼需要這麼長時間)

嚴格回答

-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

where-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%,這對於數據(不是引導/root)文件系統是可以的。2TB 磁碟的 5% 意味著 100Gb。這是一個非常顯著的差異。

引用自:https://serverfault.com/questions/413143