使用 Azure PowerShell 還原 Azure 受控磁碟
本文說明如何從 Azure 備份建立的還原點,還原 Azure 受控磁碟。
目前不支援原始位置復原 (OLR) 的還原選項,此選項會取代備份建立的現有來源磁碟。 您可以從復原點還原,在備份建立來源磁碟的相同資源群組或其他任何資源群組中建立新磁碟。 這就是所謂的替代位置復原 (ALR),有助於保留來源磁碟和還原的 (新) 磁碟。
在本文中,您將學會如何:
還原以建立新的磁碟
追蹤還原作業狀態
我們會參考範例中資源群組 "TestBkpVault" 下的現有備份保存庫 "testBkpVaultRG"
$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault -ResourceGroupName "testBkpVaultRG"
還原以建立新的磁碟
設定權限
備份保存庫會使用受控識別,存取其他 Azure 資源。 若要從備份還原,備份保存庫的受控識別需要在還原磁碟的資源群組上有一組權限。
備份保存庫會使用系統指派的受控識別,限制為每個資源一個受控識別,並將其繫結至此資源的生命週期。 您可以使用 Azure 角色型存取控制 (Azure RBAC),授與對受控識別的權限。 受控識別是可能僅適用於 Azure 資源之特殊類型的服務主體。 深入了解受控識別。
對將要還原/建立磁碟的目標資源群組 (如此處所述) 上,指派保存庫之系統指派的受控識別相關權限。
擷取相關復原點
使用 Get-AzDataProtectionBackupInstance 命令擷取所有執行個體,並識別相關的執行個體。
$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name
您也可以使用 Az.Resourcegraph 和 Search-AzDataProtectionBackupInstanceInAzGraph 命令,在多個保存庫和訂閱的執行個體中執行搜尋。
$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -DatasourceType AzureDisk -ProtectionStatus ProtectionConfigured
識別執行個體之後,請擷取相關的復原點。
$rp = Get-AzDataProtectionRecoveryPoint -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstanceName $AllInstances[2].BackupInstanceName
準備還原要求
將建立時附有目標資源群組的新磁碟 ARM 識別碼,建構成上方所述的指派權限,以及所需的磁碟名稱。 例如,在具有不同訂閱的資源群組 targetrg 下,可以將磁碟命名為 PSTestDisk2。
$targetDiskId = /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.Compute/disks/PSTestDisk2
請使用 Initialize-AzDataProtectionRestoreRequest 命令,使用所有相關詳細資料準備還原要求。
$restorerequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDisk -SourceDataStore OperationalStore -RestoreLocation $TestBkpVault.Location -RestoreType AlternateLocation -TargetResourceId $targetDiskId -RecoveryPoint $rp[0].Name
觸發還原
使用 Start-AzDataProtectionBackupInstanceRestore 命令,以上述備妥的要求來觸發還原。
Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $AllInstances[2].BackupInstanceName -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Parameter $restorerequest
追蹤工作
使用 Get-AzDataProtectionJob 命令追蹤所有工作。 您可以列出所有工作,並擷取特定的工作詳細資料。
您也可以使用 Az.ResourceGraph 追蹤所有備份保存庫的所有工作。 使用 Search-AzDataProtectionJobInAzGraph 命令取得可跨所有備份保存庫的相關工作。
$job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureDisk -Operation OnDemandBackup