我们正在 16TB RAID 阵列上创建一个大型备份 ext3 分区,mke2fs 花了 2.5 小时才完成。
是否有任何已知的技巧可以用来缩短这个时间?
目的是在发生灾难并且我们必须重新创建文件系统时缩短恢复所需的时间。我看到了 lazy_bg 和 uninit_groups 等选项,但它们似乎适用于 ext4 文件系统,这对我们来说还不重要。
答案1
如果您没有大量的小文件(我猜 16 TB 的卷可能没有),您可以减少 inode 的数量,这将大大加快文件系统的创建速度。选项是-i (bytes)
,它以字节数作为参数。对于每个 (bytes),将创建一个 inode。我很幸运有 4194304 (4 MB)。
答案2
万一您可以考虑使用其他文件系统,这个问题引起了我的兴趣,因此我在 200GB 卷上对文件系统创建进行了基准测试。结果:
ext3:
real 1m18.101s
ext4:
real 0m56.850s
xfs:
real 0m1.878s
200GB 与 16TB 相差甚远,但我认为如果您可以选择 xfs,它是您所需的安全选择。另外,根据经验,我认为使用特殊参数使用 ext3 不会比 ext4 的创建速度快太多,但知识更渊博的人可能会证明我错了。
答案3
我检查了 CentOS 5 的 e2fsprogs 源代码,其中 1.39-23 版本支持 lazy_bg 功能,尽管它在手册页中没有列出。
答案4
内存够用吗?运行 64 位吗?
创建 ext3 文件系统时的注意事项对如何优化文件系统创建提出了不少建议。