Een back-up maken van Azure Managed Disks met behulp van Azure CLI
In dit artikel wordt beschreven hoe u een back-up maakt van Azure Managed Disk met behulp van Azure CLI.
Belangrijk
Ondersteuning voor back-up en herstel van Azure Managed Disks via CLI is in preview en beschikbaar als een extensie in Az 2.15.0-versie en hoger. De extensie wordt automatisch geïnstalleerd wanneer u de az dataprotection-opdrachten uitvoert. Meer informatie over extensies.
Zie de ondersteuningsmatrix voor informatie over de beschikbaarheid van azure Disk Backup-regio's, ondersteunde scenario's en beperkingen.
Een Backup-kluis maken
Backup Vault is een opslagentiteit in Azure waarin back-upgegevens worden opgeslagen voor verschillende nieuwere workloads die door Azure Backup worden ondersteund, zoals Azure Database for PostgreSQL-servers, blobs in een opslagaccount en Azure Disks. Met back-upkluizen kunt u uw back-upgegevens eenvoudig ordenen, terwijl de beheeroverhead wordt geminimaliseerd. Back-upkluizen zijn gebaseerd op het Azure Resource Manager-model van Azure, dat verbeterde mogelijkheden biedt om back-upgegevens te beveiligen.
Voordat u een Backup-kluis maakt, kiest u de opslagredundantie van de gegevens in de kluis. Ga vervolgens verder met het maken van de Backup-kluis met die opslagredundantie en de locatie. In dit artikel maken we een Backup Vault TestBkpVault, in de regio westus, onder de resourcegroep testBkpVaultRG. Gebruik de opdracht az dataprotection vault create om een Backup-kluis te maken. Meer informatie over het maken van een Backup-kluis.
az dataprotection backup-vault create -g testBkpVaultRG --vault-name TestBkpVault -l westus --type SystemAssigned --storage-settings datastore-type="VaultStore" type="LocallyRedundant"
{
"eTag": null,
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault",
"identity": {
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "SystemAssigned"
},
"location": "westus",
"name": "TestBkpVault",
"properties": {
"provisioningState": "Succeeded",
"storageSettings": [
{
"datastoreType": "VaultStore",
"type": "LocallyRedundant"
}
]
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"tags": null,
"type": "Microsoft.DataProtection/backupVaults"
}
Nadat u een kluis hebt gemaakt, gaan we een back-upbeleid maken om Azure-schijven te beveiligen.
Een back-upbeleid maken
Als u meer wilt weten over de interne onderdelen van een back-upbeleid voor Azure Disk Backup, haalt u de beleidssjabloon op met behulp van de opdracht az dataprotection backup-policy get-default-policy-template . Met deze opdracht wordt een standaardbeleidssjabloon geretourneerd voor een bepaald gegevensbrontype. Gebruik deze beleidssjabloon om een nieuw beleid te maken.
az dataprotection backup-policy get-default-policy-template --datasource-type AzureDisk
{
"datasourceTypes": [
"Microsoft.Compute/disks"
],
"name": "DiskPolicy",
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Incremental",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupHourly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2020-04-05T13:00:00+00:00/PT4H"
]
},
"taggingCriteria": [
{
"isDefault": true,
"tagInfo": {
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
]
}
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P7D",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
}
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
}
]
}
De beleidssjabloon bestaat uit een trigger (waarmee wordt bepaald wat de back-up activeert) en een levenscyclus (waarmee wordt bepaald wanneer de back-up moet worden verwijderd/gekopieerd/verplaatst). In Azure Disk Backup zijn de standaardwaarden voor trigger een geplande trigger voor elke 4 uur (PT4H) en om elke back-up zeven dagen te bewaren.
Geplande trigger:
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2020-04-05T13:00:00+00:00/PT4H"
]
}
}
Standaardlevenscyclus voor retentie:
"lifecycles": [
{
"deleteAfter": {
"duration": "P7D",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
}
}
]
Azure Disk Backup biedt meerdere back-ups per dag. Als u frequentere back-ups nodig hebt, kiest u de frequentie van de back-up per uur met de mogelijkheid om back-ups te maken met intervallen van elke 4, 6, 8 of 12 uur. De back-ups worden gepland op basis van het geselecteerde tijdsinterval .
Als u bijvoorbeeld om de 4 uur selecteert, worden de back-ups ongeveer in het interval van elke 4 uur genomen, zodat de back-ups gelijkmatig over de dag worden verdeeld. Als een back-up eenmaal per dag voldoende is, kiest u de frequentie van de dagelijkse back-up. In de dagelijkse back-upfrequentie kunt u de tijd van de dag opgeven waarop uw back-ups worden gemaakt.
Belangrijk
Het tijdstip van de dag geeft de begintijd van de back-up aan en niet het tijdstip waarop de back-up is voltooid.
De benodigde tijd voor het voltooien van de back-upbewerking is afhankelijk van verschillende factoren, waaronder de grootte van de schijf en het verloop tussen opeenvolgende back-ups. Azure Disk Backup is echter een back-up zonder agent die gebruikmaakt van incrementele momentopnamen, wat geen invloed heeft op de prestaties van de productietoepassing.
Notitie
Hoewel de geselecteerde kluis mogelijk de instelling voor globale redundantie heeft, ondersteunt Azure Disk Backup alleen momentopnamegegevensopslag. Alle back-ups worden opgeslagen in een resourcegroep in uw abonnement en worden niet gekopieerd naar de back-upkluisopslag.
Raadpleeg het document azure Disk Backup-beleid voor meer informatie over het maken van beleid .
Zodra de sjabloon is gedownload als een JSON-bestand, kunt u deze naar behoefte bewerken voor planning en retentie. Maak vervolgens een nieuw beleid met de resulterende JSON. Als u de frequentie per uur of de bewaarperiode wilt bewerken, gebruikt u de triggerset az dataprotection backup-policy set en/of az dataprotection backup-policy retention-rule set opdrachten. Zodra de JSON van het beleid alle vereiste waarden heeft, gaat u verder met het maken van een nieuw beleid vanuit het beleidsobject met behulp van de opdracht az dataprotection backup-policy create .
az dataprotection backup-policy get-default-policy-template --datasource-type AzureDisk > policy.json
az dataprotection backup-policy create -g testBkpVaultRG --vault-name TestBkpVault -n mypolicy --policy policy.json
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/mypolicy",
"name": "mypolicy",
"properties": {
"datasourceTypes": [
"Microsoft.Compute/disks"
],
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Incremental",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupHourly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2020-04-05T13:00:00+00:00/PT4H"
]
},
"taggingCriteria": [
{
"criteria": null,
"isDefault": true,
"tagInfo": {
"eTag": null,
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
]
}
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P7D",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": null
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
}
]
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"type": "Microsoft.DataProtection/backupVaults/backupPolicies"
}
Back-up configureren
Zodra de kluis en het beleid zijn gemaakt, zijn er drie kritieke punten die u moet overwegen om een Azure-schijf te beveiligen.
Betrokken belangrijke entiteiten
Te beveiligen schijf
Haal de ARM-id en de locatie van de schijf op die moet worden beveiligd. Dit fungeert als de id van de schijf. We gebruiken een voorbeeld van een schijf met de naam CLITestDisk, onder een resourcegroep diskrg, onder een ander abonnement.
$DiskId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk"
Momentopname resourcegroep
De momentopnamen van de schijf worden opgeslagen in een resourcegroep binnen uw abonnement. Als richtlijn raden we u aan om een toegewezen resourcegroep te maken als een gegevensarchief voor momentopnamen dat moet worden gebruikt door de Azure Backup-service. Als u een toegewezen resourcegroep hebt, kunt u de toegangsmachtigingen voor de resourcegroep beperken, waardoor de beveiliging en het beheer van de back-upgegevens gemakkelijker worden. Noteer de ARM-id voor de resourcegroep waar u de momentopnamen van de schijf wilt plaatsen
$snapshotrg = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/snapshotrg"
Back-upkluis
De Back-upkluizen vereisen machtigingen op de schijf en de resourcegroep voor momentopnamen om momentopnamen te kunnen activeren en hun levenscyclus te beheren. De door het systeem toegewezen beheerde identiteit van de kluis wordt gebruikt voor het toewijzen van dergelijke machtigingen. Gebruik de opdracht az dataprotection backup-vault update om door het systeem toegewezen beheerde identiteit in te schakelen voor de Recovery Services-kluis.
az dataprotection backup-vault update -g testBkpVaultRG --vault-name TestBkpVault --type SystemAssigned
Machtigingen toewijzen
U moet enkele machtigingen via RBAC toewijzen aan de kluis (vertegenwoordigd door vault MSI) en de relevante schijf en/of de schijf-RG. Deze kunnen worden uitgevoerd via Azure Portal of CLI. Als u gerelateerde machtigingen wilt toewijzen, raadpleegt u de vereisten voor het configureren van back-ups van beheerde schijven.
De aanvraag voorbereiden
Zodra alle relevante machtigingen zijn ingesteld, wordt de configuratie van de back-up in twee stappen uitgevoerd. Eerst bereiden we de relevante aanvraag voor met behulp van de relevante kluis, het beleid, de schijf en de momentopnameresourcegroep met behulp van de opdracht az dataprotection backup-instance initialize . De opdracht initialiseren retourneert een JSON-bestand en vervolgens moet u de waarde van de resourcegroep voor momentopnamen bijwerken. Vervolgens verzenden we de aanvraag om de schijf te beveiligen met behulp van de opdracht az dataprotection backup-instance create .
az dataprotection backup-instance initialize --datasource-type AzureDisk -l southeastasia --policy-id "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/mypolicy" --datasource-id "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk" > backup_instance.json
Open het JSON-bestand en bewerk de resourcegroep-id van de momentopname in de resource_group_id
data_store_parameters_list
sectie.
{
"backup_instance_name": "diskrg-CLITestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166",
"properties": {
"data_source_info": {
"datasource_type": "Microsoft.Compute/disks",
"object_type": "Datasource",
"resource_id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk",
"resource_location": "southeastasia",
"resource_name": "CLITestDisk",
"resource_type": "Microsoft.Compute/disks",
"resource_uri": ""
},
"data_source_set_info": null,
"object_type": "BackupInstance",
"policy_info": {
"policy_id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault/backupPolicies/DiskPolicy",
"policy_parameters": {
"data_store_parameters_list": [
{
"data_store_type": "OperationalStore",
"object_type": "AzureOperationalStoreParameters",
"resource_group_id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/snapshotrg"
}
]
}
}
}
}
Notitie
De naam van het back-upexemplaren wordt gegenereerd door clients, zodat dit een unieke waarde is. Deze is gebaseerd op de naam van de gegevensbron en een unieke GUID. Nadat u de back-upexemplaren hebt vermeld, moet u de naam van het back-upexemplaren en de naam van de relevante gegevensbron kunnen controleren.
Gebruik het bewerkte JSON-bestand om een back-upexemplaren van de Azure Managed Disk te maken.
az dataprotection backup-instance create -g testBkpVaultRG --vault-name TestBkpVault --backup-instance backup_instance.json
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault/backupInstances/diskrg-CLITestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166",
"name": "diskrg-CLITestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166",
"properties": {
"currentProtectionState": "ProtectionConfigured",
"dataSourceInfo": {
"datasourceType": "Microsoft.Compute/disks",
"objectType": "Datasource",
"resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk",
"resourceLocation": "southeastasia",
"resourceName": "CLITestDisk",
"resourceType": "Microsoft.Compute/disks",
"resourceUri": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk"
},
"dataSourceSetInfo": 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/sarath-rg"
}
]
},
"policyVersion": null
},
"protectionErrorDetails": null,
"protectionStatus": {
"errorDetails": null,
"status": "ProtectionConfigured"
},
"provisioningState": "Succeeded"
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"type": "Microsoft.DataProtection/backupVaults/backupInstances"
}
Zodra het back-upexemplaren is gemaakt, kunt u doorgaan met het activeren van een back-up op aanvraag als u niet wilt wachten op de geplande planning van het beleid.
Een on-demand back-up uitvoeren
Geef alle back-upexemplaren in een kluis weer met behulp van de opdracht az dataprotection backup-instance list en haal vervolgens het relevante exemplaar op met behulp van de opdracht az dataprotection backup-instance show . Voor scenario's op schaal kunt u ook back-upexemplaren weergeven tussen kluizen en abonnementen met behulp van de opdracht 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-3df6ac08-9496-4839-8fb5-8b78e594f166",
"identity": null,
"kind": "",
"location": "",
"managedBy": "",
"name": "diskrg-CLITestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166",
"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
}
]
U kunt een regel en tagnaam opgeven tijdens het activeren van een back-up. Als u de regels in beleid wilt weergeven, bekijkt u de JSON van het beleid. In het volgende voorbeeld wordt de regel met de naam "BackupDaily"
en tagnaam "default"
weergegeven. Deze regel wordt gebruikt voor de back-up op aanvraag.
"name": "BackupDaily",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2022-09-27T23:30:00+00:00/P1D"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"criteria": null,
"isDefault": true,
"tagInfo": {
"eTag": null,
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
Activeer een back-up op aanvraag met behulp van de opdracht az dataprotection backup-instance adhoc-backup .
az dataprotection backup-instance adhoc-backup --name "diskrg-CLITestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166" --rule-name "BackupDaily" --resource-group "000pikumar" --vault-name "PratikPrivatePreviewVault1" --retention-tag-override "default"
Taken bijhouden
Volg alle taken met behulp van de opdracht az dataprotection job list . U kunt alle taken weergeven en een bepaalde taakdetails ophalen.
U kunt Az.ResourceGraph ook gebruiken om alle taken in alle Backup-kluizen bij te houden. Gebruik de opdracht az dataprotection job list-from-resourcegraph om de relevante taak op te halen die zich in elke Backup-kluis kan bevinden.
az dataprotection job list-from-resourcegraph --datasource-type AzureDisk --status Completed