James Asked: 2016-09-30 20:14:32 +0800 CST2016-09-30 20:14:32 +0800 CST 2016-09-30 20:14:32 +0800 CST RAID 中的哪个驱动器有坏扇区? 772 我使用 LSI MegaRaid SAS 控制器在单个虚拟驱动器中有 4 个物理驱动器。似乎(至少)其中一个驱动器有坏扇区,因为: 尝试备份某些文件时发生 io 错误 运行badblocks报告一些坏扇区 我希望解决问题就像换掉有问题的磁盘并重建 RAID 阵列一样简单。我认为 LSI MegaRaid WebBIOS 可以让我识别有问题的磁盘,但我找不到任何检查坏扇区的选项。 下面是 WebBIOS 的截图: 任何人都可以就如何识别有问题的磁盘提供任何建议吗? raid hardware-raid lsi bad-blocks megaraid 3 个回答 Voted Best Answer Spooler 2016-09-30T21:56:19+08:002016-09-30T21:56:19+08:00 Smartmontools 具有允许它通过 LSI(以及其他)RAID 阵列轮询驱动器以获取 SMART 数据的扩展。通常,这不是您可以做的事情,因为 RAID 抽象模糊了与驱动器的直接接口。 Smartmontools 可能未安装在您的计算机上。但是,它是大多数发行版的大多数“主要存储库”的原生版本,甚至还有一个 Windows 版本:http: //sourceforge.net/projects/smartmontools/files/ 它可用于轮询 LSI MegaRAID 控制器后面的驱动器,如下所示: smartctl -a -d megaraid,N /dev/sdX 其中“-a”表示显示所有磁盘数据,-d 表示设备类型(在您的情况下是 megaraid 类型),后跟 N 表示该控制器中的驱动器号。要访问插槽 0 中的驱动器,请在此处输入 0。如果您希望轮询所有四个驱动器,请运行此命令四次,将 N 替换为 0 到 3。sdX 是 RAID 抽象本身,在操作系统中通常可以看到。你的可能是 sda。 您将看到每个驱动器的长输出,而您正在寻找的是报告的一般 SMART 故障(您可能找不到,因为您的控制器没有拒绝驱动器),或者报告“离线不可纠正扇区”或“待定部门”。此字段中任何大于 0 的驱动器都是错误的。不应该对这些字段给予怜悯,因为需要大量失败的读取才能将任一值加一。 您也可以像这样执行短期或长期测试(适用上述相同规则): smartctl -t [long|short] -d megaraid,N /dev/sdX Simon Richter 2016-10-01T00:39:43+08:002016-10-01T00:39:43+08:00 如果 RAID 将错误传递给您,那么显然是有问题无法静默纠正。 如果您收到读取错误,则意味着这些块的所有冗余副本都已被销毁。故障驱动器不会弹出,因为没有备用驱动器。 如果出现写入错误,则意味着一个驱动器继续报告写入错误,并且 RAID 无法弹出它,因为它当前不是冗余的。您永远不会在冗余设置中看到写入错误,因此如果出现,请更换控制器。 如果您可以添加更多磁盘,请创建第三个镜像 - 恢复会抱怨,您将需要检查文件系统,但您应该尽可能多地保留完整的数据,我希望有任何好处控制器然后踢出所有损坏的磁盘。 重新进行干净设置后,请设置计划检查以在这些错误成为问题之前将其捕获。 Vikelidis Kostas 2016-09-30T21:46:47+08:002016-09-30T21:46:47+08:00 如果您使用的是 Linux 或 Windows,请引导您的系统并使用 megacli 实用程序。 megacli -pdlist -aALL 在结果中检查“固件状态”行。降级的磁盘将显示为: Firmware state: Offline
Smartmontools 具有允许它通过 LSI(以及其他)RAID 阵列轮询驱动器以获取 SMART 数据的扩展。通常,这不是您可以做的事情,因为 RAID 抽象模糊了与驱动器的直接接口。
Smartmontools 可能未安装在您的计算机上。但是,它是大多数发行版的大多数“主要存储库”的原生版本,甚至还有一个 Windows 版本:http: //sourceforge.net/projects/smartmontools/files/
它可用于轮询 LSI MegaRAID 控制器后面的驱动器,如下所示:
smartctl -a -d megaraid,N /dev/sdX
其中“-a”表示显示所有磁盘数据,-d 表示设备类型(在您的情况下是 megaraid 类型),后跟 N 表示该控制器中的驱动器号。要访问插槽 0 中的驱动器,请在此处输入 0。如果您希望轮询所有四个驱动器,请运行此命令四次,将 N 替换为 0 到 3。sdX 是 RAID 抽象本身,在操作系统中通常可以看到。你的可能是 sda。
您将看到每个驱动器的长输出,而您正在寻找的是报告的一般 SMART 故障(您可能找不到,因为您的控制器没有拒绝驱动器),或者报告“离线不可纠正扇区”或“待定部门”。此字段中任何大于 0 的驱动器都是错误的。不应该对这些字段给予怜悯,因为需要大量失败的读取才能将任一值加一。
您也可以像这样执行短期或长期测试(适用上述相同规则):
smartctl -t [long|short] -d megaraid,N /dev/sdX
如果 RAID 将错误传递给您,那么显然是有问题无法静默纠正。
如果您收到读取错误,则意味着这些块的所有冗余副本都已被销毁。故障驱动器不会弹出,因为没有备用驱动器。
如果出现写入错误,则意味着一个驱动器继续报告写入错误,并且 RAID 无法弹出它,因为它当前不是冗余的。您永远不会在冗余设置中看到写入错误,因此如果出现,请更换控制器。
如果您可以添加更多磁盘,请创建第三个镜像 - 恢复会抱怨,您将需要检查文件系统,但您应该尽可能多地保留完整的数据,我希望有任何好处控制器然后踢出所有损坏的磁盘。
重新进行干净设置后,请设置计划检查以在这些错误成为问题之前将其捕获。
如果您使用的是 Linux 或 Windows,请引导您的系统并使用 megacli 实用程序。
在结果中检查“固件状态”行。降级的磁盘将显示为: