Linux

使用 Linux/Systemd 增加啟動時的磁碟檢測超時

  • January 3, 2019

我有一台帶有很多磁碟的機器,以及一個處於 HBA 模式的額外 SAS 控制器。這似乎導致 Linux 在磁碟實際出現之前在 initramfs 中思考至少 8-10 秒。磁碟檢測超時時間為 10 秒。這會導致 BTRFS/MDADM/etc 無法掛載我係統中的 RAID1,將我放到一個緊急 shell 中,我可以從那裡實際掛載磁碟並繼續正常執行。

我的問題是,如何將啟動時的超時時間從 10 秒增加到 10 秒?它在systemd中嗎?是在udev嗎?別的地方?我不知道從哪裡開始尋找,Google搜尋這個問題似乎主要導致人們希望提高 I/O 超時或其他一些(scsi/lun/etc)超時,但我不是在尋找那個。

我終於找到了!這當然只是一個簡單的核心參數,可在此處找到https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html

我特別尋找的參數是rootdelay,我已經嘗試過了,rootwait但顯然這還不夠,因為它在 10 秒後仍然中止了等待。現在它實際上並沒有等待指定的完整 30 秒,但只有大約 10-15 秒,具體取決於我的磁碟顯示需要多長時間,所以設置一個非常高的值似乎並沒有什麼壞處,雖然我只有為我的案例設置 30,到目前為止似乎已經完全解決了這個問題!

您可以將其添加到 Grub 或 systemd-boot 中的核心啟動參數中。

蠐螬:/etc/defaults/grub ->GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=30 quiet"

systemd-boot: /boot/loader/entries/yourentry.cfg ->options rootdelay=30 [other options]

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