近两年来,云计算的概念炒得火热火热的。一般来说,一提到云计算很容易想到的典型应用就是分布式服务与计算,后端是一个超大的服务器集群提供服务,像Google的GFS,BigTable,Chubble以及MapReduce等等。其实在云计算中还有一个领域就是服务器虚拟化,将物理服务器的CPU、内存、存储和网络虚拟出若干个相互之间安全隔离的虚拟服务器以提高资源使用率,低碳节能环保。像Amazon的EC2(弹性计算云)服务可以让你很轻松地启动和管理虚拟服务器。之所以称之为弹性,是因为当你的应用访问量激增时EC2可以自动增加虚拟服务器来满足应用的需求,当你的应用的流量下降时又自动减少虚拟服务器。
在虚拟化技术中,存储服务的虚拟化则成为核心与难点,这涉及到虚拟机运行所需的所有的数据包括系统数据和用户数据,虚拟存储服务不仅在满足性能的同时,更要提供高安全的数据服务,比如数据的快照技术以防数据出现错误时能进行数据回滚以最大限度的降低用户的损失。同时Amazon弹性计算云改变了商业模式,你可以按小时付费或按容量付费,不用再去发大量的钱去购买机器或者服务托管。本文永久链接 :http://blog.csdn.net/hereweare2009/archive/2011/03/05/6226218.aspx
Amazon Elastic Block Store
Amazon EBS是专门为Amazon EC2 虚拟机设计的弹性块存储服务。Amazon EBS可以为Amazon EC2的虚拟机创建卷volumes,Amazon EBS卷类似没有格式化的外部卷设备。卷有设备名称,同时也提供了块设备接口。你可以在Amazon EBS 卷上驻留自己的文件系统,或者直接作为卷设备使用。EBS定价为每月每GB容量10美分,或者每向卷发出100万次请求10美分。据Amazon称,用户还可以将虚拟机的数据以快照的方式存储到Amazon的S3存储服务。
一般的,你可以创建多达20个Amazon EBS卷,卷的大小可从1G到1T。在相同Avaliablity Zone中,每个Amazon EBS卷可以被任何Amazon EC2虚拟机使用。如果你需要超过20个卷,则需要提出申请。
同时,Amazon EBS提供了快照功能。可以将快照snapshot保存了Amazon EBS卷到Amazon S3中,其中第一个快照是全量快照,随后的快照都是增量快照。你可以使用快照作为新的Amazon EBS卷的起始点,这样当虚拟机数据受到破坏时你可以选择回滚到某个快照来恢复你的数据,从而提高了数据的安全性与可用性。
下面介绍下Amazon EBS容错处理和使用快照加载新的卷
Amazon EBS可以将任何的实例(即运行中的虚拟机)关联到卷。当一个实例失效,Amazon EBS卷可以自动的解除与失效节点的关联,从而可以将该卷关联到新的实例。如下图所示。步骤如下:
1. 运行中的Amazon EC2实例被关联到Amazon EBS卷,而这个实例突然失效或者出现异常;
2. 为了恢复该实例,你解除Amazon EBS卷和实例的关系(如果没有自动解除),加载一个新的Amazon EC2实例,将其关联到Amazon EBS卷;
3. 在Amazon EBS卷失效的情况下(几率极低),你可以根据快照创建一个新的Amazon EBS卷。
下面介绍快照的使用:
我们可以使用Amazon EBS快照作为一个起点来加载若干个新卷。加载过程如下:
1. 你现在有个大数据量的Web Service服务正在运行;
2. 当数据都正常的时候,你可以为你的卷创建快照,并将这些快照存储在Amazon S3上;
3. 当服务数据剧增时,你需要根据快照加载新的卷,然后再启动新的实例,在将新的实例关联到新的卷;
4. 当服务下降时,你可以关闭一个或多个Amazon EC2实例,并删除相关的EBS卷。
虽然Amazon没有详细说明EBS的实现细节,从上面的快照功能以及EBS的官方文档可以略知一二:
l 快照需要上传到S3中,当需要恢复到某个快照则需要将快照从S3下载下来;
l EBS官方文档指出,EBS为了提高可靠性,EBS卷会有一个后台任务将其数据备份到同一个zone的另一台硬件上;
l EBS官方文档同时指出,即时EBS有了卷的备份,还不是足够的高可靠,为此引入了快照功能,将快照存储到S3上,且第一个快照是全备份,随后的快照是增量备份,同时不同zone间可以从S3上下载快照;
l EC2与EBS必须处于同一个zone,即EC2实例只能挂在处于同一个zone的EBS卷,且同一个EBS卷不能同时被挂载两次,即只能挂载给一个EC2实例。