我的想法是,RAID 1 在多个 EBS 驱动器上创建两个或更多数据副本。但是,Amazon EBS 磁盘不是几乎无故障的吗?因为它们位于多个物理驱动器上?那么就可靠性而言,添加 RAID 1 并没有给您带来太多好处。这是正确的还是我的事实是错误的?我意识到您可能仍会从 RAID 1 中获得读取性能优势。
答案1
在抽象之后,驱动器已经是冗余的。为了提高速度,在 RAID 0 中运行它们没问题。最佳方法是使用快照功能进行备份。在 RAID 上,可以通过分解 RAID 或冻结卷、创建快照,然后将驱动器恢复正常使用来实现。或者,将数据写入单个 EBS 卷并创建快照,这也可以涵盖其他问题,例如实例故障可能会导致 RAID 驱动器处于不一致状态,即使重新连接也是如此。
TL:DR;使用 RAID 1 有点过头了,最好通过强大的备份为其他故障情况做好准备
答案2
是的,EBS 在后端具有容错能力,但 EBS 故障确实会发生,并且以意想不到的方式发生。不我们看到的故障类型是我们大多数人都熟悉的 - 驱动器损坏并直接失效。最常见的故障是延迟大幅增加且不可预测,这可能导致您的应用程序无响应。使用 RAID1 或 RAID 10 组,您可以简单地将有问题的驱动器从阵列中移除,并用新驱动器替换它,而无需停机。
回想一下几个月前的 ec2pocolypse,当时很大一部分 EBS 卷完全没有响应。我们这些拥有 RAID10 集的人能够通过故障驱动器或使用 API 强制分离驱动器轻松恢复。那些没有的人(我正在看你,reddit)不得不忍受几乎星期停机时间。
如果您真的关心您的数据,那么在任何情况下都不应该对数据进行 RAID0 处理。这样做会增加故障概率,同时降低从故障中恢复的能力。快照功能很棒,但除非您流式传输二进制日志(例如),否则您无法执行时间点恢复。如果您从事电子商务,人们会因为支付了某件商品却没有发货而感到沮丧,因为数据库中不再有任何记录。
在经历了 EBS RAID 的另一次成功之后,我最近写了一篇关于 RAID10 EBS 的文章:http://blog.9minutesnooze.com/raid-10-ebs-data/
问题是……你更相信谁来处理你的数据?亚马逊?还是你自己?