EBS使用Amazon EC2实例(虚拟机)提供耐用的块级存储。EBS是非实例的、网络连接存储,它能够持久独立于一个单独的Amazon EC2实例的运行生命周期。当一个EBS卷连接到一个EC2的实例后,你可以自由和它进行交互,好像你已经拥有一个物理上的磁盘驱动器,我们也可以根据自己的选择将它格式化为一种文件系统。你能够使用一个EBS卷启动一个Amazon EC2实例,然后将多个EBS卷连接到一个Amazon EC2实例。但是,要注意的是一个EBS卷在一个时间点上只能连接到一个Amazon EC2实例。EBS卷不能和其他的用户共享,除非你创建了EBS快照。EBS卷的大小可以从1GB到1TB,一次可以增加1GB。

 

1、完美的使用方案

Amazon EBS主要是针对那些相对而言频繁改变并需要长期保存的数据。EBS为Amazon EC2虚拟服务器提供持久的虚拟块模式的存储,因此你可以使用它,就好像是在物理服务器上使用磁盘驱动器一样。Amazon EBS特别适合作为文件系统、数据库,或者任何需要细粒度的更新和对原始的没有格式化的块级存储进行访问的主要存储方式。

 

2、性能

一般来说,你可以期望个人的EBS卷相对于外部的USB驱动器有很好的性能、平均无故障时间和可靠性。要注意的是,虽然EBS卷作为本地磁盘驱动器出现,但是它们实际上是通过网络连接到Amazon EC2实例。因此,这个实例执行其它的网络I/0和在共享网络上的整个负载会影响个人的EBS卷的性能。

然而每个应用程序和它相关的行为是唯一的,你可以使用EBS卷自由地设计和部署许多传统的磁盘吞吐量优化技术。Amazon EC2和EBS的结合让你能够使用和在内部服务器和存储上使用相同的性能优化技术。比如,你能够创建多个卷,然后将它们连接到一个Amazon EC2实例上。有了多个连接的EBS卷,你能够平衡整个应用程序的I/O负载,将一个卷分给日志数据,一个卷分给数据库,一个卷分给文件数据。另外,你可以用一个软件RAID 0设备驱动器跨越多个EBS卷对你的数据进行条纹化,这样一来,就可以聚集可用的IOPs,全部卷的吞吐量和全部的卷容量。

 

3、持久性和可用性

每个Amazon EBS卷在相同的Availability Zone会被自动复制,以防止由于单个硬件组件的实效而带来的数据丢失。Amazon EBS还使我们能够创建卷的某一个时间点的快照,这些快照被保存在Amazon S3中。这些快照能够作为新的Amazon EBS卷的起始点,并长期持久性地保护数据。

你的EBS卷的持久性依赖于你的卷的容量和从上次快照已经改变的数据量的多少。EBS快照是递增的,在时间点上进行备份,其中只包含了自从上次快照改变的数据块。EBS卷处理自从最近一个快照改变的数据量20GB或者少于20GB时,一年发生的失败率在0.1%-0.5%。为了最大限度地保证存储在EBS卷中的数据的持久性和可用性,用户应该经常对他们的EBS卷进行快照。如果你的Amazon EBS卷失效了,这个卷的所有快照还是完好的,就可以允许你从上次快照点来重新创建你的卷。

Amazon EBS卷设计的目标是高可用性。然而,因为EBS卷是创建在一个特定的AvailabilityZone中的,如果Availability Zone失效了,那么EBS卷也就失效了。要注意的是,由于一个EBS卷只限制在一个Availability Zone中,通过在一个区域中的所有Availability Zone,一个卷的EBS快照是可用的,并且你可以用一个EBS快照在任何Availability Zone中创建一个或者多个EBS卷。EBS快照可以和其他的用户账户共享。这样就提供了一种简单易用的磁盘克隆和磁盘镜像的备份和共享机制。

为了最大限度地保证用户的EBS中的数据的持久性和可用性,他们应该经常对他们的EBS卷进行快照。

 

4、代价

在所有的AWS中,使用Amazon EBS,你只需要为你所使用的部分支付费用,没有最少费用或者长期合同。Amazon EBS以所提供的存储容量的每月每GB和每百万I/O请求来付费。卷存储以你分配的容量来付费,直到你释放它。Amazon EBS快照以存储数据的每月每GB付费,当保存和加载快照时,根据每1000PUT请求和每1000GET请求付费。对于EBS快照,你只需要对你实际使用的容量付费。要注意的是,EBS快照是渐增的和压缩的,因此任何快照使用的存储容量通常小于EBS卷消耗的存储容量。

 要注意的是,你无需为在多种AWS存储服务之间传递信息付费,当然,它们必须在同一个AWS区域中。

 

5、灵活性和可扩展性

AWS使你能够很轻松的为你的Amazon EC2实例扩展可用的存储空间。你能够创建一个新的EBS卷,并将它与这个实例相关,然后将它与已经存储在的卷一起使用。如果你不想创建和维护新的卷,这里会告诉你如何扩展一个卷的容量:

    1.      暂停应用程序或者文件系统

    2.      将你的EBS卷的数据快照到Amazon S3

    3.      以刚刚的快照为基础创建一个新的EBS卷,但是指定一个比原始卷更大的容量

    4.      将这个新的更大容量的卷连接到你的Amazon EC2实例

    5.      断开原始卷的连接并删除原始的EBS卷

 

6、接口

为了给你的Amazon EC2实例创建、删除、描述、连接、断开连接EBS卷,Amazon以SOAP和REST格式提供了控制API。你可能可以使用这些API从EBS到Amazon S3创建、删除、描述快照和它们相关的属性。如果你喜欢用图形化的工具,AWS Management Console和ElasticFox Firefox extension能够给你在易于使用的浏览器接口方面的所有能力。不管你如何创建你的EBS卷,请注意,所有的存储容量在卷创建时被分配,即使并没有使用所有存储容量,你也必须为这些容量付费。

EBS为Amazon EC2提供了一个块设备接口。也就是说,对于Amazon EC2来说,一个EBS卷就像一个本地磁盘驱动器。因此,在从你的EBS卷中写入或者读取数据时,你可以使用你所选择的操作系统的本地文件系统接口。

 

7、Amazon EBS反模式

就像之前所描述的那样,EBS很适合那些需要在一个Amazon EC2实例的声明周期之外永久保存的数据。然而,在特定的条件下,其它的AWS存储可选方案可能更合适:

临时存储—如果你并不关心在你的AmazonEC2实例终止之后,你的数据是否仍然可用,你可以考虑使用大部分Amazon EC2实例自动提供的存储卷。提供的这些临时的卷并不需要在Amazon EC2实例的标准费用之外的额外费用。想知道更多信息,请看下一部分。

高耐用性的存储—如果你需要高耐用性的存储,使用Amazon S3。Amazon S3标准存储的设计目标是对于每个对象每年有99.999999999%的耐用性。相比较而言,自从上次快照到现在,少于20GB数据改变的EBS卷的设计目标是每年99.5%-99.9%的耐用性;如果改变的数据更多,就可能有更低的耐用性。

静态数据或网页内容—如果你的数据并不经常改变,AmazonS3可能代表了为存储比较固定的信息提供的一种更加经济有效的可扩展性的解决方案。同样的,EBS提供的网页内容需要在Amazon EC2上运行网页服务器,但是你可以在Amazon S3之外直接传递网页内容。

键值对信息—就像我们在“AmazonSimpleDB”部分中看到的,Amazon SimpleDB为存储没有结构的数据提供一种扩展的弹性的方式。如果你想使用关系技术保存键值信息,Amazon SimpleDB是一个不错的选择。


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐