Azure Managed Disk 增量快照

來源: Microsoft云科技
作者:Microsoft云科技
時間:2020-08-31
17122
今天來介紹一下 Azure Managed Disk 的增量快照功能。在增量快照功能之前,對于托管磁盤,用戶只能通過全量的方式對磁盤進行快照,快照成本不優(yōu);其次對于快照做異地備份恢復場景,全量快照同樣會增加備份的時間并帶來額外流量費用。

今天來介紹一下Azure Managed Disk的增量快照功能。在增量快照功能之前,對于托管磁盤,用戶只能通過全量的方式對磁盤進行快照,快照成本不優(yōu);其次對于快照做異地備份恢復場景,全量快照同樣會增加備份的時間并帶來額外流量費用。通過Azure Managed Disk對于增量快照的支持,用戶可以對托管磁盤進行一盤多照,每次快照只會產(chǎn)生前一次快照所產(chǎn)生的差異數(shù)據(jù),并且Azure會幫用戶托管相同托管磁盤的快照之間的依賴關(guān)系。

ia_6200000003.jpg

目前該功能在國內(nèi)Azure和海外Azure都已經(jīng)GA,目前在國內(nèi)還不支持Portal配置,本文為大家介紹通過命令行如何進行增量快照。

環(huán)境說明:

-- 資源組名稱 resourcegroup
sanpshotdemo-- 托管磁盤資源 resourceid/subscriptions/<subscriptionid>/resourceGroups/<resourcegroup>/providers/Microsoft.Compute/disks/<manageddiskname>

-- 快照1名稱
demovm_OsDisk_snapshot1-- 快照2名稱
demovm_OsDisk_snapshot2

01

演示環(huán)境中通過Azure CLI創(chuàng)建對一臺Windows 10演示VM的系統(tǒng)盤分別創(chuàng)建兩次增量快照demovm_OsDisk_snapshot1和demovm_OsDisk_snapshot2,兩次快照之間在演示VM之上下載文件,仿真磁盤數(shù)據(jù)發(fā)生變化。

創(chuàng)建demovm_OsDisk_snapshot1,相較之前的全量備份,命令行上增加了--incremental參數(shù)

# 按照實際部署替換 <subscription>, <resourcegroup>, <manageddiskname>
az snapshot create -g <resourcegroup> -n demovm_OsDisk_snapshot1 -l <location> --source

創(chuàng)建demovm_OsDisk_snapshot2

# 按照實際部署替換 <subscription>, <resourcegroup>, <manageddiskname>
az snapshot create -g <resourcegroup> -n demovm_OsDisk_snapshot1 -l <location> --source "/subscriptions/<subscription>/resourceGroups/<resosurcegroup>/providers/Microsoft.Compute/disks/<mangeddiskname>"

通過快照創(chuàng)建托管磁盤并創(chuàng)建主機的方式和全量快照沒有變化,這里不做贅述,大家可以在Portal上選擇磁盤,通過快照創(chuàng)建磁盤,再由創(chuàng)建的磁盤創(chuàng)建主機即可。

02

下面我們來介紹另外一個場景,結(jié)合增量備份來做異地備份的場景。無論全量快照和增量快照,默認快照生成的區(qū)域與原始對象(托管磁盤)所在的區(qū)域是相同的,在極端情況下如果Region不可用了,該快照也不可用,業(yè)務無法恢復。通過增量快照的方式,可以大大減少異地快照備份傳輸?shù)臄?shù)據(jù),只需要每次對增量數(shù)據(jù)進行傳輸即可。

ia_6200000006.jpg

上述架構(gòu)圖中,在托管磁盤源Region,用戶客戶通過計劃任務持續(xù)對托管磁盤進行增量快照,在異地備份Region,通過托管磁盤的第一個增量快照來創(chuàng)建一個Base Page Blob,該Base Page Blob作為地基,后續(xù)源region的增量快照產(chǎn)生的增量數(shù)據(jù),通過Page數(shù)據(jù)拷貝的方式,將增量數(shù)據(jù)覆蓋寫入到Base Page Blob,如果異地備份region考慮快照備份的多版本,可以在每次增量快照數(shù)據(jù)覆寫B(tài)ase Page Blob前,對Base Page Blob做快照。上述邏輯目前在托管磁盤的快照服務中還不是Build-In的內(nèi)置功能,客戶目前可以通過SDK來開發(fā)實現(xiàn),本文以Python SDK示例代碼為大家介紹上述實現(xiàn):

上面演示中已經(jīng)存在了兩個增量Snapshot,snapshot1和snapshot2,下面的示例代碼分兩部分,第一部分Base Page Blob創(chuàng)建拷貝,第二部分增量的快照數(shù)據(jù)拷貝,目前相關(guān)引用函數(shù)在12.2.0版本SDK中支持。

Base Page Blob創(chuàng)建拷貝:

 azure.storage.blob = = = = = = = ====== 4 * 1024 * 1024 range = range.get() + 1 - range.get(= suboffset <= min(range_size -) + suboffset, subrangesize, range.get() += suboffset + FourMegabyteAsBytes

增量快照數(shù)據(jù)拷貝:

blob_client ==FourMegabyteAsBytes = 4 * 1024 * 1024
# OverWrite the Existing Page Block range = range.get() + 1 - range.get(= suboffset <= min(range_size -) + suboffset, subrangesize, range.get() += suboffset + range  diff_page_range[1(range)
    target_blob_client.clear_page(range.get('start'), range.get('end') + 1 - range.get('start'))

今天的內(nèi)容介紹到這里,希望對大家有所幫助,后續(xù)也希望Azure Managed Disk Build-In的快照異地備份功能早日支持。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Microsoft云科技,本站不擁有所有權(quán),不承擔相關(guān)法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家