Azure Managed Disk 增量快照,azure data studioAzure磁盘增量快照今天就来介绍一下Azure托管磁盘的增量快照功能。在增量快照功能之前,对于被管理的磁盘,用户只能对磁盘进行全额快照,快照成本不好;其次,对于快照备份恢复场景,全快照也会增加备份时间,带来额外的流量成本。有了Azure......
今天就来介绍一下Azure托管磁盘的增量快照功能。在增量快照功能之前,对于被管理的磁盘,用户只能对磁盘进行全额快照,快照成本不好;其次,对于快照备份恢复场景,全快照也会增加备份时间,带来额外的流量成本。有了Azure托管磁盘对增量快照的支持,用户可以拍摄托管磁盘的多个快照。每个快照只会产生前一个快照产生的差异数据,Azure会帮助用户管理同一个被管理磁盘的快照之间的依赖关系。
目前该功能已经在国内Azure和海外Azure中GA。目前国内不支持门户配置。本文介绍了如何通过命令行拍摄增量快照。
环境描述:
资源组名称resourcegroupsanpshotdemo托管磁盘资源resourceid/subscriptions/subscriptionid/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/manageddiskname快照1名称demovmOsDisksnapshot1快照2名称demovmOsDisksnapshot201
在演示环境中,通过Azure CLI创建一个Windows 10演示虚拟机的系统盘,分别创建两个增量快照demovmOsDisksnapshot1和demovmOsDisksnapshot2。文件在两个快照之间下载到演示虚拟机上,并且模拟磁盘的数据会发生变化。
创建演示磁盘快照1。与以前的完全备份相比,命令行中增加了 incremental参数。
#按照实际部署替换subscription,resourcegroup,manageddisknameazsnapshotcreategresourcegroupndemovmOsDisksnapshot1llocationsource创建演示虚拟磁盘快照2
#按照实际部署替换subscription,resourcegroup,manageddisknameazsnapshotcreategresourcegroupndemovmOsDisksnapshot1llocationsource/subscriptions/subscription/resourceGroups/resosurcegroup/providers/Microsoft.Compute/disks/mangeddiskname通过快照创建被管磁盘和主机的方式与完整快照相同,这里不再赘述。您可以在门户上选择磁盘,通过快照创建磁盘,然后从创建的磁盘创建主机。
02
下面介绍另一个场景,结合增量备份做异地备份。无论是完整快照还是增量快照,默认快照生成的区域都与原始对象(被管理的磁盘)所在的区域相同。在极端情况下,如果该区域不可用,快照也不可用,业务也无法恢复。通过增量快照的方式,可以大大减少异地快照备份传输的数据,每次只需要传输增量数据。
在上面的架构图中,在被管理的磁盘源区域,用户客户端通过规划任务不断对被管理的磁盘进行增量快照,并对该区域进行异地备份,通过被管理的磁盘的第一个增量快照创建一个基页Blob,作为基础。由源区域的后续增量快照生成的增量数据由页面数据复制。将增量数据覆盖写入基页Blob。如果不同位置的备份区域考虑了快照备份的多个版本,则可以在每个增量快照数据覆盖基页Blob之前拍摄基页Blob的快照。目前上述逻辑还不是托管磁盘快照服务中内置的内置功能,客户可以通过SDK开发实现。本文用Python SDK示例代码介绍了上述实现:
在上面的演示中,已经有两个增量快照,快照1和快照2。下面的示例代码分为两部分,第一部分是创建基页Blob的副本,第二部分是复制增量快照数据。目前12.2.0版本SDK支持相关引用函数。
基本页面Blob创建副本:
azure.storage.blob=============4*1024*1024range=range.get()+1range.get(=suboffset=min(rangesize)+suboffset,subrangesize,range.get()+=suboffset+FourMegabyteAsBytes增量快照数据拷贝:
blobclient==FourMegabyteAsBytes=4*1024*1024#OverWritetheExistingPageBlockrange=range.get()+1range.get(=suboffset=min(rangesize)+suboffset,subrangesize,range.get()+=suboffset+rangediffpagerange[1(range)targetblobclient.clearpage(range.get(start),range.get(end)+1range.get(start))今天的内容就介绍到这里。希望对大家有帮助。也希望Azure托管磁盘内置的快照备份功能尽快得到支持。
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部