通过递增快照备份 Azure 非托管 VM 磁盘

概述

Azure 存储提供创建 Blob 快照的功能。 快照将捕获该时间点的 Blob 状态。 本文介绍有关如何使用快照维护虚拟机磁盘备份的方案。 如果选择不使用 Azure 备份和恢复服务,但想要为虚拟机磁盘创建自定义备份策略,则可以使用此方法。

Azure 虚拟机磁盘在 Azure 存储中存储为页 Blob。 本文中介绍的是虚拟机磁盘的备份策略,因此,我们指的是页 Blob 上下文中的快照。 若要详细了解快照,请参阅创建 Blob 的快照

什么是快照?

Blob 快照是在某个时间点捕获的 Blob 只读版本。 在创建快照后,可以读取、复制或删除该快照,但无法对其进行修改。 利用快照,可以在某个时间点备份显示的 Blob。 在 REST 2015-04-05 版之前,可以复制完整快照。 使用 REST 2015-07-08 版或更高版本,还可以复制增量快照。

完整快照复制

可将快照作为 Blob 复制到另一个存储帐户,以保留基本 Blob 的备份。 你还可以复制快照覆盖基本 Blob,这类似于将 Blob 还原到以前的版本。 将快照从某个存储帐户复制到另一个存储帐户时,将占用与基本页 Blob 相同的空间。 因此,将整个快照从某个存储帐户复制到另一个存储帐户时速度较慢,并且会消耗目标存储帐户中的大量空间。

Note

如果将基本 Blob 复制到另一个目标,则不会一起复制 Blob 的快照。 同样,如果使用副本覆盖基本 Blob,与基本 Blob 关联的快照不会受到影响,并且可让基本 Blob 名称保持不变。

使用快照备份磁盘

作为虚拟机磁盘的备份策略,可以创建磁盘或页 Blob 的定期快照,并使用复制 Blob操作或AzCopy之类的工具将其复制到另一个存储帐户。 可将快照复制到具有不同名称的目标页 Blob。 生成的目标页 Blob 是可编写的页 Blob,而不是快照。 本文稍后介绍使用快照创建虚拟机磁盘备份的步骤。

使用快照还原磁盘

需要将磁盘还原到以前在某个备份快照中捕获的稳定版本时,可以复制一个快照来覆盖基本页 Blob。 将快照升级到基本页 Blob 之后,快照会保留,但会使用可读写的副本覆盖其源。 本文稍后介绍从快照还原以前磁盘版本的步骤。

实现完整快照复制

可以通过执行以下操作实现完整快照复制:

首先,使用快照 Blob操作创建基本 Blob 的快照。

然后,使用复制 Blob将快照复制到目标存储帐户。

重复此过程以保留基本 Blob 的备份副本。

增量快照复制

GetPageRangesAPI 中的新功能提供更好的方式来备份页 Blob 或磁盘的快照。 该 API 返回基本 Blob 和快照之间的更改列表。 这可以减少备份帐户上使用的存储空间量。 该 API 支持高级存储以及标准存储的页 Blob。 现在,可以使用此 API 为 Azure VM 构建更快速且有效的备份解决方案。 此 API 适用于 REST 2015-07-08 版和更高版本。

增量快照复制可让你将以下两者之间的差异从一个存储帐户复制到另一个存储帐户:

基本 Blob 及其快照,或

基本 Blob 的任意两个快照

必须符合以下先决条件:

Blob 是在 2016 年 1 月 1 日或之后创建。

未在两个快照之间使用PutPage复制 Blob覆盖 Blob。

注意:此功能适用于高级和标准 Azure 页 Blob。

如果存在使用快照的自定义备份策略,则将快照从一个存储帐户复制到另一个存储帐户可能非常慢,并且将消耗大量的存储空间。 可以将连续快照之间的差异写入备份页 Blob,而不是将整个快照复制到备份存储帐户。 这样,便可以大量减少复制的时间和存储备份的空间。

实现增量快照复制

可以通过执行以下操作实现增量快照复制:

使用快照 Blob创建基本 Blob 的快照。

使用复制 Blob将快照复制到目标备份存储帐户。 这将是备份页 Blob。 创建此备份页 Blob 的快照,并将其存储在备份帐户中。

使用快照 Blob 创建基本 Blob 的另一个快照。

使用GetPageRanges获取基本 Blob 的第一个与第二个快照之间的差异。 使用新参数prevsnapshot指定要用于获取差异的快照的 DateTime 值。 如果提供此参数,REST 响应将只包含在目标快照与先前快照之间更改的页面(包括清除页面)。

使用PutPage将这些更改应用到备份页 Blob。

最后,创建备份页 Blob 的快照,并将其存储在备份存储帐户中。

下一部分详细说明如何使用增量快照复制维护磁盘的备份

方案

在本部分中,我们会介绍一种方案,它涉及到使用快照针对虚拟机磁盘实施自定义的备份策略。

假设在某个 DS 系列 Azure VM 上附加了一个高级存储 P30 磁盘。 名为mypremiumdisk的 P30 磁盘存储在名为mypremiumaccount的高级存储帐户中。 名为mybackupstdaccount的标准存储帐户用于存储mypremiumdisk的备份。 我们希望每隔 12 小时保留mypremiumdisk的一个快照。

若要了解如何创建存储帐户和磁盘,请参阅关于 Azure 存储帐户

若要了解如何备份 Azure VM,请参阅规划 Azure VM 备份

使用增量快照维护磁盘备份的步骤

下述步骤将创建mypremiumdisk的快照,并在mybackupstdaccount中维护备份。 备份将是名为mybackupstdpageblob的标准页 Blob。 备份页 Blob 始终反映与mypremiumdisk的最新快照相同的状态。

首先,创建高级存储磁盘的备份页 Blob。 为此,请为mypremiumdisk创建名为mypremiumdisk_ss1的快照。

将此快照复制到 mybackupstdaccount,用作名为mybackupstdpageblob的页 Blob。

使用创建 Blob 快照mybackupstdpageblob创建名为mybackupstdpageblob_ss1的快照,并将其存储在mybackupstdaccount中。

在备份时段内,创建mypremiumdisk的另一个快照(即mypremiumdisk_ss2),并将其存储在mypremiumaccount中。

prevsnapshot参数设置为mypremiumdisk_ss1的时间戳的情况下,对mypremiumdisk_ss2使用GetPageRanges获取两个快照(mypremiumdisk_ss2mypremiumdisk_ss1)之间的增量更改。 将这些增量更改写入到mybackupstdaccount中的备份页 Blobmybackupstdpageblob。 如果增量更改中有已删除的范围,则必须从备份页 Blob 中清除这些范围。 使用PutPage将增量更改写入备份页 Blob。

为备份页 blobmybackupstdpageblob创建名为mybackupstdpageblob_ss2的快照。 从高级存储帐户删除以前的快照mypremiumdisk_ss1

在每个备份时段内重复步骤 4-6。 这样,即可在标准存储帐户中维护mypremiumdisk的备份。

从快照还原磁盘的步骤

下述步骤将高级磁盘mypremiumdisk从备份存储帐户mybackupstdaccount还原到以前的快照。

确定要将高级磁盘还原到的时间点。 假设这是存储在备份存储帐户 mybackupstdaccount 中的快照 mybackupstdpageblob_ss2。

在 mybackupstdaccount 中,将快照mybackupstdpageblob_ss2升级为新的备份基本页 Blobmybackupstdpageblobrestored

为此已还原的备份页 Blob 创建名为mybackupstdpageblobrestored_ss1的快照。

将已还原页 Blobmybackupstdpageblobrestoredmybackupstdaccount复制到mypremiumaccount,作为新的高级磁盘mypremiumdiskrestored

mypremiumdiskrestored创建名为mypremiumdiskrestored_ss1的快照,以便将来执行增量备份。

将 DS 系列 VM 指向已还原的磁盘mypremiumdiskrestored,并从 VM 分离旧的mypremiumdisk

使用mybackupstdpageblobrestored作为备份页 Blob,根据前一部分中所述,开始针对已还原的磁盘mypremiumdiskrestored执行备份过程。

后续步骤

使用以下链接详细了解如何创建 Blob 的快照和规划 VM 备份基础结构。

创建 Blob 的快照

规划 VM 备份基础结构       立即访问http://market.azure.cn

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357

推荐阅读更多精彩内容