如果只有1个硬盘出现故障,RAID 4磁盘设置是否可以崩溃?[关闭]


9

我是网页开发人员。我没有太多的硬件经验。因此,我使用托管服务器。

今天早上,我们设置中的驱动器之一发生了故障。但是,整个站点都崩溃了。我问我的网络主机发生了什么,他回答说硬盘发生故障,导致RAID控制器无法正常工作。阵列设置为RAID 4。

你们以前见过吗?可能吗?

感谢您对这家伙的任何帮助。我需要知道我的虚拟主机是否对我诚实。


如果阵列中的多个磁盘死亡,则RAID将失败(尽管它取决于RAID设置)。
Rhys Evans

简而言之,您的提供商是a ******,并且价格便宜。只要您已警告客户该客户的基础架构不能容错驱动器故障,那么这完全可以接受。
Luke404

请使用RAID类型(即RAID 0、1、4、5、6等)更新问题。
Trevor Boyd Smith

Answers:


22

您的提供商很有可能正在使用并非要在RAID中使用的硬盘。普通的消费者SATA驱动器属于此类。

可能的问题是驱动器开始出现不可纠正的读取错误(URE)。当在消费型驱动器中发生这种情况时,驱动器会坐在那里,然后重试读取操作(通常需要30-60秒),直到它放弃。RAID将等待驱动器报告错误(30-60)秒。因此,对几个扇区的简单请求很容易导致服务器崩溃,而发生故障的驱动器通过这些读取重试操作而崩溃。

用于RAID阵列的驱动器具有限时错误恢复功能(对于SATA驱动器)。TLER迅速将故障报告给控制器,以便控制器可以智能地响应此类故障(主要是智能地;希望如此)。SCSI(也是SAS)的工作方式有所不同。SCSI命令集允许控制器在驱动器上指定各种恢复工作量限制(模式选择:RW ERR RECOVERY)。RAID控制器应将驱动器设置为快速故障,然后控制器可以使用TUR命令测试驱动器是否认为其正常工作,如果存在检查条件,则将驱动器从阵列中排除。


很好的解释。
sbrattla

11

是的,即使在您认为阵列应该在故障中幸免的情况下,这也是可能的。

关于数组为什么失败的一些可能性:

  • 发生故障的驱动器数量超过RAID模式所能承受的数量。例如:
    • RAID 0(条带化)无法承受任何驱动器故障。
    • RAID 1可以承受除1个驱动器之外的所有驱动器的故障。
    • RAID 4/5可以承受1个驱动器故障。
    • RAID 6可以承受2个驱动器故障。
    • RAID 10可以承受多达50%的驱动器故障,具体取决于哪些驱动器发生故障。
  • RAID软件或控制器固件中的错误。
  • 用户错误。
    • 有人拉了太多驱动器。
    • 有人拉了一个驱动器,但从未更换过它,随后另一个驱动器发生了故障。
    • 未监视该阵列,从而使更多的驱动器发生故障,无法幸免。
  • 众所周知,带有消费级驱动器的廉价控制器即使在其他情况下仍然可以幸免。
    • 消费者级别的驱动器将几乎无限期地尝试读取坏扇区,直到获得良好的读取为止。廉价的控制器几乎无限期地等待这种驱动器返回结果。等待时间可能太长,导致操作系统放弃。然后,在重新启动时,驱动器对控制器的响应速度不够快,并认为阵列出现故障。
    • 另一方面,企业级驱动器将快速放弃,允许控制器从另一个驱动器中提取数据。同样,一个好的控制器将标记一个需要很长时间才能响应的驱动器失败并继续运行。

1
RAID 1应该能够在阵列中除一个驱动器之外的所有驱动器中消失。当然,大多数人可能运行双硬盘RAID 1点的设置,这意味着它只能存活一个驱动器的死亡,但这并不是固有的RAID 1
一个CVN

有趣的是,如果RAID 10中的1个磁盘发生故障,您应该破坏另一个磁盘,因为如果只有一个磁盘发生故障,它将无法生存:-)我想您应该编辑您的文章。
FLY 2012年

@MichaelKjörling好点。我编辑了我的帖子。
longneck 2012年

@飞你是对的,我掩饰了这一点。编辑。
longneck 2012年

RAID4应该是RAID3。RAID3是具有奇偶校验的字节条带化;RAID4是一种ECC实施,需要大量的驱动器,而AFAIK从未实现过。
Dan在火光旁摆弄

8

如果它是RAID 0的实现,那么肯定在单个驱动器发生故障时,您将丢失该阵列及其所有数据。


这是RAID 4的实现
Steve Rodrigue

11
哈哈哈-你差点把我带到那里,真的是什么?
Chopper3 2012年

3
@ Chopper3 NetApp使用RAID4。因此,尽管它确实也给我带来了笑声,但这并不是完全闻所未闻的。也许这就是主持人说他们拥有NetApp Filer或其他工具的方式。
HopelessN00b

1
@SteveRodrigue您确定它是RAID 4吗?
MDMarra 2012年

1
如果确实是RAID4,并且只有1个驱动器发生故障,那么至少原则上应该应该可以安装新驱动器并重建阵列。也许网络托管服务商意味着在他尝试执行此操作时,其余驱动器之一发生了故障?
user3490 2012年

2

我已经看到,当磁盘损坏或开始报告迫在眉睫的故障时,固件错误会占用整个RAID。抱歉,我没有什么要向您指出的,但是是的,有可能发生。当然,这不是RAID规范的一部分,绝对是一个错误。


1

是的,有可能。它不应该发生,但是可以。输入URE(不可恢复的读取错误)和控制器故障以及固件错误等。

没有额外的信息(您的主机可能不会给您提供信息),就不可能一概而论,但是任何使用大量RAID阵列的人都曾经历过整个阵列丢失或崩溃的经历。不应该。

(并且,顺便说一下,RAID4不是一个非常常用的RAID级别,但是应该可以承受任何驱动器的丢失。但是,这并不意味着它总是会的。)


1

我遇到过许多HDD故障,不是机械故障,而是构成通信接口的电子设备故障。由于它们的体积小,许多电子元件甚至对很小的电气异常也非常敏感(当附近的大型A / C电动机打开/关闭等情况下,并且电源便宜一点时,就会发生这种情况)。

当驱动器的内部电源转换器或电容器(储能缓冲器)烧坏时,HDD外部连接器产生的电信号会并且将超出规格范围。由于驱动器是通过铜线连接到控制器的,并且通常在服务器中,许多驱动器共享电缆连接以简化安装并减少混乱,因此很容易破坏甚至永久破坏任何数量的相邻组件。

顺便说一下,这与定价无关。确实,昂贵的控制器和驱动器可能会使用对异常情况具有更高耐受性或具有更好屏蔽性能的部件,并且使用廉价组件,您更有可能获得不合格的部件。但是我经常在$ 50驱动器和$ 500驱动器上发现相同的电容器。而且,如果发生故障,如果发生故障的HDD直接将12伏电源从电源直接路由到SATA连接器,则RAID控制器将被炸掉,无论价格多少。

这不是通常发生的情况,但是根据我的经验,这绝对不是闻所未闻的。


“通常在服务器中,许多驱动器共享电缆连接”在现代SAS或SATA环境中不这样。从天文学角度来看,您的情况在这里发生的可能性很小。我认为我从未听说过驱动器的电子器件即将失效并带有其他组件。虽然12v肯定会炸毁SATA或SAS控制器,但是逻辑组件很少以任何方式连接到12v,因为将电压从12v降低到3.3v或更低比5v或3.3v电源要复杂得多。我很好奇您可能会领导这种事情的发生;如果你愿意分享?
克里斯·S

1

是的,我想整个RAID可能在单个驱动器故障后失败。控制器将使第一个发生故障的驱动器脱机,并且RAID仍然可以正常工作。但是,当更换故障驱动器后,控制器将开始重建RAID。如果其他剩余驱动器之一上存在潜在的未发现的读取问题,则故障驱动器的重建可能导致更多驱动器脱机(当在重建RAID时发现读取问题)再次导致整个RAID失败。


这就是为什么需要定期清理RAID阵列以发现读写问题的原因。
克里斯S
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.