![Amazon EBS 快照的大小是如何计算的?](https://linux22.com/image/492323/Amazon%20EBS%20%E5%BF%AB%E7%85%A7%E7%9A%84%E5%A4%A7%E5%B0%8F%E6%98%AF%E5%A6%82%E4%BD%95%E8%AE%A1%E7%AE%97%E7%9A%84%EF%BC%9F.png)
首先,如何检索我的 EBS 快照占用的空间?
其次,根据文档,Amazon EBS 快照仅备份自上次创建快照以来已修改的 EBS 卷块。假设我有一个 10GB 的 EBS 卷。我为其创建了第一个快照。由于没有“最后一个”快照,我假设第一个快照的大小为 10GB。好的。然后我修改了 1GB 的数据并创建了第二个快照。第二个快照的大小应该在 1GB 左右,对吗?但是,如果我此时删除了第一个快照怎么办?第二个快照仍然是 1GB 吗?如果是,我还能从第二个快照恢复 10GB 的 EBS 卷吗?或者第二个快照是否会自动变成 10GB?
答案1
这可能回答了问题2(来自http://aws.amazon.com/ebs/):
尽管快照是增量保存的,但删除快照时,只会删除其他快照不需要的数据。因此,无论删除了哪些先前的快照,所有活动快照都将包含恢复卷所需的所有信息
在您的示例中,删除第一个快照后,您将不再为第二个快照覆盖的第一个 1GB 付费,并且您将无法恢复第一个快照的状态。
但就 S3 使用而言,一组快照的成本是多少仍然不太透明。
答案2
看这条信息并在其下方回复两条消息。本质上,每个块只有一个副本,多个快照可以引用同一个块。可以按任何顺序删除快照,并且任何快照都可用于将卷恢复到创建快照时的状态。
答案3
我认为快照仅包含至少被写入过一次的块。因此,如果您创建了一个新的 EBS,然后使用某种“快速”格式对其进行格式化,该格式只会写入文件分配表,那么我认为只有文件分配表使用的块才会写入初始快照。
当使用 EBS 进行数据库存储时,您可能考虑在使用数据库之前初始化整个 EBS,这似乎可以加快数据库的速度,因为驱动器已经完全初始化。缺点是,这意味着初始快照可能是整个 EBS 驱动器,即 10GB。
答案4
无论亚马逊...
首先,快照有两种类型。一种是完整快照,另一种是增量快照。在您的示例中,您提到了 10GB 和 1GB,因此您可以猜出哪个是哪个。如果没有完整快照,则不可能完全恢复数据。增量快照是一种节省空间和时间的方法,这样就不必一遍又一遍地备份整个映像。因此,虽然您可以保留零个增量快照,但您必须至少有一个完整快照。
The restore is done in the following way.
1. get the Latest FULL snap
2. Is there any more incremental snap since the last full backup?
yes
2.1 Apply the incremental changes in order from the last full backup to the latest | END
no
2.2 END
因此,您可以计划需要多少。也许每周进行一次完整备份,每天进行增量备份?或者任何适合您的情况的备份。然而,亚马逊在这方面略有不同...
至于成本,亚马逊似乎假设(为了简单起见)
- 整个 EBS 都被快照(不是一个真正的词,我只是编造的)包括可用空间。
- 另外,没有考虑压缩,如果它们正在压缩,这里仍然不会考虑。
- 完整快照或增量将全部以未压缩的形式发送到 S3,因此您需要支付 S3 存储和传输费用
- 完整快照已经更像 AMI 了。因此,您最好使用 AMI,因为 AMI 似乎不包含图像大小的未使用空间,因此 S3 存储需求较小。
- 正如其他人提到的那样,Amazon 通过确保删除快照不会影响恢复来保护用户免于删除错误的快照。我认为他们将增量快照应用于完整快照并将其显示为删除的过程内部化。效果是他们仍然存储整个 EBS 卷一次
现在我不是 AWS 的专业人士,但这是我最好的理解。我可能错了