通過遞增快照備份 Azure 非託管 VM 磁碟

2022-02-16 01:28:42 字數 3618 閱讀 8615

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 之後,快照會保留,但會使用可讀寫的副本覆蓋其源。 本文稍後介紹從快照還原以前磁碟版本的步驟。

可以通過執行以下操作實現完整快照複製:

getpageranges api 中的新功能提供更好的方式來備份頁 blob 或磁碟的快照。 該 api 返回基本 blob 和快照之間的更改列表。 這可以減少備份帳戶上使用的儲存空間量。 該 api 支援高階儲存以及標準儲存的頁 blob。 現在,可以使用此 api 為 azure vm 構建更快速且有效的備份解決方案。 此 api 適用於 rest 2015-07-08 版和更高版本。

增量快照複製可讓你將以下兩者之間的差異從乙個儲存帳戶複製到另乙個儲存帳戶:

必須符合以下先決條件:

注意:此功能適用於高階和標準 azure 頁 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_ss2 與 mypremiumdisk_ss1)之間的增量更改。 將這些增量更改寫入到 mybackupstdaccount 中的備份頁 blob mybackupstdpageblob。 如果增量更改中有已刪除的範圍,則必須從備份頁 blob 中清除這些範圍。 使用 putpage 將增量更改寫入備份頁 blob。

為備份頁 blob mybackupstdpageblob 建立名為 mybackupstdpageblob_ss2 的快照。 從高階儲存帳戶刪除以前的快照 mypremiumdisk_ss1。

在每個備份時段內重複步驟 4-6。 這樣,即可在標準儲存帳戶中維護 mypremiumdisk 的備份。

下述步驟將高階磁碟 mypremiumdisk 從備份儲存帳戶 mybackupstdaccount 還原到以前的快照。

確定要將高階磁碟還原到的時間點。 假設這是儲存在備份儲存帳戶 mybackupstdaccount 中的快照 mybackupstdpageblob_ss2。

在 mybackupstdaccount 中,將快照 mybackupstdpageblob_ss2 公升級為新的備份基本頁 blob mybackupstdpageblobrestored。

為此已還原的備份頁 blob 建立名為 mybackupstdpageblobrestored_ss1 的快照。

將已還原頁 blob mybackupstdpageblobrestored 從 mybackupstdaccount 複製到 mypremiumaccount,作為新的高階磁碟 mypremiumdiskrestored。

為 mypremiumdiskrestored 建立名為 mypremiumdiskrestored_ss1 的快照,以便將來執行增量備份。

將 ds 系列 vm 指向已還原的磁碟 mypremiumdiskrestored,並從 vm 分離舊的 mypremiumdisk。

使用 mybackupstdpageblobrestored 作為備份頁 blob,根據前一部分中所述,開始針對已還原的磁碟 mypremiumdiskrestored 執行備份過程。

使用以下鏈結詳細了解如何建立 blob 的快照和規劃 vm 備份基礎結構。

rbd通過快照進行卷備份

rbd的增量備份和恢復 快照的功能一般是基於時間點做乙個標記,然後在某些需要的時候,將狀態恢復到標記的那個點,這個有乙個前提是底層的東西沒用破壞,舉個簡單的例子,vmware裡面對虛擬機器做了乙個快照,然後做了一些系統的操作,想恢復快照,前提是儲存快照的儲存系統沒用破壞,一旦破壞了是無法恢復的 1....

hbase 資料備份(快照)

snapshot 快照 開啟快照功能,在hbase site.xml檔案中新增如下配置項 hbase.snapshot.enabled true 在hbase shell中使用clone snapshot,delete snapshot,list snapshots,restore snapshot...

azure備份虛擬機器

登入經典門戶,新建 資料服務 恢復服務 備份保管庫 快速建立.乙個備份庫可以儲存多個虛擬機器.建立完成,開啟備份庫,點選配置,設定備份的冗餘方式.現在還沒有備份任何虛擬機器。首先點選 已註冊項 然後點選 發現.發現虛擬機器.提示發現虛擬機器,然後註冊.選擇虛擬機器,然後就會在面板上看到選擇虛擬機器狀...