Eseguire il backup di una condivisione file di Azure usando PowerShell
Questo articolo descrive come usare Azure PowerShell per eseguire il backup di una condivisione file di File di Azure tramite un insieme di credenziali di Servizi di ripristino di Backup di Azure.
Questo articolo spiega come:
- Configurare PowerShell e registrare il provider di Servizi di ripristino.
- Creare un insieme di credenziali di Servizi di ripristino.
- Configurare il backup per una condivisione file di Azure
- Eseguire un processo di backup.
Prima di iniziare
Altre informazioni sull'insieme di credenziali di Servizi di ripristino.
Esaminare le informazioni di riferimento sul cmdlet Az.RecoveryServices nella libreria di Azure.
Esaminare la gerarchia di oggetti di PowerShell seguente per Servizi di ripristino:
Configurare PowerShell
Nota
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Nota
Attualmente Azure PowerShell non supporta i criteri di backup con pianificazione su base oraria. Usare il portale di Azure per sfruttare questa funzionalità. Ulteriori informazioni
Configurare PowerShell come segue:
Scaricare la versione più recente di Azure PowerShell.
Nota
La versione minima di PowerShell necessaria per il backup delle condivisioni file di Azure è Az.RecoveryServices 2.6.0. L'uso della versione più recente o almeno della versione minima consente di evitare problemi con gli script esistenti. Installare la versione minima usando il comando di PowerShell seguente:
Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
Trovare i cmdlet di PowerShell per Backup di Azure usando questo comando:
Get-Command *azrecoveryservices*
Esaminare gli alias e i cmdlet per Backup di Azure, Azure Site Recovery e l'insieme di credenziali di Servizi di ripristino. Ecco un esempio delle informazioni visualizzate. Non è l'elenco completo dei cmdlet.
Accedere all'account Azure usando Connect-AzAccount.
Nella pagina Web visualizzata viene richiesto di immettere le credenziali dell'account.
In alternativa, è possibile includere le credenziali dell'account come parametro nel cmdlet Connect-AzAccount, usando il parametro -Credential.
Se si è un partner CSP che lavora per conto di un tenant, specificare il cliente come tenant. Usare l'ID tenant o il nome di dominio primario del tenant. Un esempio è Connect-AzAccount -Tenant "fabrikam.com".
Associare la sottoscrizione che si vuole usare all'account, dato che un account può avere diverse sottoscrizioni.
Select-AzSubscription -SubscriptionName $SubscriptionName
Se si sta usando Backup di Azure per la prima volta, usare il cmdlet Register-AzResourceProvider per registrare il provider di Servizi di ripristino di Azure con la propria sottoscrizione.
Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
Verificare che i provider siano stati registrati correttamente:
Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
Nell'output del comando il parametro RegistrationState è impostato su Registered. In caso contrario, eseguire di nuovo il cmdlet Register-AzResourceProvider.
Creare un insieme di credenziali di Servizi di ripristino
L'insieme di credenziali di Servizi di ripristino è una risorsa di Resource Manager, quindi è necessario inserirlo all'interno di un gruppo di risorse. È possibile usare un gruppo di risorse esistente o crearne uno con il cmdlet New-AzResourceGroup. Quando si crea un gruppo di risorse, specificare il nome e il percorso.
Seguire questa procedura per creare un insieme di credenziali di Servizi di ripristino:
Se non è disponibile un gruppo di risorse esistente, crearne uno nuovo con il cmdlet New-AzResourceGroup. In questo esempio viene creato un gruppo di risorse nell'area Stati Uniti occidentali.
New-AzResourceGroup -Name "test-rg" -Location "West US"
Per creare l'insieme di credenziali usare il cmdlet New-AzRecoveryServicesVault. Per l'insieme di credenziali specificare lo stesso percorso usato per il gruppo di risorse.
New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
Visualizzare gli insiemi di credenziali in un abbonamento
Per visualizzare tutti gli insiemi di credenziali disponibili nella sottoscrizione, usare Get-AzRecoveryServicesVault:
Get-AzRecoveryServicesVault
L'output è simile al seguente. Si noti che l'output fornisce il gruppo di risorse e la posizione associati.
Name : Contoso-vault
ID : /subscriptions/1234
Type : Microsoft.RecoveryServices/vaults
Location : WestUS
ResourceGroupName : Contoso-docs-rg
SubscriptionId : 1234-567f-8910-abc
Properties : Microsoft.Azure.Commands.RecoveryServices.ARSVaultProperties
Impostare il contesto dell'insieme di credenziali
Archiviare l'oggetto insieme di credenziali in una variabile e impostare il contesto dell'insieme di credenziali.
Molti cmdlet di Backup di Azure richiedono l'oggetto insieme di credenziali di Servizi di ripristino come input. Per tale motivo, è utile archiviare l'oggetto insieme di credenziali in una variabile.
Il contesto dell'insieme di credenziali definisce il tipo di dati protetti nell'insieme di credenziali. Impostarli usando Set-AzRecoveryServicesVaultContext. Il contesto impostato viene applicato a tutti i cmdlet successivi.
L'esempio seguente imposta il contesto dell'insieme di credenziali per testvault:
Get-AzRecoveryServicesVault -Name "testvault" | Set-AzRecoveryServicesVaultContext
Recuperare l'ID dell'insieme di credenziali
È prevista la deprecazione dell’impostazione del contesto dell'insieme di credenziali in base alle linee guida di Azure PowerShell. In alternativa, è possibile archiviare o recuperare l'ID dell'insieme di credenziali e passarlo ai comandi pertinenti. Se non è stato impostato il contesto dell'insieme di credenziali o si vuole specificare il comando da eseguire per un determinato insieme di credenziali, passare l'ID dell'insieme di credenziali a -vaultID
in tutti i comandi pertinenti come indicato di seguito:
$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultID $vaultID
Configurare un criterio di backup
Il criterio di backup specifica la pianificazione dei backup e il periodo di conservazione dei punti di ripristino dei backup:
I criteri di backup sono associati ai criteri di conservazione. Un criterio di conservazione definisce per quanto tempo un punto di recupero viene mantenuto prima dell'eliminazione. È possibile configurare i backup con una conservazione giornaliera, settimanale, mensile o annuale. Con il criterio di backup multipli è anche possibile configurare una conservazione su base oraria dei backup.
Scegliere un tipo di criterio:
Ecco alcuni cmdlet per i criteri di backup:
- Visualizzare la conservazione dei criteri di backup predefinita usando Get-AzRecoveryServicesBackupRetentionPolicyObject.
- Visualizzare la pianificazione dei criteri di backup predefinita usando Get-AzRecoveryServicesBackupSchedulePolicyObject.
- Creare un nuovo criterio di backup usando New-AzRecoveryServicesBackupProtectionPolicy. Immettere gli oggetti criteri di pianificazione e conservazione come input.
Per impostazione predefinita, nell'oggetto criteri di pianificazione viene definita un'ora di inizio. Usare l'esempio seguente per modificare l'ora di inizio in base all'ora di inizio desiderata. L'ora di inizio desiderata deve essere nell'ora UTC (Universal Coordinated Time). Nell'esempio seguente si presuppone che l'ora di inizio desiderata sia 01:00 UTC per i backup giornalieri.
$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$UtcTime = Get-Date -Date "2019-03-20 01:30:00Z"
$UtcTime = $UtcTime.ToUniversalTime()
$schpol.ScheduleRunTimes[0] = $UtcTime
Importante
È necessario specificare l'ora di inizio solo in multipli di 30 minuti. Nell'esempio precedente può essere solo "01:00:00" o "02:30:00". L'ora di inizio non può essere "01:15:00".
Nell'esempio seguente i criteri di pianificazione e i criteri di conservazione vengono archiviati nelle variabili. Tali variabili vengono quindi usati come parametri per un nuovo criterio (NewSQLPolicy). NewAFSPolicy effettua un backup giornaliero e lo conserva per 30 giorni.
$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureFiles"
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol
L'output è simile al seguente:
Name WorkloadType BackupManagementType BackupTime DaysOfWeek
---- ------------ -------------------- ---------- ----------
NewAFSPolicy AzureFiles AzureStorage 10/24/2019 1:30:00 AM
Abilita backup
Dopo aver definito i criteri di backup, è possibile abilitare la protezione per la condivisione file di Azure usando i criteri.
Recuperare un criterio di backup
Per recuperare l'oggetto criteri pertinente usare Get-AzRecoveryServicesBackupProtectionPolicy. Usare questo cmdlet per visualizzare i criteri associati a un tipo di carico di lavoro o per ottenere criterio specifico.
Recuperare un criterio per un tipo di carico di lavoro
L'esempio seguente recupera i criteri per il tipo di carico di lavoro AzureFiles:
Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"
L'output è simile al seguente:
Name WorkloadType BackupManagementType BackupTime DaysOfWeek
---- ------------ -------------------- ---------- ----------
dailyafs AzureFiles AzureStorage 1/10/2018 12:30:00 AM
Nota
Il fuso orario del campo BackupTime in PowerShell corrisponde all’ora UTC. L'orario di backup nel portale di Azure è allineato al fuso orario locale.
Recuperare un criterio specifico
Il criterio seguente recupera il criterio di backup denominato dailyafs
$afsPol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"
Abilitare la protezione e applicare il criterio
Abilitare la protezione usando Enable-AzRecoveryServicesBackupProtection. Dopo che il criterio è associato all'insieme di credenziali, i backup vengono attivati in base alla pianificazione dei criteri.
L'esempio seguente abilita la protezione per la condivisione file di Azure testAzureFileShare nell'account di archiviazione testStorageAcct con il criterio dailyafs:
Enable-AzRecoveryServicesBackupProtection -StorageAccountName "testStorageAcct" -Name "testAzureFS" -Policy $afsPol
Il comando attende il completamento del processo di configurazione-protezione e restituisce un output simile all'esempio seguente:
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
testAzureFS ConfigureBackup Completed 11/12/2018 2:15:26 PM 11/12/2018 2:16:11 PM ec7d4f1d-40bd-46a4-9edb-3193c41f6bf6
Per altre informazioni su come ottenere un elenco di condivisioni file per un account di archiviazione vedere questo articolo.
Avviso importante: Identificazione dell'elemento di backup
Questa sezione evidenzia che una modifica importante nei backup delle condivisioni file di Azure è in preparazione per la disponibilità generale.
Durante l'abilitazione di un backup per le condivisioni file di Azure, l'utente assegna al cliente un nome di condivisione file come nome dell'entità creando un elemento di backup. Il nome dell'elemento di backup è un identificatore univoco creato dal servizio Backup di Azure. In genere l'identificatore è un nome descrittivo. Ma per gestire lo scenario di eliminazione temporanea, in cui è possibile eliminare una condivisione file e creare un'altra condivisione file con lo stesso nome, l'identità univoca di una condivisione file di Azure ora è un ID.
Per conoscere l'ID univoco di ogni elemento, eseguire il comando Get-AzRecoveryServicesBackupItem con i filtri pertinenti per backupManagementType e WorkloadType per ottenere tutti gli elementi pertinenti. Osservare quindi il campo nome nell'oggetto/risposta di PowerShell restituito.
Si consiglia di elencare gli elementi e poi recuperare il nome univoco dal campo nome nella risposta. Usare questo valore per filtrare gli elementi con il parametro Name. In alternativa, usare il parametro FriendlyName per recuperare l'elemento con il relativo ID.
Importante
Assicurarsi che PowerShell sia aggiornato alla versione minima (Az.RecoveryServices 2.6.0) per i backup delle condivisioni file di Azure. Con questa versione, il filtro FriendlyName è disponibile per il comando Get-AzRecoveryServicesBackupItem.
Passare il nome della condivisione file di Azure al parametro FriendlyName. Se si passa il nome della condivisione file al parametro Name, questa versione genera un avviso per passare il nome al parametroFriendlyName.
L'impossibilità di installare la versione minima potrebbe causare un errore degli script esistenti. Installare la versione minima di PowerShell usando il comando seguente:
Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
Attivare un backup su richiesta
Usare Backup-AzRecoveryServicesBackupItem per eseguire un backup su richiesta per una condivisione file di Azure protetta:
- Recuperare l'account di archiviazione dal contenitore nell'insieme di credenziali che contiene i dati di backup usando Get-AzRecoveryServicesBackupContainer.
- Per avviare un processo di backup, ottenere le informazioni sulla condivisione file di Azure usando Get-AzRecoveryServicesBackupItem.
- Eseguire un backup su richiesta usando Backup-AzRecoveryServicesBackupItem.
Eseguire il backup su richiesta come segue:
$afsContainer = Get-AzRecoveryServicesBackupContainer -FriendlyName "testStorageAcct" -ContainerType AzureStorage
$afsBkpItem = Get-AzRecoveryServicesBackupItem -Container $afsContainer -WorkloadType "AzureFiles" -FriendlyName "testAzureFS"
$job = Backup-AzRecoveryServicesBackupItem -Item $afsBkpItem
Il comando restituisce un processo con un ID di cui tenere traccia, come mostrato nell'esempio seguente.
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
testAzureFS Backup Completed 11/12/2018 2:42:07 PM 11/12/2018 2:42:11 PM 8bdfe3ab-9bf7-4be6-83d6-37ff1ca13ab6
Gli snapshot di condivisione file di Azure vengono usati durante l'esecuzione dei backup. In genere il processo viene completato nel momento in cui il comando restituisce questo output.
Passaggi successivi
- Informazioni sul backup di File di Azure nel portale di Azure.
- Per usare un runbook di Automazione di Azure per pianificare i backup, fare riferimento allo script di esempio in GitHub.