当 RAID 1 重建 /dev/sda 时,是否可以从 /dev/sdb 重新启动服务器?

当 RAID 1 重建 /dev/sda 时,是否可以从 /dev/sdb 重新启动服务器?

我有一台专用服务器,其中有一个 Raid I,/dev/sda/dev/sdb开始/dev/sda出现故障,所以我订购了它的替代品。干预后,服务器进入救援模式,我没有从支持人员那里得到任何信息,所以我一直在尝试让它恢复。

我意识到,即使他们更换了有缺陷的硬盘,他们也懒得复制分区/dev/sdb并将新硬盘添加到mdadm。因此,在我自己完成这些操作后,我看到/proc/mdstat恢复正在进行中。

root@rescue:/mnt/etc# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] 
md2 : active raid1 sda2[0] sdb2[1]
      523200 blocks [2/2] [UU]

md3 : active raid1 sda3[0] sdb3[1]
      20478912 blocks [2/2] [UU]

md4 : active raid1 sdb4[1] sda4[2]
      3884961728 blocks [2/1] [_U]
      [====>................]  recovery = 22.4% (872776320/3884961728) finish=254.3min speed=197355K/sec
      bitmap: 1/29 pages [4KB], 65536KB chunk

unused devices: <none>

我在备份中搜索了 fstab 上适当的根分区:

# <file system> <mount point> <type>  <options> <dump>  <pass>
/dev/md3  / ext4  errors=remount-ro,usrjquota=quota.user,jqfmt=vfsv0  0 1
/dev/md2  /boot ext4  errors=remount-ro 0 1
/dev/md4  /home ext4  defaults,usrquota 1 2
/dev/sda5 swap  swap  defaults  0 0
/dev/sdb5 swap  swap  defaults  0 0
proc    /proc proc  defaults    0 0
sysfs   /sys  sysfs defaults    0 0
/dev/sda1 /boot/efi vfat  defaults  0 0
tmpfs   /dev/shm  tmpfs defaults  0 0
devpts    /dev/pts  devpts  defaults  0 0
/usr/tmpDSK             /tmp                    ext3    defaults,noauto        0 0

并且我通过从救援模式安装它来确保它是完好的。

然后我尝试通过网络启动指定 /dev/md3 作为根分区。然而当我尝试这样做时,服务器立即进入紧急模式,解释 /dev/sda 存在一些问题(我猜是因为它仍在重建)。

FAT-fs (sda1): bogus number of reserved sectors
FAT-fs (sda1): Can't find a valid FAT filesystem

我无法通过登录提示,因为我的 root 密码似乎无法识别,所以我真的不知道 journalctl -xb 的结果显示什么,但我想该硬盘的校验和没有加起来。

问题是,有没有什么办法可以使用 raid 重新启动服务器,但在重建 RAID 时优先考虑 /dev/sdb?我知道每次重启都会使 mdadm 修复过程回到 0%,所以我现在试图完全确定如果我尝试其他方法它是否会起作用。

答案1

/dev/sda1 /boot/efi vfat  defaults  0 0

您的 UEFI ESP 不在磁盘阵列上。需要它来启动,但它实际上不能是阵列。

恢复工作文件系统。从备份中恢复它,或重新安装它。系统管理员指南是:

yum reinstall grub2-efi shim

(理论上,您可以使用 mdadm 重新同步 efi 磁盘。问题是,各个成员可能会通过阵列外的 EFI 固件进行更新,因此这非常丑陋且容易受到黑客攻击。)

相关内容