我的 MD RAID 1 中的一个磁盘发生故障,我已将其更换。现在系统在 /dev/sdb 上运行,/dev/sda 为空白。虽然磁盘不完全相同(SAMSUNG HD753LJ 与 SAMSUNG HD754JJ),但我确保它们的大小完全相同:
Disk /dev/sda: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
Disk /dev/sdb: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
为了重新创建 RAID,我需要将分区表从 sdb 复制到 sda。但是,当我运行“sfdisk -d /dev/sdb |sfdisk /dev/sda”时,我收到错误消息“/dev/sda6:起始扇区 70266880 超出范围。”
这是现有的分区布局:
/dev/sdb1 2048 1050624 1048577 512M fd Linux raid autodetect
/dev/sdb2 1052672 17829888 16777217 8G fd Linux raid autodetect
/dev/sdb3 17831936 59774976 41943041 20G fd Linux raid autodetect
/dev/sdb4 59777024 1465149167 1405372144 670.1G f W95 Ext'd (LBA)
/dev/sdb5 59779072 70264832 10485761 5G fd Linux raid autodetect
/dev/sdb6 70266880 1465147120 1394880241 665.1G 83 Linux
当尝试使用 fdisk 手动设置磁盘布局时,结果是相同的:我创建了三个主分区和扩展分区,我在扩展分区内创建了第一个分区(到目前为止所有内容完全相同),在第二个分区上,它提供:
First sector (70266881-1465149167, default 70268928):
输入 70266880 后,出现“值超出范围”的情况。
知道这里出了什么问题吗?我怎样才能让 RAID 重新工作?
答案1
我找到了至少一个解决方法:parted 可以无提示地创建分区。仍然不确定 sfdisk 为何拒绝。复制 MBR 适用于主分区,但不幸的是,它不会复制扩展分区。如果所有其他方法都失败了,另一种可能性是复制整个磁盘。复制过程中对数据的更改无关紧要,因为我只需要分区结构,但这当然会花费一些时间并给系统带来不必要的负载。