Eu tenho uma máquina com muitos discos e um controlador SAS extra no modo HBA. Isso parece fazer com que o Linux pense por pelo menos 8 a 10 segundos uma vez no initramfs antes que os discos realmente apareçam. O tempo limite para detecção de disco é de 10 segundos. Isso faz com que o BTRFS / MDADM / etc falhe ao montar um RAID1 que eu tenho no meu sistema, levando-me a um shell de emergência de onde eu posso realmente montar os discos e continuar bem.
Minha pergunta é: como faço para aumentar esse tempo limite na inicialização de 10 segundos? Está no systemd? está no udev? Em outro lugar? Não sei por onde começar a procurar, e pesquisar no Google sobre esse problema geralmente gera pessoas que procuram aumentar o tempo limite de E / S ou outros tempos limite (scsi / lun / etc), mas não estou procurando por isso.
Respostas:
Eu finalmente encontrei! É claro que é apenas um parâmetro simples do kernel, encontrado aqui https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
O parâmetro que eu estava procurando especificamente é que
rootdelay
eu já havia tentado,rootwait
mas aparentemente isso não foi suficiente, pois ainda abortou a espera após 10 segundos. Agora, na verdade, ele não espera os 30 segundos completos especificados, mas apenas cerca de 10 a 15 segundos, dependendo do tempo que leva para meus discos aparecerem, portanto, definir um valor realmente alto não parece prejudicar, embora eu tenha apenas defina 30 para o meu caso de uso, que até agora parece ter resolvido completamente o problema!Você pode adicioná-lo aos seus parâmetros de inicialização do kernel no Grub ou systemd-boot.
Grub: / etc / defaults / grub ->
GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=30 quiet"
systemd-boot: /boot/loader/entries/yourentry.cfg ->
options rootdelay=30 [other options]
fonte