Amazon EBS,快照作为增量备份
Posted
技术标签:
【中文标题】Amazon EBS,快照作为增量备份【英文标题】:Amazon EBS, snapshots as incremental backups 【发布时间】:2011-09-22 02:39:03 【问题描述】:我正在为我们的 EBS 卷每天备份一个自动化机制。
我非常了解创建新快照的步骤。显然这一切都很简单,你有一个可以快照的 EBS 卷,你可以随时恢复快照。很好。
但我担心的是快照的大小,我知道这些快照是在 S3 中压缩存储的,我们将根据快照的大小收取费用。如果我们有大量数据,每次备份的发票金额都会大幅增加。
但是,根据亚马逊的页面,这些快照是增量的。这可以解决我的问题,因为每日备份只会上传自上次快照以来发生更改的数据。但这引出了下一个问题:如果备份是增量的并且我们只上传修改后的数据,那么原始数据存储在哪里? (即,显然不能增量完成的第一个快照......)
很遗憾,我无法在亚马逊的所有文档中找到这些信息。
有人对快照及其计费有经验吗?
感谢您的帮助,谢谢!
【问题讨论】:
【参考方案1】:我认为您不会找到关于如何实现快照的详细文档;这不是我遇到的事情。他们确实有"Projecting Costs". 的文档,但是,我认为如果您知道它是如何工作的,您就可以凭直觉知道帐单,并且对此感到更放心。
请注意,这些快照不是“增量”,因为我们在 DOS 操作系统中可能已经理解该术语。在 DOS 中,“归档”位在文件被修改时设置,“增量”备份仅复制设置了“归档”位的文件。备份过程将清除存档属性,因此将来对文件的编辑将导致它再次“增量”备份。
使用快照,卷的每个块在被修改时都会被标记。它不是在逐个文件的基础上完成的。在第一个快照之后,仅备份已标记为已修改的块,就像 DOS 中的“增量”备份一样。但这就是相似之处的结束,因为对于每个 它不必复制的块 它不仅会跳过它,它还会写入一个指针,指向数据的最后一个(未更改的)副本所在的位置.
您制作的第一个卷快照,数据被分解成块。来自 Amazon:“卷数据在传输到 Amazon S3 之前被分解成块。虽然块的大小可能会通过未来的优化而改变,但可以通过除以数据的大小来估计数量 [...]自上次快照以来已更改 4MB。"
您制作的下一个快照仅包含那些已更改的块的数据,和指向未更改块的指针。这些指针指向上一个快照中的数据块。
下一个快照 (n) 是通过记录自上一个快照 (n-1) 以来更改的每个块的数据以及自上一个快照 (n-1) 以来未更改的块的指针来制作的。这些指针指向前一个快照中的相应块,其中可能包含数据,或者另一个指向其前一个快照的指针。最终,每个指针都指向一个真实数据块(自创建快照以来一直没有改变)。
现在假设您决定删除快照 (x)。快照 (x) 在它之前 (x-1) 和之后 (x+1) 制作了快照。 Amazon 将快照 (x+1) 中的指针替换为快照 (x) 中的指针和数据(被删除的那个)。因此,快照 (x) 中的任何实际数据都将复制到快照 (x+1) 中,除非它在那里拥有该块的更新数据的自己的副本。
这就是快照的工作方式、数据的存储位置以及快照大小易于管理的原因。您可以从中了解如何删除快照只会破坏您将卷恢复为创建快照时的状态的能力,而不会破坏使用其他快照的能力。与不使用指针的简单、传统的“增量”备份不同,未删除的快照会根据需要进行更新,以在删除其依赖快照之一时保持其有用性。这就是为什么亚马逊对智能快照存储的收费高于 EBS 卷的简单副本的原因。最后,可以理解的是,很难预测快照存储的成本,因为它是如此动态。
【讨论】:
我觉得你的评论很有用。我对这个过程非常感兴趣和好奇,但它似乎没有公开记录。到目前为止,我的谷歌搜索并不是很幸运,因为你说详细的文档不容易获得。您知道有关此问题的任何有用链接吗?主要问题是我们每周都会拍摄很多卷,并且不想在下一个账单中过于害怕......非常感谢 我仍然不认为你会找到详细的文档,我也没有坚持;我没见过。我的理解是从数据结构,特别是双链表的研究中综合得出的。无需担心下一个账单。每小时测试几个较小的卷的快照。在亚马逊中,单击“帐户”(位于控制台上方菜单的最右侧),然后从左侧菜单中选择“使用情况报告”。对于服务,选择“Amazon Elastic Compute Cloud”。对于使用类型,选择“所有使用类型”。对于操作,选择“SnapShotPutUsage”或“SnapShotUsage”。 [房间外。 :)] 你说得对,我可以在为时已晚之前看到账单。但是,找到一些合适的文档会很有用:(,亚马逊让我有点失望。再次感谢您的所有帮助! @xuuso 能否请您更新我们,结果如何?你的账单多少钱?以上是关于Amazon EBS,快照作为增量备份的主要内容,如果未能解决你的问题,请参考以下文章