亚马逊以弹性块存储为云提供虚拟存储功能

  • Scott Delap
  • 孙涛

2008 年 8 月 30 日

话题:架构云计算DevOps

今年四月,亚马逊的 CTO Werner Vogels宣布为 Amazon EC2 进行持久存储的开发。持久存储一直是 EC2 平台的一个薄弱环节。长久以来,服务器实例(server instantces)一直以父节点映像启动,当服务器发生故障或重启时,磁盘会恢复到原有映像。如今亚马逊已经可以利用弹性块存储(EBS)来解决这个问题了。Vogels 认为 EBS 是对亚马逊一系列存储模式的完善和补充,他讲道

我们自信地认为目前正在开发的存储基础设施解决方案对开发人员来说非常有用,它首先专注处理最普遍的存储模式。我们目前有三种高层的模式:
  • 键值对(Key-Value)存储。亚马逊的大多数存储模式都建基于通过主键访问某个值或对象。我们基于这种模式开发了 Amazon S3。
  • 简单结构化数据(Simple Structured Data)存储。第二大类存储模式是通过简单的查询接口访问结构化的数据集。这种模式利用快速索引来支持大数据集的高速查找。Amozon SimpleDB 支持此种模式。我们发现一个比较普遍的做法是在 SimpleDB 中存储 Amazon S3 对象的二级键值,这样查询 SimpleDB 的结果就是 S3 中的(主)键。
  • 块(Block)存储。还有多种存储模式,从特殊的文件系统例(如 ZFS)到管理自身块存储的应用(比如缓存服务器),再到关系型数据库。Amazon EBS 支持这些模式,它能提供用于实现多种存储模式的基本存储块。

亚马逊提供了 EBS 在价格、耐久性和性能方面的一些细节信息,重点包括:

  • 卷的大小可以介于 1GB 到 1TB 之间。
  • 卷的行为跟原始的未格式化的块设备类似。
  • 访问仅限于同一个有效的区域,这个区域类似于数据中心的一个 SAN。
  • 一个卷只能同时附属于一个 EC2 实例。
  • 一个 EC2 实例可以同时有若干个附属卷。
  • 卷拥有备份于 S3 中的快照,快照只随着数据的变化而增加。
  • 由于数据复制的关系,整个卷失效的概率随着大小的不同在 0.1% 到 0.5% 之间变化,这和普通硬盘 4% 的失效概率相比有了很大提高。
  • 价格大约是每个 GB 的硬盘空间 0.1 美元,每一百万个 I/O 请求也是 0.1 美元。
鉴于该报价,一个中等大小的数据库(100GB)在空间上的花费估计是 10 美元,使用费是 26 美元。目前已经可以找到在 EBS 上使用 MySQL 的指南。Right Scale 上还有一篇文章更详细地介绍了许多最佳实践和费用估算的公式。在 I/O 使用率上,他们有以下的实践经验:
...... 以下是一些参考数据,我们的主数据库是非常繁忙的,一秒大约处理 17 个事务,每个月的花费大约是 4.4 美元。但是对于监控服务器来说,在最近 一次的优化之前,它在一天 24 小时的运转中大约每秒进行 1000 次的随机写操作,花费大约是每月 250 美元!我只能说在大多数情况下,EBS 在处理事务方 面花费都不是很大,但是如果你不仔细研究的话它也不是那么便宜......

最后,GigaOM 提供了一份商务报告,认为传统数据中心对待这个新生的事物还是应该提高警惕。

查看英文原文:Amazon Brings Virtualized Storage to the Cloud with Elastic Block Storage

架构云计算DevOps