【问题标题】:Azure blobs backupAzure Blob 备份
【发布时间】:2017-05-25 03:07:03
【问题描述】:

我们使用一些

  • 阻止 blob 存储一些持久资源,然后
  • 用于存储事件数据的页面 blob

我们需要备份 blob,所以我尝试使用 AzCopy。它在我的开发机器上工作正常,但在其他慢速机器上失败并出现错误“远程服务器返回错误:(412) 不满足使用 HTTP 条件标头指定的条件.. “几乎每次。
我们经常写入页面 blob(可能在一秒钟内向上多次,但这种情况并不常见),所以这可能是原因。

有没有更好的策略来备份不断变化的 blob?或者有什么方法可以绕过 AzCopy 使用的 ETag 的问题?

【问题讨论】:

  • 几个问题:1) 您是仅在页面 Blob 中出现此错误,还是在块 Blob 中也出现此错误? 2) 您是在同一个存储帐户中还是跨存储帐户复制 blob?
  • 广告 1. 仅使用页面 blob(经常更新),广告 2. 相同的存储。我已经了解到复制到其他存储需要更多时间。
  • 请看下面大卫的回答。我相信拍摄 Blob 快照并将其用于复制将解决您的问题。问题是如何使用 AzCopy 来做到这一点。我认为您将需要求助于 PowerShell,您将首先为每个 Page Blob 拍摄快照,然后使用该快照进行复制。

标签: azure backup azure-storage azure-blob-storage azcopy


【解决方案1】:

更改的 ETag 将始终停止复制,因为更改的 ETag 表示源已更改。

blob 备份的一般方法是主观的,但客观的:

  • 在 Azure 内部,在同一区域,从存储帐户到存储帐户的 blob 副本将比尝试将 blob 复制到本地位置(由于一般 Internet 延迟)甚至从存储帐户到 VM 上的本地磁盘。
  • Blob 支持快照(相对即时)。如果您创建快照,快照将保持不变,然后您可以针对 snapshot 而不是实际的 blob 本身(在您的情况下使用 AzCopy)执行复制操作,而不必担心源数据在此期间发生更改副本。 注意:您可以根据需要创建任意数量的快照;请小心,因为存储大小会随着底层原始 blob 的变化而增长

【讨论】:

  • +1,一种方法是使用blob快照,Snapshot Blob操作会创建一个blob的只读快照,更多关于blob快照的信息,参考链接:docs.microsoft.com/en-us/rest/api/storageservices/fileservices/…跨度>
  • 如果我理解正确,我应该从页面 blob 制作快照,然后将快照作为新的页面 blob 复制到备份位置。之后我可以删除快照,对吧?
  • 有没有可以处理快照的工具?列出并复制它们?或者至少是 PowerShell 命令行开关?
  • @stej - 这一切都已记录在案,并且有大量示例用于将 AzCopy/PowerShell/SDK 与快照结合使用。我建议阅读文档/示例以查看细节。
  • 老实说,我还没有找到“大量”的例子。我需要复制快照,而不是 blob 本身。例如。 docs.microsoft.com/cs-cz/azure/storage/… 只是将 blob + 快照一起复制。无论如何,答案是“快照”,所以我会接受你的回复。谢谢。
猜你喜欢
  • 2017-10-22
  • 2016-06-20
  • 2016-09-06
  • 2016-06-02
  • 2016-12-10
  • 2015-01-08
  • 2018-06-01
  • 2013-06-30
  • 1970-01-01
相关资源
最近更新 更多