rootwait / rootdelay的意义是什么?


23

rootwaitrootdelay用于无法立即使用文件系统的情况,例如,异步检测到或通过USB挂载的文件系统。事实是,基于rootbootarg 应该很明显,那么为什么内核不能自动意识到它需要等待文件系统出现呢?是否有一些技术约束阻止实现这种自动化?


1
我认为内核确实在等待文件系统出现。问题是它无法在出现后立即安装,因为驱动程序即使在读取分区表后也需要一些时间来初始化。
vikraman 2013年

1
为什么在根bootarg上很明显?您怎么知道这/dev/sda1是一个USB设备,您需要等待一会儿,或者/dev/sda1是在必须扫描的scsi系统上?
Ulrich Dangel 2013年

1
在Raspberry Pi上,如果不等待,可能无法挂载root。这是因为设备的速度可能不足以及时初始化慢速卡。
Tamara Wijsman

Answers:


21

有时,操作系统无法将响应速度较慢的外围设备与不存在或未完全连接的外围设备区分开。最明显的例子是来自网络(TFTP,NFS)的根文件系统,在此系统中,很难将慢速网络链接或服务器超载与断开的网络链接或崩溃的服务器区分开。超时告诉内核何时放弃。

旋转速度慢的磁盘,需要验证的RAID阵列等也可能发生这种情况。rootdelay指示内核在设备不可用时不要立即放弃。内核无法知道SCSI驱动器是本地磁盘还是某种RAID托架。

rootwait提供无限期的等待。这并不总是可取的,例如,如果正常的文件系统响应时间太长,则系统可能希望回退到另一个根文件系统。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.