Condividi tramite


Eseguire il backup di File di Azure con Azure PowerShell

Questo articolo descrive come usare Azure PowerShell per eseguire il backup di Azure Files tramite una cassetta dei Servizi di ripristino di Backup di Azure.

Prerequisiti

Prima di eseguire il backup di File di Azure, assicurarsi che siano soddisfatti i prerequisiti seguenti:

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 applicare questa funzionalità. Ulteriori informazioni

Configurare PowerShell come segue:

  1. Scaricare la versione più recente di Azure PowerShell.

    Nota

    La versione minima di PowerShell necessaria per il backup di File di Azure è Az.RecoveryServices 2.6.0. La versione più recente o almeno la 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
    
  2. Trovare i cmdlet di PowerShell per Backup di Azure usando questo comando:

    Get-Command *azrecoveryservices*
    
  3. 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.

    Elenco di cmdlet dei Servizi di ripristino

  4. Accedere all'account Azure usando Connect-AzAccount.

  5. 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 (Cloud Service Provider) 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".

  6. Associare la sottoscrizione che si vuole usare all'account, dato che un account può avere diverse sottoscrizioni.

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  7. 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"
    
  8. Verificare che i provider siano stati registrati correttamente:

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  9. 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:

  1. Creare un nuovo gruppo di risorse usando il cmdlet New-AzResourceGroup , se non ne esiste uno esistente. In questo esempio viene creato un gruppo di risorse nell'area Stati Uniti occidentali.

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. 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. 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 viene conservato un punto di ripristino. È 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.

Importante

Per i criteri di backup vengono usati i cmdlet seguenti:

  • Visualizzare i criteri di conservazione dei backup predefiniti usando Get-AzRecoveryServicesBackupRetentionPolicyObject.
  • Visualizzare i criteri di pianificazione del backup predefiniti usando Get-AzRecoveryServicesBackupSchedulePolicyObject.
  • Creare un nuovo criterio di backup usando New-AzRecoveryServicesBackupProtectionPolicy. Specificare gli oggetti criteri di pianificazione e conservazione come input.

Scegliere un livello di backup:

Per creare criteri di backup che configurano più esecuzioni di backup al giorno per il backup di snapshot di Azure Files, eseguire i cmdlet seguenti.

  1. Ottieni l'oggetto criteri di pianificazione.

    $schPol=Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
    $schPol
    
    

    Output di esempio:

    ScheduleRunFrequency    : Hourly
    ScheduleRunDays         :
    ScheduleRunTimes        :
    ScheduleInterval        : 8
    ScheduleWindowStartTime : 12/22/2021 8:00:00 AM
    ScheduleWindowDuration  : 16
    ScheduleRunTimeZone     : India Standard Time
    
    
  2. Impostare i diversi parametri della pianificazione come richiesto.

    $schpol.ScheduleInterval=4
    $schpol.ScheduleWindowDuration=12
    
    

    La configurazione precedente consente di pianificare 4 backup al giorno in una finestra temporale che va dalle 08:00 alle 18:00 (08:00 +12 ore). È anche possibile impostare il fuso orario come indicato nel cmdlet seguente:

    $timeZone= $timeZone=Get-TimeZone -ListAvailable |Where-Object{$_.Id-match "Russia Time Zone 11"}
    $schPol.ScheduleRunTimeZone=$timeZone.Id
    

    Per creare un criterio con pianificazione giornaliera, eseguire il cmdlet seguente:

    $UtcTime = Get-Date -Date "2019-03-20 01:30:00Z"
    $UtcTime = $UtcTime.ToUniversalTime()
    $schpol.ScheduleRunTimes[0] = $UtcTime
    
  3. Recuperare l'oggetto criteri di conservazione usando il cmdlet seguente:

    $retPol=Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
    
  4. Impostare i valori di conservazione come richiesto.

    $retPol.DailySchedule.DurationCountInDays=15
    
  5. Creare un nuovo criterio di backup usando New-AzRecoveryServicesBackupProtectionPolicy.

    È possibile passare gli oggetti criteri di pianificazione e conservazione impostati in precedenza come input.

    New-AzRecoveryServicesBackupProtectionPolicy -Name "FilesPolicytesting" -WorkloadType AzureFiles -RetentionPolicy $retpol -SchedulePolicy $schpol
    

    L'output visualizza la configurazione dei criteri:

    Name           WorkloadType   BackupManagementType ScheduleFrequency  BackupTime    WindowStartTime     Interval   WindowDuration TimeZone
                                                                         (UTC)                                         (Hours)      
    ----          ------------    -------------------- -----------------  ------------  ---------------       -------- -------------- --------
    FilesPolicy
    testing        AzureFiles      AzureStorage         Hourly                          12/22/2021 8:00:00 AM     4        12         Russia Time Zone 11
    
    

Abilita backup

Dopo aver definito i criteri di backup, è possibile abilitare la protezione per 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"

Output di esempio:

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 i File di Azure testAzureFS 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 illustra una modifica importante nei backup di File di Azure in preparazione alla disponibilità generale.

Quando si abilita un backup per File di Azure, l'utente ottiene un nome di condivisione file come nome dell'entità e viene creato 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. Per gestire gli scenari di eliminazione temporanea, in cui viene eliminata una condivisione file e ne viene creata una nuova con lo stesso nome, File di Azure usa ora un ID univoco.

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 venga aggiornato alla versione minima (Az.RecoveryServices 2.6.0) per i backup di File di Azure. Con questa versione, il filtro FriendlyName è disponibile per il comando Get-AzRecoveryServicesBackupItem.

Fornire il nome dei 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 parametro FriendlyName .

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

Per eseguire un backup su richiesta per file di Azure protetti, usare il cmdlet Backup-AzRecoveryServicesBackupItem :

  1. Recuperare l'account di archiviazione dal contenitore nell'insieme di credenziali che contiene i dati di backup usando Get-AzRecoveryServicesBackupContainer.
  2. Avviare un processo di backup, ottenere informazioni su File di Azure usando Get-AzRecoveryServicesBackupItem.
  3. 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 Azure Files vengono utilizzati durante l'esecuzione dei backup. In genere il processo viene completato nel momento in cui il comando restituisce questo output.

Passaggi successivi

  • Ripristinare File di Azure con Azure PowerShell.
  • Ripristinare i file di Azure utilizzando il portale di Azure, l'interfaccia della riga di comando di Azure, l'API REST.
  • Gestire i backup di File di Azure usando il portale di Azure, Azure PowerShell, l'interfaccia a riga di comando di Azure, l'API REST.
  • Script di esempio in GitHub per l'uso di un runbook di Automazione di Azure per pianificare i backup.