Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób przywracania Zarządzane Dyski Azure z punktu przywracania utworzonego przez usługę Azure Backup przy użyciu Azure CLI. Możesz również przywrócić dysk zarządzany przy użyciu witryny Azure Portal, programu Azure PowerShell, interfejsu API REST.
Ważne
Obsługa tworzenia kopii zapasowych i przywracania Azure Managed Disks za pośrednictwem interfejsu wiersza polecenia jest dostępna w wersji zapoznawczej i jest dostępna jako rozszerzenie w wersji Az 2.15.0 lub nowszej. Rozszerzenie jest automatycznie instalowane, gdy uruchamiasz az dataprotection polecenia. Dowiedz się więcej o rozszerzeniach.
Obecnie opcja odzyskiwania oryginalnej lokalizacji (OLR) przez zastąpienie istniejącego dysku źródłowego, z którego zostały wykonane kopie zapasowe, nie jest obsługiwana. Możesz przywrócić z punktu odzyskiwania, aby utworzyć nowy dysk w tej samej grupie zasobów dysku źródłowego lub w dowolnej innej grupie zasobów, która jest nazywana odzyskiwaniem alternatywnej lokalizacji (ALR).
W tym miejscu użyjemy istniejącego magazynu kopii zapasowej TestBkpVault w ramach grupy zasobów testBkpVaultRG w przykładach.
Przywracanie w celu utworzenia nowego dysku
Konfigurowanie uprawnień
Magazyn kopii zapasowych używa tożsamości zarządzanej do uzyskiwania dostępu do innych zasobów platformy Azure. Aby przywrócić kopię zapasową, tożsamość zarządzana magazynu kopii zapasowych wymaga zestawu uprawnień w grupie zasobów, w której ma zostać przywrócony dysk.
Magazyn kopii zapasowych używa przypisanej przez system tożsamości zarządzanej, która jest ograniczona do jednego zasobu i jest powiązana z cyklem życia tego zasobu. Uprawnienia do tożsamości zarządzanej można udzielić przy użyciu kontroli dostępu opartej na rolach (RBAC) platformy Azure. Tożsamość zarządzana to specjalnego typu obiekt główny usługi, którego można używać tylko z zasobami Azure. Dowiedz się więcej o tożsamościach zarządzanych.
Przypisz odpowiednie uprawnienia dla przypisanej przez system tożsamości zarządzanej magazynu w docelowej grupie zasobów, w której należy przywrócić/utworzyć dyski zgodnie z opisem w tym miejscu.
Pobieranie odpowiedniego punktu odzyskiwania
Wyświetl listę wszystkich wystąpień kopii zapasowej w magazynie za pomocą polecenia az dataprotection backup-instance list, a następnie pobierz odpowiednie wystąpienie przy użyciu komendy az dataprotection backup-instance show. Alternatywnie, w przypadku scenariuszy na dużą skalę, można wyświetlić listę wystąpień kopii zapasowych w magazynach i subskrypcjach, używając polecenia az dataprotection backup-instance list-from-resourcegraph
az dataprotection backup-instance list-from-resourcegraph --datasource-type AzureDisk --datasource-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk
[
{
"datasourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk",
"extendedLocation": null,
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault/backupInstances/diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"identity": null,
"kind": "",
"location": "",
"managedBy": "",
"name": "diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"plan": null,
"properties": {
"currentProtectionState": "ProtectionConfigured",
"dataSourceInfo": {
"baseUri": null,
"datasourceType": "Microsoft.Compute/disks",
"objectType": "Datasource",
"resourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk",
"resourceLocation": "westus",
"resourceName": "CLITestDisk",
"resourceType": "Microsoft.Compute/disks",
"resourceUri": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk"
},
"dataSourceProperties": null,
"dataSourceSetInfo": null,
"datasourceAuthCredentials": null,
"friendlyName": "CLITestDisk",
"objectType": "BackupInstance",
"policyInfo": {
"policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault/backupPolicies/DiskPolicy",
"policyParameters": {
"dataStoreParametersList": [
{
"dataStoreType": "OperationalStore",
"objectType": "AzureOperationalStoreParameters",
"resourceGroupId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/snapshotrg"
}
]
},
"policyVersion": null
},
"protectionErrorDetails": null,
"protectionStatus": {
"errorDetails": null,
"status": "ProtectionConfigured"
},
"provisioningState": "Succeeded"
},
"protectionState": "ProtectionConfigured",
"resourceGroup": "testBkpVaultRG",
"sku": null,
"subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tags": null,
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "microsoft.dataprotection/backupvaults/backupinstances",
"vaultName": "TestBkpVault",
"zones": null
}
]
Po zidentyfikowaniu wystąpienia, przy użyciu polecenia az dataprotection recovery-point list, pobierz odpowiedni punkt odzyskiwania.
az dataprotection recovery-point list --backup-instance-name diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e -g testBkpVaultRG --vault-name TestBkpVault
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault/backupInstances/diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/recoveryPoints/5081ad8f1e6c4548ae89536d0d45c493",
"name": "5081ad8f1e6c4548ae89536d0d45c493",
"properties": {
"friendlyName": "0f598ced-cbfe-4169-b962-ee94b0210490",
"objectType": "AzureBackupDiscreteRecoveryPoint",
"policyName": "DiskPSPolicy2",
"policyVersion": null,
"recoveryPointDataStoresDetails": [
{
"creationTime": "2021-06-08T09:01:57.708319+00:00",
"expiryTime": "2021-06-15T09:01:57.708319+00:00",
"id": "c2ad4629-f2ef-49b6-b3f8-50f3eb5404f4",
"metaData": null,
"rehydrationExpiryTime": null,
"rehydrationStatus": null,
"state": "COMMITTED",
"type": "OperationalStore",
"visible": true
}
],
"recoveryPointId": "5081ad8f1e6c4548ae89536d0d45c493",
"recoveryPointTime": "2021-06-08T09:01:57.708319+00:00",
"recoveryPointType": "Incremental",
"retentionTagName": "Default",
"retentionTagVersion": "637553616953961153"
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"type": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints"
},
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault/backupInstances/diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/recoveryPoints/039322cc563049bcbdb77bd695d4c02c",
"name": "039322cc563049bcbdb77bd695d4c02c",
"properties": {
"friendlyName": "af6512b6-aa38-4966-b8e1-660c4eccdc0d",
"objectType": "AzureBackupDiscreteRecoveryPoint",
"policyName": "DiskPSPolicy2",
"policyVersion": null,
"recoveryPointDataStoresDetails": [
{
"creationTime": "2021-06-08T05:01:55.426507+00:00",
"expiryTime": "2021-06-15T05:01:55.426507+00:00",
"id": "c2ad4629-f2ef-49b6-b3f8-50f3eb5404f4",
"metaData": null,
"rehydrationExpiryTime": null,
"rehydrationStatus": null,
"state": "COMMITTED",
"type": "OperationalStore",
"visible": true
}
],
"recoveryPointId": "039322cc563049bcbdb77bd695d4c02c",
"recoveryPointTime": "2021-06-08T05:01:55.426507+00:00",
"recoveryPointType": "Incremental",
"retentionTagName": "Default",
"retentionTagVersion": "637553616953961153"
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"type": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints"
}
]
Na przykład następujące zapytanie zwraca najnowszy punkt odzyskiwania.
az dataprotection recovery-point list --backup-instance-name diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e -g testBkpVaultRG --vault-name TestBkpVault --query "[0].id"
"/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/sarath-vault/backupInstances/clitest-clitest-cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/recoveryPoints/5081ad8f1e6c4548ae89536d0d45c493"
Przygotowywanie żądania przywracania
Skonstruuj identyfikator ARM nowego dysku, który ma zostać utworzony w docelowej grupie zasobów, jak opisano powyżej, do której przypisano uprawnienia, oraz wymaganą nazwę dysku. Użyjmy przykładu dysku o nazwie CLITestDisk2 w ramach grupy zasobów targetrg w ramach innej subskrypcji.
$targetDiskId = /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.Compute/disks/CLITestDisk2
Użyj polecenia az dataprotection backup-instance restore initialize-for-data-recovery, aby ze wszystkimi odpowiednimi szczegółami przygotować żądanie przywrócenia.
az dataprotection backup-instance restore initialize-for-data-recovery --datasource-type AzureDisk --restore-location southeastasia --source-datastore OperationalStore --recovery-point-id 5081ad8f1e6c4548ae89536d0d45c493 --target-resource-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.Compute/disks/CLITestDisk2 > restore.json
{
"object_type": "AzureBackupRecoveryPointBasedRestoreRequest",
"recovery_point_id": "77594ce0470849e79b86a6875b726dca",
"restore_target_info": {
"datasource_info": {
"datasource_type": "Microsoft.Compute/disks",
"object_type": "Datasource",
"resource_id": "//subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.Compute/disks/CLITestDisk2",
"resource_location": "southeastasia",
"resource_name": "CLITestDisk2",
"resource_type": "Microsoft.Compute/disks",
"resource_uri": ""
},
"object_type": "RestoreTargetInfo",
"recovery_option": "FailIfExists",
"restore_location": "southeastasia"
},
"source_data_store_type": "OperationalStore"
}
Możesz również sprawdzić, czy plik JSON powiedzie się w tworzeniu nowych zasobów przy użyciu komendy az dataprotection backup-instance validate-for-restore .
az dataprotection backup-instance validate-for-restore -g testBkpVaultRG --vault-name TestBkpVault --backup-instance-name diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e --restore-request-object restore.json
Uruchom przywracanie
Użyj polecenia az dataprotection backup-instance restore trigger, aby wyzwolić przywracanie za pomocą przygotowanego powyżej żądania.
az dataprotection backup-instance restore trigger -g testBkpVaultRG --vault-name TestBkpVault --backup-instance-name diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e --restore-request-object restore.json
Zadanie śledzenia
Śledź wszystkie zadania, używając polecenia az dataprotection job list. Możesz wyświetlić listę wszystkich zadań i pobrać szczegóły określonego zadania.
Możesz również użyć Az.ResourceGraph do śledzenia wszystkich zadań we wszystkich sejfach kopii zapasowych. Użyj polecenia az dataprotection job list-from-resourcegraph, aby uzyskać odpowiednie zadanie, które może znajdować się w dowolnym magazynie usługi Backup.
az dataprotection job list-from-resourcegraph --datasource-type AzureDisk --operation Restore