Ich habe einen Computer mit vielen Festplatten und einen zusätzlichen SAS-Controller im HBA-Modus. Dies scheint dazu zu führen, dass Linux in initramfs mindestens 8-10 Sekunden lang nachdenkt, bevor die Festplatten tatsächlich angezeigt werden. Das Zeitlimit für die Festplattenerkennung beträgt 10 Sekunden. Dies führt dazu, dass BTRFS / MDADM / etc ein RAID1, das ich in meinem System habe, nicht mounten kann, wodurch ich zu einer Notfall-Shell geleitet werde, von der aus ich die Festplatten tatsächlich mounten und problemlos weitermachen kann.
Meine Frage ist, wie ich dieses Timeout beim Booten von 10 Sekunden erhöhen kann. Ist es in systemd? ist es in udev? irgendwo anders? Ich bin mir nicht sicher, wo ich anfangen soll zu suchen, und das Googeln über dieses Problem scheint meistens Leute hervorzubringen, die das E / A-Zeitlimit oder andere (scsi / lun / etc) Zeitlimits erhöhen möchten, aber ich suche nicht danach.
Antworten:
Ich habe es endlich gefunden! Es ist natürlich nur ein einfacher Kernel-Parameter, den Sie hier finden: https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
Der Parameter, nach dem ich speziell gesucht habe, ist
rootdelay
, ich hatte es bereits versucht,rootwait
aber anscheinend war das nicht genug, da das Warten nach 10 Sekunden immer noch abgebrochen wurde. Jetzt wartet es tatsächlich nicht die angegebenen 30 Sekunden, sondern nur etwa 10 bis 15 Sekunden, je nachdem, wie lange es dauert, bis meine Festplatten angezeigt werden. Das Einstellen eines wirklich hohen Werts scheint also nicht zu schaden, obwohl ich es nur getan habe Set 30 für meinen Anwendungsfall, der das Problem bisher vollständig gelöst zu haben scheint!Sie können es zu Ihren Kernel-Boot-Parametern in Grub oder systemd-boot hinzufügen.
Grub: / etc / defaults / grub ->
GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=30 quiet"
systemd-boot: /boot/loader/entries/yourentry.cfg ->
options rootdelay=30 [other options]
quelle