我们有一台 HP 服务器 HP ProLiant ML10 Gen 9,搭载 Ubuntu 20.04.4 LTS。我们使用 Intel RST Raid 配置(这是一个假的/固件 raid)为两个 2TB 大小的 HDD 启用了 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 --manage /dev/md126 --fail /dev/sdb我关闭了系统并在同一端口更换了硬盘。
现在当我尝试使用此命令重建阵列时mdadm --管理/dev/md126 --添加/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
而突袭队则开始重建。
现在的结果猫/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 屏幕上。Intel 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 开始重建。