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跨境小程序
手機入駐更便捷
返回頂部