使用 PowerShell 在 Azure 中備份虛擬機器
Azure PowerShell AZ 模組用於從命令列或在指令碼中建立和管理 Azure 資源。
Azure 備份會備份內部部署機器與應用程式,以及 Azure VM。 本文說明如何使用 AZ 模組來備份 Azure VM。 此外,您可以使用 Azure CLI 或在Azure 入口網站中備份 VM。
本快速入門能夠在現有的 Azure VM 上進行備份。 如果您需要建立 VM,您可以使用 Azure PowerShell 來建立 VM。
本快速入門需要 Azure PowerShell AZ 模組 1.0.0 版或更新版本。 執行 Get-Module -ListAvailable Az
以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure PowerShell 模組。
注意
建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 若要開始使用,請參閱 安裝 Azure PowerShell。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az。
登入並註冊
使用
Connect-AzAccount
命令登入 Azure 訂用帳戶並遵循畫面上的指示。Connect-AzAccount
第一次使用 Azure 備份時,您必須使用 Register-AzResourceProvider 在您的訂用帳戶中註冊 Azure 復原服務提供者,如下所示:
Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
建立復原服務保存庫
復原服務保存庫是一個邏輯容器,可儲存受保護資源 (例如 Azure VM) 的備份資料。 當備份作業執行時,它會在復原服務保存庫內建立復原點。 然後您可以使用其中一個復原點,將資料還原到指定的時間點。
當您建立保存庫:
- 針對資源群組和位置,指定您想要備份的資源群組和 VM 的位置。
- 如果您使用範例指令碼來建立 VM,則資源群組為 myResourceGroup、VM 為*myVM,而資源位於 WestEurope 區域。
- 「Azure 備份」會自動處理用於備份資料的儲存體。 保存庫預設會使用異地備援儲存體 (GRS)。 異地備援可確保會將備份的資料複寫到與主要區域相距數百英哩的次要 Azure 區域。
現在請建立保存庫:
使用 New-AzRecoveryServicesVault 來建立保存庫:
New-AzRecoveryServicesVault ` -ResourceGroupName "myResourceGroup" ` -Name "myRecoveryServicesVault" ` -Location "WestEurope"
使用 Set-AzRecoveryServicesVaultContext 設定保存庫內容,如下所示:
Get-AzRecoveryServicesVault ` -Name "myRecoveryServicesVault" | Set-AzRecoveryServicesVaultContext
使用Set-AzRecoveryServicesBackupProperty 變更保存庫的儲存體備援組態 (LRS/GRS),如下所示:
Get-AzRecoveryServicesVault ` -Name "myRecoveryServicesVault" | Set-AzRecoveryServicesBackupProperty -BackupStorageRedundancy LocallyRedundant/GeoRedundant
注意
只有當保存庫中沒有受保護的備份項目時,才可以修改儲存體備援。
啟用 Azure VM 的備份
您可以啟用 Azure VM 的備份功能,並指定備份原則。
- 原則可定義何時執行備份,以及備份所建立的復原點應保留多長的時間。
- 預設保護原則會每天對 VM 執行備份一次,並將建立的復原點保留 30 天。 您可以使用此預設原則來快速保護您的 VM。
請依照下列方式啟用備份:
首先,使用 Get-AzRecoveryServicesBackupProtectionPolicy 設定預設原則:
$policy = Get-AzRecoveryServicesBackupProtectionPolicy -Name "DefaultPolicy"
使用 Enable-AzRecoveryServicesBackupProtection 啟用 VM 備份。 指定原則、資源群組及 VM 名稱。
Enable-AzRecoveryServicesBackupProtection ` -ResourceGroupName "myResourceGroup" ` -Name "myVM" ` -Policy $policy
開始備份作業
備份會依據備份原則中指定的排程執行。 您也可以執行隨選備份:
- 第一個初始備份作業會建立完整復原點。
- 在初始備份之後,每個備份作業都會建立增量復原點。
- 增量復原點符合儲存和時間效率,因為它只會傳輸自上次備份後所做的變更。
若要執行隨選備份,請您使用 Backup-AzRecoveryServicesBackupItem。
- 使用 Get-AzRecoveryServicesBackupContainer,指定保留備份資料的保存庫容器。
- 要備份的每個 VM 都會被視為一個項目。 若要開始備份作業,您需使用 Get-AzRecoveryServicesBackupItem 來取得 VM 的相關資訊。
執行隨選備份作業,如下所示:
指定容器,取得 VM 資訊,然後執行備份。
$backupcontainer = Get-AzRecoveryServicesBackupContainer ` -ContainerType "AzureVM" ` -FriendlyName "myVM" $item = Get-AzRecoveryServicesBackupItem ` -Container $backupcontainer ` -WorkloadType "AzureVM" Backup-AzRecoveryServicesBackupItem -Item $item
因為第一個備份作業會建立完整復原點,所以您可能需要等待長達 20 分鐘。 請監視作業,如下一個程序所述。
監視備份作業
執行 Get-AzRecoveryservicesBackupJob 以監視作業狀態。
Get-AzRecoveryservicesBackupJob
輸出會類似下列範例,其顯示的作業為 [進行中]︰
WorkloadName Operation Status StartTime EndTime JobID ------------ --------- ------ --------- ------- ----- myvm Backup InProgress 9/18/2017 9:38:02 PM 9f9e8f14 myvm ConfigureBackup Completed 9/18/2017 9:33:18 PM 9/18/2017 9:33:51 PM fe79c739
當作業狀態為 [已完成] 時,表示 VM 受到保護,並已儲存完整的復原點。
管理 VM 備份
如果想要執行更多動作,例如變更原則、編輯原則等, 請參閱管理 VM 備份一節。
清除部署
如果您不再需要備份 VM,便可加以清除。
- 如果您想要嘗試還原 VM,請略過清除程序。
- 如果您使用現有的 VM,可以略過最後的 Remove-AzResourceGroup Cmdlet,讓資源群組和 VM 留在原處。
停用保護,移除還原點和保存庫。 然後,刪除資源群組和相關聯的 VM 資源,如下所示:
Disable-AzRecoveryServicesBackupProtection -Item $item -RemoveRecoveryPoints
$vault = Get-AzRecoveryServicesVault -Name "myRecoveryServicesVault"
Remove-AzRecoveryServicesVault -Vault $vault
Remove-AzResourceGroup -Name "myResourceGroup"
下一步
在本快速入門中,您已建立復原服務保存庫、啟用 VM 的保護功能,並建立初始復原點。