บูต Linux จาก RAID1 ที่มีการลดระดับพร้อมกับ / boot ติดตั้งบน md0


0

ก่อนอื่นฉันอยากจะบอกว่าฉันใหม่มากในการจัดการอาร์เรย์ RAID ใน Linux ดังนั้นคำถามของฉันอาจพื้นฐานมาก แต่ฉันไม่สามารถหาสถานการณ์ที่แน่นอนของฉันบนอินเทอร์เน็ต

ฉันมีระบบ RAID1 ที่มี 2 HDD และติดตั้งพาร์ติชันทั้งหมดไว้ด้านบนของอาร์เรย์ RAID รวมถึงพาร์ติชัน / boot ในวันนี้ mdadm เตือนฉันว่าอาเรย์นั้นลดลง (อาจเป็นหนึ่งใน HDD ที่ล้มเหลว) และอาเรย์นั้นถูกเปลี่ยนเป็นสถานะเสื่อมโทรมโดยอัตโนมัติเมื่อฉันตรวจสอบดังนี้:

# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[0]
      204736 blocks super 1.0 [2/1] [U_]

md2 : active raid1 sdb2[0]
      151858048 blocks super 1.1 [2/1] [U_]
      bitmap: 2/2 pages [8KB], 65536KB chunk

md1 : active raid1 sdb3[0]
      4092864 blocks super 1.1 [2/1] [U_]

จากนั้นฉันก็ดำเนินการปิดเซิร์ฟเวอร์เปลี่ยนไดรฟ์ที่ล้มเหลวและพยายามบูตจากไดรฟ์ที่เหลือ แต่ตอนนี้ฉันได้รับการต้อนรับด้วยข้อความต่อไปนี้หลังจาก GRUB พยายามบูตเคอร์เนล:

Error 17: Cannot mount selected partition.

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

คำตอบ:


0

ถ้าฉันเข้าใจอย่างถูกต้องไดรฟ์แรกของคุณ ( /dev/sda ) เป็นสิ่งที่คุณได้แทนที่ นอกจากนี้อาจเป็นไปได้ว่าเมื่อติดตั้งด้วงคุณไม่ได้ติดตั้งลงในดิสก์ทั้งสองตามต้องการด้วยการติดตั้ง RAID1

ปัญหาคือว่าด้วงกำลังค้นหาฮาร์ดไดรฟ์ตัวแรกซึ่งไม่ได้ติดตั้งด้วงไว้ ค้นหาทางอินเทอร์เน็ตอย่างรวดเร็วสำหรับปัญหาที่เกิดขึ้น: https://www.novell.com/support/kb/doc.php?id=7010670 . ดูขั้นตอนที่นั่นและในหน้าเว็บที่เกี่ยวข้องและแก้ไขได้ตามต้องการ สำหรับ /dev/sdb คุณจะต้องใช้ hd1 ในด้วง


ขออภัยสำหรับความคิดเห็นที่ล่าช้า ตอนนั้นฉันอ่านมัน แต่ก็ไม่ได้ช่วยฉันจริงๆ ดูเหมือนว่าจะอ้างถึงมรดกด้วง โปรดอ่านคำตอบของฉันด้านบนโดยละเอียดว่าฉันแก้ไขมันได้อย่างไร
Railander

0

ตอบคำถามของตัวเองใน 2 ปีที่ผ่านมา ...

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

ทุกอย่างที่ฉันพูดถึงนี่ทำด้วย:

  • CentOS 7 ด้วย ml เคอร์เนลจาก ELRepo.
  • อุปกรณ์ทั้งสองถูกเพิ่มเข้าไปใน raid1 ระหว่างการติดตั้งระบบปฏิบัติการ ( ชอบมาก ) และ ทั้งหมด พาร์ติชั่นติดตั้งอยู่ด้านบนของ raid1 ( /boot, / และ swap ) LVM หรือดูเหมือนจะไม่สร้างความแตกต่างเกี่ยวกับหัวข้อนี้
  • เช่นเดียวกับการติดตั้ง CentOS 7 เริ่มต้นมันมาพร้อมกับ GRUB2 แทนที่จะเป็นมรดก GRUBความแตกต่างที่ยิ่งใหญ่ของเอกสารส่วนใหญ่ที่คุณพบว่าเกี่ยวกับ v1
  • การตั้งค่าของฉัน ไม่ มี EFI กั้น จากสิ่งที่ฉันพบ EFI ไม่ทำงานบน RAID ดังนั้นความสนใจอย่างมากที่นี่เนื่องจากขั้นตอนด้านล่างไม่สามารถทำงานได้อย่างถูกต้องหากคุณมี EFI

เห็นได้ชัดว่าปัญหาคือ CentOS ติดตั้ง bootloader (GRUB2) ลงในอุปกรณ์ทางกายภาพเครื่องแรกเท่านั้น เห็นได้ชัดว่ามันใช้ขนาดเล็ก MSDOS partition (เป็นพาร์ทิชันคำศัพท์ที่ถูกต้องหรือไม่อาจเป็น 'flag'?) ที่ไม่สามารถทำงานบน RAID ด้วยเหตุนี้แม้การเปลี่ยนดิสก์จะทำให้ระบบไม่สามารถบู๊ตได้แม้ว่าดิสก์รองจะมีสำเนาของระบบเต็ม แต่ก็ไม่มีบูทโหลดเดอร์

ตอนนี้เพื่อสำรวจวิธีการแก้ปัญหาซึ่งหวังว่าจะตรงไปตรงมาพอ: คัดลอก bootloader จากดิสก์หลักไปยังดิสก์รอง

ฉันไม่แน่ใจว่าจะดำเนินการต่ออย่างไรเพราะไม่รู้ว่า bootloader เรียกอุปกรณ์อย่างไร บางทีการทำมิเรอร์ bootloader จากอันแรกอาจทำให้เกิดข้อขัดแย้งดังนั้นมันจึงเป็นไปได้ที่ฉันจะต้องกลับรายการเพื่อให้รู้ว่าอุปกรณ์ใดเป็นอุปกรณ์ตัวใด

จากการสำรวจในครั้งนี้ฉันพบวิธีแก้ปัญหาที่จะใช้ dd เพื่อคัดลอก bootloader ไปยังดิสก์ที่สอง ฉันได้พบโพสต์จากผู้ใช้ที่บอกว่าพวกเขาทำอย่างนั้นและทำงานตลอดเวลา แต่สำหรับฉันไม่ว่าด้วยเหตุผลใดก็ตาม

พยายามทำความเข้าใจให้ดีขึ้นว่า GRUB2 ทำงานได้อย่างไรฉันพบว่ามันมีเครื่องมือ 'ติดตั้ง' ที่เพิ่ม bootloader ไปยังอุปกรณ์ที่ต้องการได้อย่างง่ายดายและ voila เป็นสิ่งที่ฉันต้องการ! สิ่งที่ฉันต้องทำคือ:

grub2-install /dev/sdb

จากนั้นหลังจากทำการสลับดิสก์ระบบยังคงบู๊ตตามที่คาดไว้! ครึ่งหนึ่งของภารกิจสำเร็จ

จากนั้นหลังจากยืนยันว่าอุปกรณ์ทั้งสองสามารถบู๊ตได้ฉันต้องลบดิสก์ที่ล้มเหลว (ตอนนี้ 'sdb') จากอาเรย์ (เอกสารประกอบของสิ่งนี้สามารถหาได้ออนไลน์มันเกี่ยวข้องกับการทำเครื่องหมายอุปกรณ์ว่าล้มเหลวแล้วนำออกจากอาเรย์) เปลี่ยนมันเป็นดิสก์ใหม่จากนั้นก็เพิ่มมันกลับไปที่อาร์เรย์ mdadm และหวังว่ามันจะเริ่มทำการซิงค์โดยอัตโนมัติ (คุณสามารถดูความคืบหน้าด้วย watch cat /proc/mdstat )

นอกจากนี้อย่าลืมเรียกใช้ grub2-install อีกครั้งบนอุปกรณ์ใหม่หลังจากเสร็จสิ้น

หวังว่านี่จะช่วยให้คนอื่นประสบปัญหาเดียวกัน

หากคุณมีพาร์ติชัน EFI คุณอาจต้องหาวิธีคัดลอกไปยังจุดเริ่มต้นของอุปกรณ์รอง ( dd ควรทำงานแม้ว่าฉันจะไม่ทราบว่าคุณต้องให้พารามิเตอร์อะไร)

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