Eseguire il backup di Azure Managed Disks con l'interfaccia della riga di comando di Azure
Questo articolo descrive come eseguire il backup di Azure Managed Disk usando l'interfaccia della riga di comando di Azure.
Importante
Il supporto per il backup e il ripristino di Managed Disks di Azure tramite l'interfaccia della riga di comando è disponibile in anteprima e disponibile come estensione in Az 2.15.0 versione e versioni successive. L'estensione viene installata automaticamente quando si eseguono i comandi az dataprotection. Altre informazioni sulle estensioni.
Per informazioni sulle aree di disponibilità, sugli scenari supportati e sulle limitazioni del backup di dischi di Azure, vedere la matrice di supporto.
Creare un insieme di credenziali per il backup
L'insieme di credenziali di backup è un'entità di archiviazione in Azure che archivia i dati di backup per vari carichi di lavoro più recenti che Backup di Azure supporta, ad esempio server Database di Azure per PostgreSQL, BLOB in un account di archiviazione e Dischi di Azure. Gli insiemi di credenziali di backup semplificano l'organizzazione dei dati di backup, riducendo al minimo il carico di gestione. Gli insiemi di credenziali di Backup si basano sul modello di Azure Resource Manager di Azure, che offre funzionalità avanzate per proteggere i dati di backup.
Prima di creare un insieme di credenziali di Backup, scegliere la ridondanza di archiviazione dei dati all'interno di tale insieme. Procedere quindi con la creazione dell'insieme di credenziali di Backup con la ridondanza di archiviazione e il percorso. In questo articolo verrà creato un insieme di credenziali di Backup TestBkpVault, nell'area westus, nel gruppo di risorse testBkpVaultRG. Usare il comando az dataprotection vault create per creare un insieme di credenziali di Backup. Altre informazioni sulla creazione di un insieme di credenziali di backup.
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": "2ca1d5f7-38b3-4b61-aa45-8147d7e0edbc",
"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"
}
Dopo la creazione dell'insieme di credenziali, si creerà un criterio di backup per proteggere i dischi di Azure.
Creare un criterio di backup
Per comprendere i componenti interni di un criterio di backup per Backup dischi di Azure, recuperare il modello di criteri usando il comando az dataprotection backup-policy get-default-policy-template . Questo comando restituisce un modello di criteri predefinito per un determinato tipo di origine dati. Usare questo modello di criterio per creare un nuovo criterio.
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"
}
]
}
Il modello di criteri è costituito da un trigger (che determina cosa attiva il backup) e un ciclo di vita (che decide quando eliminare/copiare/spostare il backup). In Backup dischi di Azure i valori predefiniti per il trigger sono un trigger pianificato per ogni 4 ore (PT4H) e per conservare ogni backup per sette giorni.
Trigger pianificato:
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2020-04-05T13:00:00+00:00/PT4H"
]
}
}
Ciclo di vita di conservazione predefinito:
"lifecycles": [
{
"deleteAfter": {
"duration": "P7D",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
}
}
]
Il backup di dischi di Azure offre più backup al giorno. Se sono necessari backup più frequenti, scegliere il backup con frequenza Oraria con la possibilità di eseguire backup con intervalli di 4, 6, 8 o 12 ore. I backup vengono pianificati in base all'intervallo di Tempo selezionato.
Ad esempio, se si seleziona Ogni 4 ore, i backup vengono eseguiti approssimativamente nell'intervallo di ogni 4 ore in modo che i backup vengano distribuiti equamente durante il giorno. Se è sufficiente un backup una volta al giorno, scegliere la frequenza di backup giornaliera . Nella frequenza dei backup giornalieri, è possibile specificare l'ora del giorno in cui vengono effettuati i backup.
Importante
L'ora del giorno indica l'ora di inizio e non l'ora di completamento del backup.
Il tempo necessario per completare l'operazione di backup dipende da vari fattori, tra cui le dimensioni del disco e la varianza tra i backup consecutivi. Tuttavia, Backup su disco di Azure è un backup senza agente che usa snapshot incrementali, che non influisce sulle prestazioni dell'applicazione di produzione.
Nota
Anche se l'insieme di credenziali selezionato può avere l'impostazione di ridondanza globale, attualmente Backup dischi di Azure supporta solo l'archivio dati snapshot. Tutti i backup vengono archiviati in un gruppo di risorse nella sottoscrizione e non vengono copiati nell'archivio dell'insieme di credenziali di backup.
Per altre informazioni sulla creazione dei criteri, vedere il documento criteri di Backup dischi di Azure.
Dopo aver scaricato il modello come file JSON, è possibile modificarlo per la pianificazione e la conservazione in base alle esigenze. Creare quindi un nuovo criterio con il codice JSON risultante. Se si vuole modificare la frequenza oraria o il periodo di conservazione, usare i comandi az dataprotection backup-policy trigger set e/o az dataprotection backup-policy retention-rule set . Quando il file JSON dei criteri include tutti i valori necessari, procedere con la creazione di un nuovo criterio dall'oggetto criteri usando il comando 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"
}
Configurare il backup
Dopo aver creato l'insieme di credenziali e i criteri, è necessario considerare tre punti critici per proteggere un disco di Azure.
Entità chiave coinvolte
Disco da proteggere
Recuperare l'ID ARM e il percorso del disco da proteggere. Verrà usato come identificatore del disco. Verrà usato un esempio di disco denominato CLITestDisk, in un diskrg del gruppo di risorse, in una sottoscrizione diversa.
$DiskId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk"
Gruppo di risorse dello snapshot
Gli snapshot del disco vengono archiviati in un gruppo di risorse nella sottoscrizione. Come linea guida, è consigliabile creare un gruppo di risorse dedicato come archivio dati snapshot da usare dal servizio Backup di Azure. La disponibilità di un gruppo di risorse dedicato consente di limitare le autorizzazioni di accesso per il gruppo di risorse, offrendo sicurezza e facilità di gestione dei dati di backup. Prendere nota dell'ID ARM per il gruppo di risorse in cui si desidera inserire gli snapshot del disco
$snapshotrg = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/snapshotrg"
Insieme di credenziali per il backup
Gli insiemi di credenziali di backup richiedono autorizzazioni per il disco e il gruppo di risorse snapshot per poter attivare gli snapshot e gestire il ciclo di vita. L'identità gestita assegnata dal sistema dell'insieme di credenziali viene usata per assegnare tali autorizzazioni. Usare il comando az dataprotection backup-vault update per abilitare l'identità gestita assegnata dal sistema per l'insieme di credenziali di Servizi di ripristino.
az dataprotection backup-vault update -g testBkpVaultRG --vault-name TestBkpVault --type SystemAssigned
Assegnare autorizzazioni
È necessario assegnare alcune autorizzazioni tramite il controllo degli accessi in base al ruolo all'insieme di credenziali (rappresentato dall'identità del servizio gestito dell'insieme di credenziali) e al disco e/o al disco RG. Queste operazioni possono essere eseguite tramite portale di Azure o l'interfaccia della riga di comando. Per assegnare autorizzazioni correlate, vedere i prerequisiti per configurare il backup dei dischi gestiti.
Preparare la richiesta
Dopo aver impostato tutte le autorizzazioni pertinenti, la configurazione del backup viene eseguita in due passaggi. Prima di tutto, si prepara la richiesta pertinente usando l'insieme di credenziali, i criteri, il disco e il gruppo di risorse snapshot pertinenti usando il comando az dataprotection backup-instance initialize . Il comando initialize restituisce un file JSON e quindi è necessario aggiornare il valore del gruppo di risorse snapshot. Inviare quindi la richiesta per proteggere il disco usando il comando 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
Aprire il file JSON e modificare l'ID del gruppo di risorse snapshot nella resource_group_id
sezione .data_store_parameters_list
{
"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"
}
]
}
}
}
}
Nota
Il nome dell'istanza di backup viene generato dai client in modo che sia un valore univoco. Si basa sul nome dell'origine dati e su un GUID univoco. Dopo aver elencato le istanze di backup, sarà possibile controllare il nome dell'istanza di backup e il nome dell'origine dati pertinente.
Usare il file JSON modificato per creare un'istanza di backup del disco gestito di Azure.
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"
}
Dopo aver creato l'istanza di backup, è possibile procedere con l'attivazione di un backup su richiesta se non si vuole attendere la pianificazione del criterio.
Eseguire un backup su richiesta
Elencare tutte le istanze di backup all'interno di un insieme di credenziali usando il comando az dataprotection backup-instance list e quindi recuperare l'istanza pertinente usando il comando az dataprotection backup-instance show. In alternativa, per gli scenari su larga scala, è possibile elencare le istanze di backup tra insiemi di credenziali e sottoscrizioni usando il comando 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
}
]
È possibile specificare una regola e un tagname durante l'attivazione del backup. Per visualizzare le regole nei criteri, esaminare il codice JSON dei criteri. Nell'esempio seguente viene visualizzata la regola con il nome e il nome "BackupDaily"
"default"
del tag e verrà usata tale regola per il backup su richiesta.
"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
}
Attivare un backup su richiesta usando il comando 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"
Tenere traccia dei processi
Tenere traccia di tutti i processi usando il comando az dataprotection job list . È possibile elencare tutti i processi e recuperare un dettaglio specifico del processo.
È anche possibile usare Az.ResourceGraph per tenere traccia dei processi in tutti gli insiemi di credenziali di Backup. Usare il comando az dataprotection job list-from-resourcegraph per recuperare il processo pertinente che può trovarsi in qualsiasi insieme di credenziali di Backup.
az dataprotection job list-from-resourcegraph --datasource-type AzureDisk --status Completed
Passaggio successivo
Ripristinare Azure Managed Disks usando l'interfaccia della riga di comando di Azure