Condividi tramite


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

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:

  1. 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
    
  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 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. 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"
    
  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. 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:

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:

  1. Recuperare l'account di archiviazione dal contenitore nell'insieme di credenziali che contiene i dati di backup usando Get-AzRecoveryServicesBackupContainer.
  2. Per avviare un processo di backup, ottenere le informazioni sulla condivisione 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 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