無法在 BIOS 和作業系統(Ubuntu 伺服器 20.04.4)中重建 Raid 1 陣列(英特爾 RST Raid 1)
我們有配備 Ubuntu 20.04.4 LTS 的 HP 伺服器 HP ProLiant ML10 Gen 9。我們使用 Intel RST Raid 配置(這是一個假/韌體 raid)為兩個 HDD 大小的 2TB 啟用了 Raid 1 陣列。現在我的目標是更換故障驅動器並重建 Raid 1 陣列。
以下是 Raid 狀態cat /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 –manage /dev/md126 –fail /dev/sdb我關閉了系統並更換了同一埠中的硬碟。
現在,當我嘗試使用此命令mdadm –manage /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
現在cat /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 選項,我已在 BIOS 設置中的 SATA 配置下將OROM UI 正常延遲設置為 4 秒。但我無法讓那個螢幕在 BIOS 中重建陣列。如果有人可以幫助我重建和恢復 Raid 1 陣列,那將是一個很大的幫助。
所以我回答我自己的問題是為了每個必須處理這些類型的假突襲控制器的人的利益。
這是我發現的
有趣的是md126不是這裡的主要 RAID 陣列,它是md127,所以我所做的就是將這個新驅動器重新添加到 md127 :
mdadm --manage /dev/md127 --force --add /dev/sdb
突襲開始自我重建。
現在cat/proc/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 螢幕中。英特爾 RST RAID 卷狀態為正常。
以下是我用來成功恢復此 RAID 1 陣列的命令列表。
檢查突襲狀態:
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 開始重建。