Saya memiliki mesin dengan banyak disk, dan pengontrol SAS tambahan dalam mode HBA. Ini tampaknya menyebabkan Linux berpikir setidaknya 8-10 detik sekali dalam initramfs sebelum disk benar-benar muncul. Batas waktu untuk deteksi disk adalah 10 detik. Hal ini menyebabkan BTRFS / MDADM / etc gagal me-mount RAID1 yang saya miliki di sistem saya, menjatuhkan saya ke shell darurat dari tempat saya benar-benar dapat me-mount disk dan melanjutkan dengan baik.
Pertanyaan saya adalah, bagaimana cara meningkatkan batas waktu ini saat boot dari 10 detik? Apakah itu di systemd? apakah itu di udev? di tempat lain? Saya tidak yakin di mana harus mulai mencari, dan googling tentang masalah ini sebagian besar tampaknya menghasilkan orang-orang yang ingin menaikkan batas waktu I / O atau batas waktu (scsi / lun / etc) lainnya, tetapi saya tidak mencari itu.
Jawaban:
Saya akhirnya menemukannya! Ini tentu saja tetapi parameter kernel sederhana, ditemukan di sini https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
Parameter yang saya cari secara spesifik adalah
rootdelay
, saya sudah mencobarootwait
tetapi ternyata itu tidak cukup, karena masih membatalkan menunggu setelah 10 detik. Sekarang sebenarnya tidak menunggu 30 detik penuh yang ditentukan, tetapi hanya sekitar 10-15 detik tergantung pada berapa lama yang diperlukan untuk disk saya muncul, jadi pengaturan nilai yang sangat tinggi tampaknya tidak sakit, meskipun saya hanya set 30 untuk kasus penggunaan saya, yang sejauh ini tampaknya telah menyelesaikan masalah sepenuhnya!Anda dapat menambahkannya ke parameter boot kernel Anda di Grub atau 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]
sumber