我的想法是,RAID 1在多个EBS驱动器上创build两个或更多的数据副本。 但是,Amazon EBS磁盘不是真正的安全保护,因为它们位于多个物理驱动器上? 那么就可靠性而言,通过添加RAID 1你并没有太大的收获。这是正确的还是我的事实错了? 我意识到你可能仍然会从RAID 1获得读取性能的好处。
在抽象的背后,驱动器已经是多余的了。 以RAID 0速度运行它们是很好的。 什么是最佳的是使用快照function进行备份。 在RAID上,可以通过分解RAID或冻结卷,快照,然后使驱动器恢复正常使用来完成。 或者,将数据写入单个EBS卷和快照也可以涵盖其他问题,例如即使在重新连接时也可能使RAID驱动器处于不一致状态的实例故障。
TL:DR; 使用RAID 1是矫枉过正,更好地准备其他故障与备份强大的备份
是的,EBS在后端是容错的,但EBS故障确实发生在意外的情况下。 你没有看到的是我们大多数人习惯的失败types – 驱动力变差,直接失败。 最常见的故障是延迟时间巨大且无法预测,导致应用程序无法响应。 使用RAID1或RAID10集,您可以简单地将问题驱动器从arrays中取出,并将其replace为没有停机的新驱动器。
回想几个月前的ec2pocolypse,大部分EBS卷变得完全没有响应。 我们这些拥有RAID10设备的人可以轻松地恢复驱动器或强制将其与API分离。 那些没有(我看着你,reddit)不得不经历了一个星期的宕机。
如果你真的关心你的数据,那么绝对不应该在任何情况下使用RAID0。 通过这样做,可以增加失败的可能性,同时降低从失败中恢复的能力。 快照很棒,但是除非您stream式传输二进制日志(例如),否则无法执行时间点恢复。 如果你在电子商务中,那么当人们付钱买东西时,最终不会发货,因为在数据库中不再有任何logging。
我最近在经历了EBS RAID的又一次成功之后写了关于RAID10 EBS的文章: http : //blog.9minutesnooze.com/raid-10-ebs-data/
问题是…你对数据更信任谁? 亚马逊? 或者你自己?