Gestire i backup della condivisione file di Azure con l'interfaccia della riga di comando di Azure
L'interfaccia della riga di comando di Azure offre un'esperienza di tipo riga di comando per la gestione delle risorse di Azure. È un ottimo strumento per la creazione di automazione personalizzata per l'uso delle risorse di Azure. Questo articolo illustra come eseguire attività per la gestione e il monitoraggio delle condivisioni file di Azure sottoposte a backup mediante Backup di Azure. È anche possibile eseguire questi passaggi tramite il portale di Azure.
Prerequisiti
Questo articolo presuppone che sia già disponibile una condivisione file di Azure sottoposta a backup mediante Backup di Azure. Se non è disponibile, vedere Eseguire il backup di condivisioni file di Azure con l'interfaccia della riga di comando per configurare il backup per le condivisioni file. Per questo articolo, sono necessarie le risorse seguenti:
- Gruppo di risorse: azurefiles
- RecoveryServicesVault: azurefilesvault
- Account di archiviazione: afsaccount
- Condivisione file: azurefiles
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
- Questa esercitazione richiede la versione 2.0.18 o successiva dell'interfaccia della riga di comando di Azure. Se si usa Azure Cloud Shell, la versione più recente è già installata.
Monitorare i processi
Quando si attivano operazioni di backup o ripristino, il servizio di backup crea un processo per il rilevamento. Per monitorare i processi completati o attualmente in esecuzione, usare il cmdlet az backup job list. Con l'interfaccia della riga di comando è anche possibile sospendere un processo attualmente in esecuzione o attendere il completamento di un processo.
L'esempio seguente mostra lo stato dei processi di backup per l'insieme di credenziali di Servizi di ripristino azurefilesvault:
az backup job list --resource-group azurefiles --vault-name azurefilesvault
[
{
"eTag": null,
"id": "/Subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupJobs/d477dfb6-b292-4f24-bb43-6b14e9d06ab5",
"location": null,
"name": "d477dfb6-b292-4f24-bb43-6b14e9d06ab5",
"properties": {
"actionsInfo": null,
"activityId": "3cef43ed-0af4-43e2-b9cb-1322c496ccb4",
"backupManagementType": "AzureStorage",
"duration": "0:00:29.718011",
"endTime": "2020-01-13T08:05:29.180606+00:00",
"entityFriendlyName": "azurefiles",
"errorDetails": null,
"extendedInfo": null,
"jobType": "AzureStorageJob",
"operation": "Backup",
"startTime": "2020-01-13T08:04:59.462595+00:00",
"status": "Completed",
"storageAccountName": "afsaccount",
"storageAccountVersion": "MicrosoftStorage"
},
"resourceGroup": "azurefiles",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupJobs"
},
{
"eTag": null,
"id": "/Subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupJobs/1b9399bf-c23c-4caa-933a-5fc2bf884519",
"location": null,
"name": "1b9399bf-c23c-4caa-933a-5fc2bf884519",
"properties": {
"actionsInfo": null,
"activityId": "2663449c-94f1-4735-aaf9-5bb991e7e00c",
"backupManagementType": "AzureStorage",
"duration": "0:00:28.145216",
"endTime": "2020-01-13T08:05:27.519826+00:00",
"entityFriendlyName": "azurefilesresource",
"errorDetails": null,
"extendedInfo": null,
"jobType": "AzureStorageJob",
"operation": "Backup",
"startTime": "2020-01-13T08:04:59.374610+00:00",
"status": "Completed",
"storageAccountName": "afsaccount",
"storageAccountVersion": "MicrosoftStorage"
},
"resourceGroup": "azurefiles",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupJobs"
}
]
Crea criteri
È possibile creare un criterio di backup eseguendo il comandoaz backup policy create con i parametri seguenti:
- --backup-management-type: Archiviazione di Azure
- --workload-type: AzureFileShare
- --name: nome del criterio
- --policy: file JSON con i dettagli appropriati per la pianificazione e la conservazione
- --resource-group: gruppo di risorse dell'insieme di credenziali
- --vault-name: nome dell'insieme di credenziali
Esempio
az backup policy create --resource-group azurefiles --vault-name azurefilesvault --name schedule20 --backup-management-type AzureStorage --policy samplepolicy.json --workload-type AzureFileShare
Codice JSON di esempio (samplepolicy.json)
{
"eTag": null,
"id": "/Subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupPolicies/schedule20",
"location": null,
"name": "schedule20",
"properties": {
"backupManagementType": "AzureStorage",
"protectedItemsCount": 0,
"retentionPolicy": {
"dailySchedule": {
"retentionDuration": {
"count": 30,
"durationType": "Days"
},
"retentionTimes": [
"2020-01-05T08:00:00+00:00"
]
},
"monthlySchedule": null,
"retentionPolicyType": "LongTermRetentionPolicy",
"weeklySchedule": null,
"yearlySchedule": null
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": null,
"scheduleRunFrequency": "Daily",
"scheduleRunTimes": [
"2020-01-05T08:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
},
"timeZone": "UTC",
"workLoadType": “AzureFileShare”
},
"resourceGroup": "azurefiles",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupPolicies"
}
Esempio per creare un criterio di backup che configura più backup al giorno
Questo codice JSON di esempio prevede i requisiti seguenti:
- Pianificazione: eseguire il backup ogni 4 ore a partire dalle 8:00 (UTC) per le 12 oresuccessive.
- Conservazione: giornaliera - 5 giorni, settimanale - ogni domenica per 12 settimane, mensile - prima domenica di ogni mese per 60 mesie annuale - prima domenica di gennaio per 10 anni.
{
"properties":{
"backupManagementType": "AzureStorage",
"workloadType": "AzureFileShare",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Hourly",
"hourlySchedule": {
"interval": 4,
"scheduleWindowStartTime": "2021-09-29T08:00:00.000Z",
"scheduleWindowDuration": 12
}
},
"timeZone": "UTC",
"retentionPolicy": {
"retentionPolicyType": "LongTermRetentionPolicy",
"dailySchedule": {
"retentionTimes": null,
"retentionDuration": {
"count": 5,
"durationType": "Days"
}
},
"weeklySchedule": {
"daysOfTheWeek": [
"Sunday"
],
"retentionTimes": null,
"retentionDuration": {
"count": 12,
"durationType": "Weeks"
}
},
"monthlySchedule": {
"retentionScheduleFormatType": "Weekly",
"retentionScheduleDaily": null,
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": null,
"retentionDuration": {
"count": 60,
"durationType": "Months"
}
},
"yearlySchedule": {
"retentionScheduleFormatType": "Weekly",
"monthsOfYear": [
"January"
],
"retentionScheduleDaily": null,
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": null,
"retentionDuration": {
"count": 10,
"durationType": "Years"
}
}
}
}
}
Dopo aver creato correttamente i criteri, l'output del comando visualizzerà il codice JSON dei criteri passato come parametro durante l'esecuzione del comando.
È possibile modificare la sezione relativa alla pianificazione e alla conservazione dei criteri in base alle esigenze.
Esempio
Se si vuole conservare il backup della prima domenica di ogni mese per due mesi, aggiornare la pianificazione mensile come indicato di seguito:
"monthlySchedule": {
"retentionDuration": {
"count": 2,
"durationType": "Months"
},
"retentionScheduleDaily": null,
"retentionScheduleFormatType": "Weekly",
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2020-01-05T08:00:00+00:00"
]
}
Modifica dei criteri
È possibile modificare un criterio di backup per cambiare la frequenza di backup o l'intervallo di conservazione usando az backup item set-policy.
Per modificare il criterio, definire i parametri seguenti:
- --container-name: nome dell'account di archiviazione che ospita la condivisione file. Per recuperare il nome o il nome descrittivo del contenitore, usare il comando az backup container list.
- --name: nome della condivisione file per cui si desidera modificare il criterio. Per recuperare il nome o il nome descrittivo dell'elemento sottoposto a backup, usare il comando az backup item list.
- --policy-name: nome del criterio di backup da impostare per la condivisione file. È possibile usare az backup policy list per visualizzare tutti i criteri per l'insieme di credenziali in uso.
L'esempio seguente imposta il criterio di backup schedule2 per la condivisione file azurefiles presente nell'account di archiviazione afsaccount.
az backup item set-policy --policy-name schedule2 --name azurefiles --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --name "AzureFileShare;azurefiles" --backup-management-type azurestorage --out table
È anche possibile eseguire il comando precedente usando i nomi descrittivi del contenitore e dell'elemento specificando i due parametri aggiuntivi seguenti:
- --backup-management-type: azurestorage
- --workload-type: azurefileshare
az backup item set-policy --policy-name schedule2 --name azurefiles --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --name azurefiles --backup-management-type azurestorage --out table
Name ResourceGroup
------------------------------------ ---------------
fec6f004-0e35-407f-9928-10a163f123e5 azurefiles
L'attributo Name nell'output corrisponde al nome del processo creato dal servizio di backup per l'operazione associata ai criteri di modifica. Per tenere traccia dello stato del processo, usare il cmdlet az backup job show.
Interrompere la protezione in una condivisione file
Per interrompere la protezione di condivisioni file di Azure è possibile procedere in due modi:
- Arrestare tutti i processi di backup futuri ed eliminare tutti i punti di recupero.
- Arrestare tutti i processi di backup futuri conservando però i punti di ripristino.
Alla conservazione dei punti di ripristino nella risorsa di archiviazione può essere associato un costo, dato che verranno conservati gli snapshot sottostanti creati da Backup di Azure. Il vantaggio offerto dalla conservazione dei punti di ripristino è rappresentato dalla possibilità di ripristinare eventualmente la condivisione file in un secondo momento. Per informazioni sul costo associato al mantenimento dei punti di ripristino, vedere Dettagli prezzi. Se si sceglie di eliminare tutti i punti di ripristino, non sarà possibile ripristinare la condivisione file.
Per interrompere la protezione per la condivisione file, definire i parametri seguenti:
- --container-name: nome dell'account di archiviazione che ospita la condivisione file. Per recuperare il nome o il nome descrittivo del contenitore, usare il comando az backup container list.
- --item-name: nome della condivisione file per cui si vuole interrompere la protezione. Per recuperare il nome o il nome descrittivo dell'elemento sottoposto a backup, usare il comando az backup item list.
Interrompere la protezione e conservare i punti di ripristino
Per interrompere la protezione senza conservazione dei dati, usare il cmdlet az backup protection disable.
L'esempio seguente interrompe la protezione per la condivisione file azurefiles, ma conserva tutti i punti di ripristino.
az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --item-name “AzureFileShare;azurefiles” --out table
È anche possibile eseguire il comando precedente usando i nomi descrittivi del contenitore e dell'elemento specificando i due parametri aggiuntivi seguenti:
- --backup-management-type: azurestorage
- --workload-type: azurefileshare
az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --item-name azurefiles --workload-type azurefileshare --backup-management-type Azurestorage --out table
Name ResourceGroup
------------------------------------ ---------------
fec6f004-0e35-407f-9928-10a163f123e5 azurefiles
L'attributo Name nell'output corrisponde al nome del processo creato dal servizio di backup per l'operazione di interruzione della protezione. Per tenere traccia dello stato del processo, usare il cmdlet az backup job show.
Interrompere la protezione senza conservare i punti di ripristino
Per interrompere la protezione senza conservare i punti di ripristino, usare il cmdlet az backup protection disable con l'opzione delete-backup-data impostata su true.
L'esempio seguente interrompe la protezione per la condivisione file azurefiles senza conservare i punti di ripristino.
az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --item-name “AzureFileShare;azurefiles” --delete-backup-data true --out table
È anche possibile eseguire il comando precedente usando i nomi descrittivi del contenitore e dell'elemento specificando i due parametri aggiuntivi seguenti:
- --backup-management-type: azurestorage
- --workload-type: azurefileshare
az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --item-name azurefiles --workload-type azurefileshare --backup-management-type Azurestorage --delete-backup-data true --out table
Riprendere la protezione in una condivisione file
Se per una condivisione file di Azure la protezione è stata interrotta ma vengono conservati i punti di ripristino, è possibile riprendere la protezione in un secondo momento. Se non si conservano i punti di ripristino, non è possibile riprendere la protezione.
Per riprendere la protezione per la condivisione file, definire i parametri seguenti:
- --container-name: nome dell'account di archiviazione che ospita la condivisione file. Per recuperare il nome o il nome descrittivo del contenitore, usare il comando az backup container list.
- --item-name: nome della condivisione file per cui si desidera riprendere la protezione. Per recuperare il nome o il nome descrittivo dell'elemento sottoposto a backup, usare il comando az backup item list.
- --policy-name: nome del criterio di backup per cui si vuole riprendere la protezione per la condivisione file.
L'esempio seguente usa il cmdlet az backup protection resume per riprendere la protezione per la condivisione file azurefiles usando il criterio di backup schedule1.
az backup protection resume --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount” --item-name “AzureFileShare;azurefiles” --policy-name schedule2 --out table
È anche possibile eseguire il comando precedente usando i nomi descrittivi del contenitore e dell'elemento specificando i due parametri aggiuntivi seguenti:
- --backup-management-type: azurestorage
- --workload-type: azurefileshare
az backup protection resume --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --item-name azurefiles --workload-type azurefileshare --backup-management-type Azurestorage --policy-name schedule2 --out table
Name ResourceGroup
------------------------------------ ---------------
75115ab0-43b0-4065-8698-55022a234b7f azurefiles
L'attributo Name nell'output corrisponde al nome del processo creato dal servizio di backup per l'operazione di ripresa della protezione. Per tenere traccia dello stato del processo, usare il cmdlet az backup job show.
Annullare la registrazione di un account di archiviazione
Se si desidera proteggere le condivisioni file in un determinato account di archiviazione usando un insieme di credenziali di Servizi di ripristino diverso, prima di tutto interrompere la protezione per tutte le condivisioni file nell'account di archiviazione interessato. Annullare quindi la registrazione dell'account dall'insieme di credenziali di Servizi di ripristino attualmente usato per la protezione.
È necessario specificare un nome di contenitore per annullare la registrazione dell'account di archiviazione. Per recuperare il nome o il nome descrittivo del contenitore, usare il comando az backup container list.
Nell'esempio seguente viene annullata la registrazione dell'account di archiviazione afsaccount da azurefilesvault usando il cmdlet az backup container unregister.
az backup container unregister --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --out table
È anche possibile eseguire il cmdlet precedente usando il nome descrittivo del contenitore specificando il parametro aggiuntivo seguente:
- --backup-management-type: azurestorage
az backup container unregister --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --backup-management-type azurestorage --out table
Passaggi successivi
Per altre informazioni, vedere Risolvere i problemi del backup delle condivisioni file di Azure.