ตอบคำถามของตัวเองใน 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
ควรทำงานแม้ว่าฉันจะไม่ทราบว่าคุณต้องให้พารามิเตอร์อะไร)