Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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
Mongodb 亚马逊EBS快照的困惑_Mongodb_Amazon Web Services_Snapshot - Fatal编程技术网

Mongodb 亚马逊EBS快照的困惑

Mongodb 亚马逊EBS快照的困惑,mongodb,amazon-web-services,snapshot,Mongodb,Amazon Web Services,Snapshot,我对快照作为备份的工作方式有点困惑。我目前正在运行一个脚本,它每天晚上都会对我们的mongo数据和日志进行快照。但我看到的信息表明快照是增量的,这让我很困惑。它们是增量的吗?如果是,哪一个是基准,我如何重置基准?我宁愿每次都拍一张完整的快照 还有,有人知道自动过期旧快照的方法吗?它们只是不断累积。每个EBS快照都是一个独立的快照,如果恢复到新卷上,将为您提供一个与snahshot时存在的卷相同的卷 但是,快照存储在S3中,并且它们的存储方式(以及为它们的存储计费的方式)是增量的 Amazon E

我对快照作为备份的工作方式有点困惑。我目前正在运行一个脚本,它每天晚上都会对我们的mongo数据和日志进行快照。但我看到的信息表明快照是增量的,这让我很困惑。它们是增量的吗?如果是,哪一个是基准,我如何重置基准?我宁愿每次都拍一张完整的快照


还有,有人知道自动过期旧快照的方法吗?它们只是不断累积。

每个EBS快照都是一个独立的快照,如果恢复到新卷上,将为您提供一个与snahshot时存在的卷相同的卷

但是,快照存储在S3中,并且它们的存储方式(以及为它们的存储计费的方式)是增量的

Amazon EBS快照是增量备份,这意味着仅保存设备上自上次快照以来已更改的块。如果您的设备具有100 Gb的数据,但自上次快照以来只有5 Gb的数据发生了更改,则只有另外5 Gb的快照数据将存储回Amazon S3。即使快照以增量方式保存,删除快照时,也只会删除任何其他快照不需要的数据。因此,无论以前删除了哪些快照,所有活动快照都将包含恢复卷所需的所有信息。此外,恢复卷的时间对于所有快照都是相同的,提供了完整备份的恢复时间和增量备份的空间节约

-

因此,在幕后,此快照仅包含从先前快照更改的块。。。但是恢复快照并不意味着您必须将增量片段重新组合起来。EBS会在幕后自动为您执行此操作

因此,假设您有一个100 GB EBS卷,快照a、B和C按该顺序拍摄,而没有卷的其他快照

快照A的大小为100GB(可能更小,因为您从未写入的空间可能会从shapshot中消除)

如果更改了20GB,则您拍摄了快照B,该快照的大小将为20GB,但如果恢复它,则生成的卷将包含完整的100GB,因为它具有指向shapshot A中未更改数据的指针

然后另一个10GB发生了变化,您拍摄了快照C。这将是一个10GB快照,前面的数据返回到B,其余的数据返回到a。同样,恢复此卷将使您在拍摄快照C时获得完整的卷

现在,如果删除快照B,在快照B中更改但随后在shapshot C中未更改的块将前滚到快照C中,这样您仍然可以在快照C处恢复整个卷,而快照C将是一个30 GB的快照

这是一个过于简单化的问题,因为很可能相同的块中的某些块会从A->B和B->C更改,使C的最终版本略小于30GB,但它确实传达了一般的想法。出于恢复目的,每个快照都是独立的,但EBS的内部工作只存储与先前快照的差异,并且您只需为快照包含的数据量支付存储费用。不幸的是,目前无法通过API了解每个快照的实际大小,因为这些信息没有公开。。。它们总是显示为与体积相同的大小


无法自动清除快照。对于我的系统,我编写了一个每天运行一次的脚本,根据卷的标记查找要快照的卷。然后,它会根据我的保留策略考虑哪些卷有足够的快照,并删除任何其他快照--但它只会删除它自己创建的快照,这同样基于快照脚本应用于它创建的快照的标记。

每个EBS快照都是一个独立的快照,如果恢复到新卷上,将为您提供与snahshot时存在的卷相同的卷

但是,快照存储在S3中,并且它们的存储方式(以及为它们的存储计费的方式)是增量的

Amazon EBS快照是增量备份,这意味着仅保存设备上自上次快照以来已更改的块。如果您的设备具有100 Gb的数据,但自上次快照以来只有5 Gb的数据发生了更改,则只有另外5 Gb的快照数据将存储回Amazon S3。即使快照以增量方式保存,删除快照时,也只会删除任何其他快照不需要的数据。因此,无论以前删除了哪些快照,所有活动快照都将包含恢复卷所需的所有信息。此外,恢复卷的时间对于所有快照都是相同的,提供了完整备份的恢复时间和增量备份的空间节约

-

因此,在幕后,此快照仅包含从先前快照更改的块。。。但是恢复快照并不意味着您必须将增量片段重新组合起来。EBS会在幕后自动为您执行此操作

因此,假设您有一个100 GB EBS卷,快照a、B和C按该顺序拍摄,而没有卷的其他快照

快照A的大小为100GB(可能更小,因为您从未写入的空间可能会从shapshot中消除)

如果更改了20GB,则您拍摄了快照B,该快照的大小将为20GB,但如果恢复它,则生成的卷将包含完整的100GB,因为它具有指向shapshot A中未更改数据的指针

然后另一个10GB发生了变化,您拍摄了快照C。这将是一个10GB的快照,指针返回到B以供参考