Linux

ext4 的“noinit_itable”選項的風險或成本是多少?

  • July 29, 2017

noinit_itable不要在後台初始化任何未初始化的 inode 表塊。安裝 CD 可以使用此功能,以便盡快完成安裝過程;然後,inode 表初始化過程將被推遲到下一次解除安裝文件系統時。

noinit_itable每當我安裝 ext4 設備時,我是否應該始終使用該選項?

如果不是,為什麼?

我將此解釋為 inode 初始化是一項可能會導致延遲和吞吐量下降的任務。

程式碼的目標是安排它在相對空閒的時間段內執行。當您實際需要 inode 表時,提前初始化 inode 表可以避免延遲命中(“滯後”)。

我認為建議是最好有一個快速的安裝過程,然後稍微降低一段時間的吞吐量。安裝過程正在執行時,它可能會阻止您同時使用電腦做有用的事情,例如

  • 檢查您的電子郵件
  • 從系統上安裝的軟體包中讀取文件
  • 找到你最喜歡的桌面主題配置您的專業工作空間
  • 重新啟動到擁有所有東西的 Windows

ext4 mkfs 選項lazy_itable_init 現在在檢測到核心支持時自動啟動,可在安裝過程中加速格式化 ext4 文件系統。掛載 fs 後,核心開始在後台將 inode 表清零。在安裝過程中,這有點浪費精力並且會干擾複製過程。使用 noinit_itable 掛載選項掛載文件系統會禁用後台初始化。這應該有助於安裝更快一些,並且在重新啟動後,當 fs 安裝時沒有標誌,後台初始化將完成。

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

這也指向一個主要由 Ted T’so 咆哮組成的執行緒。要點似乎是 inode 校驗和尚未實現,這意味著具有未歸零的 inode 表的文件系統對錯誤的強韌性會大大降低。幸運的是,inode 校驗和是在該評論發表後的一年左右內實施的。

引用自:https://unix.stackexchange.com/questions/381092