我們有 HP 伺服器 HP ProLiant ML10 Gen 9 和 Ubuntu 20.04.4 LTS。我們使用 Intel RST Raid 配置(這是一個假/韌體 raid)為兩個 2TB 硬碟啟用了 Raid 1 陣列。現在我的目標是更換故障的磁碟機並重建 Raid 1 陣列。
以下是 Raid Status 的輸出貓 /proc/mdstat
surya@himalaya:~$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md126 : active raid1 sda[1] sdb[0]
1953511424 blocks super external:/md127/0 [2/2] [UU]
md127 : inactive sda[1](S) sdb[0](S)
6320 blocks super external:imsm
unused devices: <none>
以下是 HDD info lsblk 的輸出
surya@himalaya:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 61.9M 1 loop /snap/core20/1361
loop1 7:1 0 67.9M 1 loop /snap/lxd/22526
loop2 7:2 0 55.5M 1 loop /snap/core18/2284
loop3 7:3 0 43.6M 1 loop /snap/snapd/14978
loop4 7:4 0 55.4M 1 loop /snap/core18/2128
loop5 7:5 0 43.6M 1 loop /snap/snapd/15177
loop6 7:6 0 67.2M 1 loop /snap/lxd/21835
loop7 7:7 0 61.9M 1 loop /snap/core20/1376
sda 8:0 0 1.8T 0 disk
└─md126 9:126 0 1.8T 0 raid1
├─md126p1 259:0 0 1.1G 0 part /boot/efi
├─md126p2 259:1 0 1.5G 0 part /boot
└─md126p3 259:2 0 1.8T 0 part
├─ubuntu--vg-ubuntu--lv 253:0 0 100G 0 lvm /
└─ubuntu--vg-lv--0 253:1 0 1.7T 0 lvm /home
sdb 8:16 0 1.8T 0 disk
└─md126 9:126 0 1.8T 0 raid1
├─md126p1 259:0 0 1.1G 0 part /boot/efi
├─md126p2 259:1 0 1.5G 0 part /boot
└─md126p3 259:2 0 1.8T 0 part
├─ubuntu--vg-ubuntu--lv 253:0 0 100G 0 lvm /
└─ubuntu--vg-lv--0 253:1 0 1.7T 0 lvm /home
sr0 11:0 1 1024M 0 rom
我使用以下命令替換故障的磁碟機 sdb,如上所示。
mdadm --管理 /dev/md126 --fail /dev/sdb我關閉了系統並更換了同一連接埠中的硬碟。
現在當我嘗試使用此命令重建陣列時mdadm --管理 /dev/md126 --add /dev/sdb我收到以下訊息。
root@himalaya:~# mdadm --manage /dev/md126 --add /dev/sdb
mdadm: Cannot add disks to a 'member' array, perform this operation on the parent container
現在的輸出貓 /proc/mdstat在下面。
root@himalaya:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md126 : active raid1 sda[0]
1953511424 blocks super external:/md127/0 [2/1] [U_]
md127 : inactive sda[0](S)
3160 blocks super external:imsm
unused devices: <none>
我還嘗試使用(Ctrl + i)在 BIOS 中輸入 Intel ROM 選項,我已設置OROM UI正常延遲為4秒在下面BIOS 設定中的 SATA 配置。但我無法在 BIOS 中看到該畫面來重建陣列。如果有人可以幫助我重建和恢復 Raid 1 陣列,那將是一個很大的幫助。
答案1
因此,為了每個必須處理這些類型的假攻擊控制器的人的利益,我回答我自己的問題。
這是我發現的
有趣的是MD126這裡不是主要的 RAID 陣列,而是MD127,所以我所做的就是將這個新驅動器重新添加到 md127:
mdadm --manage /dev/md127 --force --add /dev/sdb
突襲開始自我重建。
現在的結果貓/過程/mdstat是:
root@himalaya:~# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md126 : active raid1 sda[1] sdb[0]
1953511424 blocks super external:/md127/0 [2/2] [UU]
md127 : inactive sdb[1](S) sda[0](S)
6320 blocks super external:imsm
unused devices: <none>
這些變化也反映在 BIOS 螢幕上。 Intel RST RAID 磁碟區狀態為正常。
以下是我用來成功恢復此 RAID 1 陣列的命令清單。
要檢查 Raid 狀態:
cat /proc/mdstat
刪除故障磁碟:首先我們將磁碟標記為故障,然後將其從陣列中刪除:
mdadm --manage /dev/md126 --fail /dev/sdb
mdadm --manage /dev/md126 --remove /dev/sdb
然後關閉系統電源並更換新驅動器:
shutdown -h now
新增硬碟:首先,您必須建立與 /dev/sda 完全相同的分割區:
sfdisk -d /dev/sda | sfdisk /dev/sdb
要檢查兩個硬碟是否具有相同的分割區:
fdisk -l
接下來我們將此磁碟機新增至 RAID 陣列(您可以相應地使用 md126 或 md127,以您的主 RAID 陣列為準),以下是我使用的命令:
mdadm --manage /dev/md127 --force --add /dev/sdb
就是這樣。現在您可以看到 Raid 開始重建。