这是我的故事:我注意到我的四个 RAID10 Btrfs 驱动器之一 (/dev/sde) 上存在读取错误。当我尝试使用 btrfs 发送/接收进行备份时,发生了这种情况。我购买了相同大小的新硬盘,并尝试更换发生故障的硬盘。我首先物理更换了驱动器,然后使用“降级”参数安装了 raid 阵列。我能够将新驱动器添加到阵列,然后开始重新平衡。由于另一个驱动器 (/dev/sdb) 上出现新的读取错误,重新平衡在完成约 10% 时失败。我禁用了 /dev/sdb 上的 NCQ,希望这是问题所在,但什么都没有改变。那么,我有什么选择?我可以将新驱动器添加为第五个驱动器并尝试重新平衡吗?虽然两个发生故障的驱动器都有读取错误,但两个驱动器上相同扇区出现故障的可能性非常低。如果一个读取失败,btrfs 是否足够智能,尝试从另一个 RAID10 镜像中获取数据?
答案1
1)检查各个磁盘的SMART,确保物理磁盘没有故障。
2) 备份数据,对每个磁盘进行坏块测试并重新创建 RAID10 卷。
无论如何,请尽可能地备份数据,然后再对存储进行任何操作。
顺便说一句,如果磁盘物理损坏,则两个磁盘上都可能出现坏块。