我在软件 raid 0 上运行 Ubuntu 10.04 Server。昨天,我让它连续运行了 10 个小时,当我回来时,电脑变得很奇怪。我无法关闭它。它显示“总线错误”或类似内容。因此,我按住电源按钮 4 秒钟强制关机。然后我将其重新打开。然后灾难来了:raid 坏了。系统不断转储“失败命令:READ DMA EXT”。我尝试从备用 CD 救援模式运行 fsck.ext4 /dev/md0,但 fsck.ext4 随后显示:“尝试从文件系统读取块导致短读”。因此,我使用 Hiren CD 并运行硬盘驱动器扫描仪,在第二个硬盘驱动器上找到 12 个坏扇区(在驱动器的最末端:我记得从开始到现在超过 80%),它告诉软件修复这 12 个坏扇区,但我怀疑 Ubuntu 是否理解修复方法。
我再次运行备用 CD 救援模式,并执行 e2fsck /dev/sda,但它说设备或资源正忙。
天啊,为什么 12 个坏扇区会搞乱我的整个 RAID。我该怎么做才能让我的 RAID 和 Ubuntu 重新工作?
压/冲:一旦我恢复工作,我就会切换到 RAID 5。我发誓。
答案1
RAID 0 没有冗余,因此错误会破坏整个阵列。您是否将其与 RAID 1(镜像)混淆了?
答案2
您能告诉我们您的 RAID 0 阵列是如何设置的吗?我的印象是它由 2 个物理驱动器组成:/dev/sda + /dev/sdb
并且生成的设备是 /dev/md0。现在您谈论的是 /dev/md1。 和 呢/dev/md0 = /dev/sda1 + /dev/sdb1
?/dev/md1 = /dev/sda2 + /dev/sdb2
如果是这样 - 当您仅在其中一个设备上运行它时,您如何修复 md0 文件系统(分布在 2 个设备/分区上)?这是 RAID 0,而不是 1。
有趣的是 /dev/sda1、/dev/sda2、/dev/sdb1、/dev/sdb2 都无法无错误地进行 fsck。
-> 是否是相同的“超级块无效”错误?
答案3
设备或资源繁忙
此错误消息是因为您的 RAID 守护程序已打开。如果是 RHEL/CentOS,您可以通过以下命令停止 RAID 服务/守护程序:
mdadm --stop
停止 RAID 后,使用 fsck -fyC /dev/sda 检查文件系统
f - stands for force
y - stands for yes to all
C - stands for progress bar