ext4 的“noinit_itable”选项的风险或成本是什么?

ext4 的“noinit_itable”选项的风险或成本是什么?

没有init_itable不要在后台初始化任何未初始化的索引节点表块。安装 CD 可以使用此功能,以便尽快完成安装过程;然后,inode 表初始化过程将被推迟到下次卸载文件系统时。

noinit_itable每次安装 ext4 设备时都应该使用该选项吗?

如果不是,为什么?

答案1

我将其解释为 inode 初始化是一项可能会造成延迟和吞吐量下降的任务。

该代码的目标是安排它在相对空闲的时期运行。提前初始化索引节点表可以避免当您实际需要索引节点表时出现延迟(“滞后”)。

我认为建议是最好有一个快速安装过程,并且然后吞吐量暂时略有下降。例如,在安装过程运行时,它可能会阻止您同时使用计算机执行有用的操作

  • 检查你的电子邮件
  • 阅读系统上安装的软件包中的文档
  • 找到您最喜欢的桌面主题配置您的专业工作空间
  • 启动回到 Windows,您拥有所有的东西

ext4 mkfs 选项lazy_itable_init 现在在检测到内核支持时自动激活,可加快安装过程中格式化ext4 文件系统的速度。当挂载文件系统时,内核开始在后台将索引节点表清零。在安装过程中,这有点浪费精力并且会干扰复制过程。使用 noinit_itable 挂载选项挂载文件系统会禁用后台初始化。这应该有助于安装速度更快一些,并且在重新启动后,当 fs 在没有标志的情况下挂载时,后台初始化将完成。

https://bugs.launchpad.net/ubuntu/+source/partman-ext3/+bug/733652

这也指向一个主要由 Ted T'so 的咆哮组成的线程。主要的一点似乎是索引节点校验和尚未实现,这意味着具有未清零索引节点表的文件系统对于错误的鲁棒性将明显降低。幸运的是,inode 校验和在该评论发布后一年左右的时间内就得到了实施。

相关内容