Linux RAID 1:如何進行二級 HD 引導?
我在 Centos 6.5 伺服器上有以下 RAID 1:
# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdb1[3] 974713720 blocks super 1.0 [2/1] [_U] bitmap: 7/8 pages [28KB], 65536KB chunk md1 : active raid1 sdb2[3] sda2[2] 2045944 blocks super 1.1 [2/2] [UU] unused devices: <none> # df -h Sist. Arq. Size Used Avail Use% Montado em /dev/md0 915G 450G 420G 52% / tmpfs 7,8G 0 7,8G 0% /dev/shm
/dev/sda 即將失敗。我什至將它標記為有故障,因為它會導致讀取錯誤。
我今天得到了新的 HD,它將取代 /dev/sda。
問題是當我拔掉目前的 /dev/sda 時,我不能只用 /dev/sdb 讓它啟動。看起來 PC 的 BIOS 在 /dev/sdb 上找不到任何可引導的內容。
如何檢測 /dev/sdb 的 MBR 中是否安裝了 grub?
在 /dev/sdb 中執行 grub-install 是否安全?這是使其可啟動的正確方法嗎?
- 如何檢測 /dev/sdb 的 MBR 中是否安裝了 grub?
您可以發出:
# dd if=/dev/sda bs=512 count=1 | xxd | grep -i grub 1+0 records in 1+0 records out 512 bytes (512 B) copied, 0.00103986 s, 492 kB/s 0000180: 4752 5542 2000 4765 6f6d 0048 6172 6420 GRUB .Geom.Hard
- 在 /dev/sdb 中執行 grub-install 是否安全?這是使其可啟動的正確方法嗎?
是的,您需要
grub
在陣列中的兩個磁碟上都安裝。
你標記了軟體RAID,所以學習grub可以幫助:RAID失敗後如何啟動(軟體RAID)?
GRUB Legacy 在 /boot/grub/device.map 文件中辨識 HDD 設備並將它們映射到 Linux 設備。GRUB Legacy(引導管理器)文件辨識磁碟的方式與 Linux 不同。第一個磁碟將被標識為 (hd0),而不是 /dev/sda。
grub 命令的教程可以在網上其他地方找到。
本質上,連結中的作者執行 grub 命令,其中每個 Linux 設備都被視為 GRUB Legacy 的同一個驅動器(因為它根據 device.map 文件看到它),例如所有三個磁碟的 (hd0) 而不是 (hd1)等。這確保了 (hd0) 和 /dev/sda 等之間的正確映射,以實現冗餘目的。
但是,連結作者指出的解決方案不會修改 MBR。需要在磁碟故障之前完成備用軟體RAID 特定解決方案;否則,您將需要一個啟動磁碟/設備。對於 RAID 1 陣列的每個磁碟,每個磁碟的 MBR 應該相同,即使使用 LVM。MBR 引導載入程序不能將系統引導到另一個磁碟,只能引導到同一個引導標記分區的 GRUB Legacy,否則它將繞過引導扇區並載入核心(取決於程式碼),並且只能在同一個磁碟內。