我有一个硬盘不在 RAID 阵列中。我想基于 sdb 表在 sda 上创建分区表,我发出了以下命令:
sfdisk -d /dev/sda | sfdisk /dev/sdb --force
我知道这里的 --force 参数不好,命令也是错误的,正确的命令是:
sfdisk -d /dev/sdb | sfdisk /dev/sda
现在我有 2 个问题,sda 仍然不在 raid 阵列中,并且 sdb 分区表是空的。
我的服务器现在如下所示:http://pastebin.com/uMKvUwbL。
我的问题是,如何恢复 sdb(我不知道执行后文件是否被删除sfdisk -d /dev/sda | sfdisk /dev/sdb --force
)以及如何将 sda 添加回 raid 阵列。
答案1
我的尝试是:
救援 sdb
sfdisk -d /dev/sdc | sfdisk /dev/sdb
sdb 仍在 raid 中,但目前无法在重启后继续存在。请确保在对此框执行任何其他操作之前先执行此操作。写入分区表时不会触及磁盘上的实际数据。之后,您将拥有 4 个成员中的 3 个 raid 10,它们将在重启后继续存在,因此下一步操作是:
将 sda 添加回 raid
sfdisk -d /dev/sdc | sfdisk /dev/sda
如果sda
之前曾经是团队成员:
mdadm --zero-superblock /dev/sdaX
(X 代表所有分区)
在您的粘贴中,我没有看到任何针对 md 的故障设备(已被您删除?),因此我会继续将设备添加到相应的 md,mdadm --manage /dev/mdX --add /dev/sdbX
因为似乎不需要更换故障设备。