Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 从EC2删除快照/卷_Amazon S3_Amazon Ec2_Amazon Web Services - Fatal编程技术网

Amazon s3 从EC2删除快照/卷

Amazon s3 从EC2删除快照/卷,amazon-s3,amazon-ec2,amazon-web-services,Amazon S3,Amazon Ec2,Amazon Web Services,我有一些脚本可以为我的EBS支持的Windows实例创建许多快照。你可以稍微考虑一下,我正在构建一棵图像树,在那里我在白天的不同时间分支并创建快照。例如: > Source Windows AMI -> Snapshot 1 > -> Snapshot 1.1 > -> Snapshot 1.1.1 >

我有一些脚本可以为我的EBS支持的Windows实例创建许多快照。你可以稍微考虑一下,我正在构建一棵图像树,在那里我在白天的不同时间分支并创建快照。例如:

> Source Windows AMI -> Snapshot 1
>                             -> Snapshot 1.1
>                                         -> Snapshot 1.1.1
>                             -> Snapshot 1.2
>                    -> Snapshot 2
>                             -> Snapshot 2.1
>                             -> Snapshot 2.2
>                             ....
我现在想清理我的工作区。我的理解是快照是不同的。因此,在上面的示例中,“快照1”项将是一个完整的图像,而“快照1.1”将是一个小得多的文件,仅包含二进制差异。我的理解正确吗?如果是这样的话,那么当我删除“快照1.1”时会发生什么?亚马逊是否禁止我这样做,因为“快照1.1.1”是一种依赖关系,或者它允许这样做,并且在将来事情会简单地中断

“Snapshot 1.1”将是一个更小的文件,只包含二进制差异。我对这一点的理解正确吗

'如果是这样,那么当我删除'Snapshot 1.1'时会发生什么?亚马逊是否禁止我这样做,因为'Snapshot 1.1.1'是一种依赖关系,或者它允许这样做,并且在将来事情会简单地中断

好问题,但你需要给亚马逊多一点信任:) 如果删除快照1.1,则仅删除未被任何其他快照引用的块,这意味着快照1.1.1可以正常工作


可以找到一个很好的解释(以及简洁的图表)

根据您的描述,快照并不是真正存储为树层次结构。相反,只有一个“块”存储桶,快照标识符是一个指针,指向从基本映像重建映像所需的块。拍摄更多快照,您只需生成更多的“diff”块和指向这些块的新快照标识符

我可能会误解这个断言,但是如果从EC2配置文件中删除中间快照(例如,在您的示例中为v2.0),则不会节省任何磁盘空间(+金钱)。这是因为构建v2.1、v2.2仍然需要v2.0块。。。因此,如果您想删除快照以节省资金,那么您确实需要删除那些作为快照概念树的叶子存在的快照


顺便说一句,快照树的精确表示方式是它们在这个EC2管理工具中的表示方式:。如果您正在为实验室类型的目的构建快照,那么可能值得一看。(免责声明:我在那里工作)。

初学者-这对我来说可能是一个更好的问题