เพิ่มการหมดเวลาการตรวจจับดิสก์ขณะบู๊ตด้วย Linux / Systemd


11

ฉันมีเครื่องที่มีดิสก์จำนวนมากและคอนโทรลเลอร์ SAS พิเศษในโหมด HBA ดูเหมือนว่าจะทำให้ Linux คิดอย่างน้อย 8-10 วินาทีใน initramfs ก่อนที่ดิสก์จะปรากฏขึ้นจริง หมดเวลาสำหรับการตรวจหาดิสก์คือ 10 วินาที สิ่งนี้ทำให้ BTRFS / MDADM / etc ไม่สามารถติดตั้ง RAID1 ที่ฉันมีในระบบของฉันทำให้ฉันไปที่เชลล์ฉุกเฉินจากที่ที่ฉันสามารถติดตั้งดิสก์ได้จริงและดำเนินการต่อได้

คำถามของฉันคือฉันจะเพิ่มการหมดเวลานี้ตอนบูตได้อย่างไรจาก 10 วินาที? มันอยู่ใน systemd หรือไม่ ใน udev ไหม ที่อื่น? ฉันไม่แน่ใจว่าจะเริ่มมองหาที่ไหนและ googling เกี่ยวกับปัญหานี้ส่วนใหญ่ดูเหมือนว่าจะทำให้คนที่ต้องการเพิ่มการหมดเวลาของ I / O หรือช่วงเวลาอื่น (scsi / lun / etc) แต่ฉันไม่ได้หามัน


1
IDK เช่นกัน แต่ปัญหาการหน่วงเวลาการบูตมัลติพา ธนี้อาจเกี่ยวข้องหรืออาจนำไปสู่การแก้ปัญหาของคุณ?
rickhg12hs

@ rickhg12hs ฉันได้ลองใช้พารามิเตอร์ udev ที่กล่าวถึงในโพสต์แล้ว แต่มันก็ยังคงรอ 10 วินาทีสำหรับอุปกรณ์แรกและจากนั้นบางครั้งก็ดรอปลงในเปลือกฉุกเฉินเมื่อมันผ่านเกณฑ์ ... ขอบคุณสำหรับเคล็ดลับแม้ว่าฉันจะ ลองทำเล่นกับ udev ..
อเล็กซ์

ฉันยังไม่ได้คิดออกมาฉันคิดว่ามันเป็นพารามิเตอร์การรวบรวมเคอร์เนล แต่ฉันยังไม่ได้เจาะลึกเอกสารหลักสำหรับ udev ดังนั้นบางทีฉันอาจมองเห็นบางสิ่งบางอย่าง หากใครมีความคิดใด ๆ ฉันเปิดกว้างมากที่จะได้ยินพวกเขาตอนนี้ฉันก็ไม่เคยรีบูตเครื่องเซิร์ฟเวอร์ยกเว้นเมื่อฉันในสถานที่ ..
Alex

ไดรฟ์หมุนวนอย่างแท้จริงระหว่าง POST หรือไม่ คุณมีพลังมากพอที่จะทำให้พวกเขาทั้งหมดหมุนขึ้นในครั้งเดียวหรือไม่? คุณอาจจำเป็นต้องตั้งค่า HBA ของคุณสำหรับสปินอัพที่เซถ้ามันมีตัวเลือกนี้
Michael Hampton

@MichaelHampton ใช่แล้วไดรฟ์ใช้งานได้และแสดงในเครื่องมือปรับแต่ง SAS และ BIOS ฉันมีแหล่งจ่ายไฟ 1000W EVGA ดิสก์กระจายออกจากรางที่แตกต่างกัน 2 ราง แต่ tbh ควรมีพลังงานเพียงพอซีพียู Xeon ตัวที่สองที่ฉันเพิ่ม ยังใช้งานได้ดีและฉันกำลังวาดประมาณ 200-300W จากกำแพงเมื่อทุกอย่างทำงานและ .. มันเป็นเหมือนโมดูลเคอร์เนลสำหรับ HBA แฮงค์เป็นเวลา 5+ วินาทีในช่วงเริ่มต้นการบูตทำให้ดิสก์อื่น ๆ ที่จะแสดง มากขึ้นในภายหลังเช่นกัน
อเล็กซ์

คำตอบ:


3

ในที่สุดฉันก็พบมัน! แน่นอน แต่เป็นพารามิเตอร์เคอร์เนลอย่างง่ายพบได้ที่นี่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]

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.