Tăng thời gian chờ phát hiện đĩa khi khởi động với Linux / Systemd


11

Tôi có một máy có rất nhiều đĩa và bộ điều khiển SAS bổ sung ở chế độ HBA. Điều này dường như khiến Linux phải suy nghĩ ít nhất 8-10 giây một lần trong initramfs trước khi các đĩa thực sự xuất hiện. Thời gian chờ để phát hiện đĩa là 10 giây. Điều này khiến BTRFS / MDADM / etc không thể gắn RAID1 mà tôi có trong hệ thống của mình, thả tôi vào vỏ khẩn cấp từ đó tôi thực sự có thể gắn các đĩa và tiếp tục hoạt động tốt.

Câu hỏi của tôi là, làm cách nào để tăng thời gian chờ này khi khởi động từ 10 giây? Có phải trong systemd? Có phải trong udev? ở nơi nào khác? Tôi không chắc bắt đầu tìm kiếm ở đâu và việc tìm hiểu về vấn đề này dường như mang lại kết quả cho những người đang tìm cách tăng thời gian chờ I / O hoặc một số thời gian chờ khác (scsi / lun / etc), nhưng tôi không tìm kiếm điều đó.


1
IDK hoặc, nhưng có lẽ vấn đề chậm khởi động đa luồng này có liên quan hoặc có thể cung cấp dẫn đến giải pháp của bạn?
rickhg12h

@ rickhg12hs Tôi đã thử các tham số udev được đề cập trong bài đăng, tuy nhiên dường như nó vẫn đợi 10 giây cho thiết bị đầu tiên và sau đó thỉnh thoảng rơi vào vỏ khẩn cấp khi vượt qua ngưỡng .. Mặc dù vậy, tôi sẽ cảm ơn hãy thử thêm một chút với udev ..
Alex

Tôi vẫn chưa tìm ra nó, tôi đoán đó là một tham số biên dịch kernel, nhưng tôi vẫn chưa tìm hiểu sâu các tài liệu chính cho udev nên có lẽ tôi đang xem xét một cái gì đó. Nếu bất cứ ai có bất kỳ ý tưởng nào tôi rất cởi mở để nghe họ, ngay bây giờ tôi sẽ không bao giờ khởi động lại máy chủ trừ khi tôi đang ở trên đó ..
Alex

Là các ổ đĩa thực sự quay lên trong POST? Bạn có đủ sức mạnh để tất cả chúng quay cuồng cùng một lúc không? Bạn có thể cần phải thiết lập HBA của mình cho một spinup so le, nếu nó có tùy chọn này (bất kỳ ai cũng sẽ).
Michael Hampton

@MichaelHampton Đúng là các ổ đĩa đang hoạt động và hiển thị trong công cụ cấu hình SAS và BIOS, tôi có nguồn cung cấp EVGA 1000W, các đĩa được trải ra trên 2 đường ray khác nhau, nhưng nó phải có đủ năng lượng, CPU Xeon thứ hai tôi đã thêm cũng hoạt động tốt và tôi đang vẽ khoảng 200-300W từ tường khi mọi thứ đang hoạt động. Nó giống như mô-đun hạt nhân cho HBA bị treo trong hơn 5 giây trong giai đoạn khởi động ban đầu, khiến tất cả các đĩa khác hiển thị lên nhiều về sau
Alex

Câu trả lời:


3

Cuối cùng tôi đã tìm thấy nó! Tất nhiên đó là một tham số kernel đơn giản, được tìm thấy ở đây https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameter.html

Thông số tôi đặc biệt tìm kiếm là rootdelay, tôi đã thử rootwaitnhưng dường như vẫn chưa đủ, vì nó vẫn hủy bỏ sự chờ đợi sau 10 giây. Bây giờ, nó thực sự không đợi đủ 30 giây được chỉ định, mà chỉ khoảng 10 - 15 giây tùy thuộc vào thời gian các ổ đĩa của tôi hiển thị, vì vậy việc đặt giá trị thực sự cao dường như không bị tổn thương, mặc dù tôi chỉ thiết lập 30 cho trường hợp sử dụng của tôi, mà cho đến nay dường như đã giải quyết hoàn toàn vấn đề!

Bạn có thể thêm nó vào các tham số khởi động kernel trong Grub hoặc systemd-boot.

Grub: / etc / mặc định / grub -> GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=30 quiet"

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.