Amazon EC2数据持久性


25

根据Amazon EC2 常见问题解答,当实例终止时,数据将消失。如果实例重新启动,我可以采取哪些步骤来保留数据?我一直在研究EBS和S3-这两个对存储活动数据库有用吗?无论如何,实例多久重启一次?


2
有关术语的旁注:请注意,终止实例与仅重新启动实例是不同的。终止不会擦除实例存储,而不会重新引导(请参见例如stackoverflow.com/questions/637790/…)。因此,您实际上并不是要重启:)
Jonik 2010年

Answers:


25

就像其他人所说的那样,EBS是弹性块存储。现在它已经发布给公众了,我自己使用它。它在多个方面都优于S3:

  • EBS 很快。据亚马逊称,这比本地安装还要快。
  • EBS可作为适当的设备安装。与S3不同,您需要在代码中自定义S3来拒绝访问逻辑,或者需要中间件(JungleDisk,ElasticDisk等)来呈现自己的问题和成本。
  • EBS 易于备份。亚马逊提供一种拍摄快照的功能,该快照保存在S3中
  • EBS 在实例之间可移植-可以从一个实例卸载卷,然后将其附加到另一个实例
  • EBS设备甚至可以一起RAID,以提高可靠性

到目前为止,我在EBS方面的经验一直是我迄今为止处理过的关于AWS的最积极的事情。


更新:虽然我在EBS方面的经验很积极,但其他人却遇到了问题。特别是EBS无法正确实现fsync()。Ted Dziuba在他的博客文章Amazon中表达了一些有趣的话-痛苦的目的神话2:架构将从云故障中拯救您

Reddit管理员已经发现,Amazon Elastic Block Store可以使娱乐变得更加有趣,它会很乐意接受对fsync()的调用,然后对着你说谎,说数据可能已经被写到磁盘上了,是。


EBS有时快,有时慢。将多个卷一起RAID很有帮助。
ceejayoz

4

EBS当然适用于数据库,并且是Amazon EBS Description中的示例之一。“ Amazon EBS特别适合需要数据库的应用程序...”

EBS的工作原理就像块设备(例如硬盘)一样,为您提供广泛的自由度和舒适性。S3从概念上更像是具有特殊API的真正快速FTP。可以想象,您可以将它用作数据库的一部分,但是标准数据库不能在其上运行(还可以吗?)。

您将要查看Amazon的性能(EBS> S3),耐用性(S3> EBS)和价格(视情况而定)的描述。


2

如其他答案中所述,EBS是持久且方便的磁盘存储的标准解决方案。它应该是您的默认选项。实际上,默认情况下,较新的EC2实例类型在原始的非持久实例存储上使用它。

但是,在考虑持久性时,您还需要仔细考虑数据的可用性(避免数据不可用的时间)和持久性(避免数据丢失)。

EBS涵盖了基本用例,但请记住:

  • S3的耐用性高于EBS。简而言之,它们保留了更多数据副本,并声称S3具有极高的99.999999999%耐久性(请参阅S3常见问题解答)。这里的实际数字概率(很高的概率使火星人入侵看起来更可能)并不像AWS将其声誉押在S3耐久性上并在这里拥有良好记录这一事实那样重要。EBS情况并非如此。
  • 尽管Amazon不会直接提供有关此方面的统计信息,但许多人认为,实例存储在历史上比EBS具有更高的可用性。

最近的AWS停机,例如2011年2012 年的一次严重多日故障,说明了EBS的复杂性以及停机和数据丢失的微小但不可忽略的风险。

底线:为确保不会丢失数据,请将数据备份保留在S3中。EBS快照是针对EBS执行此操作的一种简便方法。如果高可用性至关重要,请考虑在多个可用性区域中使用实例存储(作为EBS的替代或替代)。


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.