Partilhar via


Fazer backup de um compartilhamento de arquivos do Azure usando o PowerShell

Este artigo descreve como usar o Azure PowerShell para fazer backup de um compartilhamento de arquivos do Azure Files por meio de um cofre dos Serviços de Recuperação de Backup do Azure.

Este artigo explica como:

  • Configure o PowerShell e registre o provedor de Serviços de Recuperação.
  • Crie um cofre dos Serviços de Recuperação.
  • Configure o backup para um compartilhamento de arquivos do Azure.
  • Execute um trabalho de backup.

Antes de começar

  • Saiba mais sobre os cofres dos Serviços de Recuperação.

  • Analise a referência de referência do cmdlet Az.RecoveryServices na biblioteca do Azure.

  • Analise a seguinte hierarquia de objetos do PowerShell para Serviços de Recuperação:

    Hierarquia de objetos dos Serviços de Recuperação

Configurar o PowerShell

Nota

Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Nota

Atualmente, o Azure PowerShell não oferece suporte a políticas de backup com agendamento por hora. Use o Portal do Azure para aproveitar esse recurso. Mais informações

Configure o PowerShell da seguinte maneira:

  1. Baixe a versão mais recente do Azure PowerShell.

    Nota

    A versão mínima do PowerShell necessária para backup de compartilhamentos de arquivos do Azure é Az.RecoveryServices 2.6.0. Usar a versão mais recente, ou pelo menos a versão mínima, ajuda a evitar problemas com scripts existentes. Instale a versão mínima usando o seguinte comando do PowerShell:

    Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
    
  2. Encontre os cmdlets do PowerShell para o Backup do Azure usando este comando:

    Get-Command *azrecoveryservices*
    
  3. Analise os aliases e cmdlets do Backup do Azure, do Azure Site Recovery e do cofre dos Serviços de Recuperação. Aqui está um exemplo do que você pode ver. Não é uma lista completa de cmdlets.

    Lista de cmdlets dos Serviços de Recuperação

  4. Entre na sua conta do Azure usando Connect-AzAccount.

  5. Na página Web apresentada, ser-lhe-á pedido que introduza as credenciais da sua conta.

    Como alternativa, você pode incluir suas credenciais de conta como um parâmetro no cmdlet Connect-AzAccount usando -Credential.

    Se você for um parceiro CSP trabalhando em nome de um locatário, especifique o cliente como locatário. Use seu ID de locatário ou nome de domínio principal do locatário. Um exemplo é Connect-AzAccount -Tenant "fabrikam.com".

  6. Associe a subscrição que pretende utilizar à conta, porque uma conta pode ter várias subscrições:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  7. Se você estiver usando o Backup do Azure pela primeira vez, use o cmdlet Register-AzResourceProvider para registrar o provedor de Serviços de Recuperação do Azure com sua assinatura:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  8. Verifique se os provedores se registraram com êxito:

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  9. Na saída do comando, verifique se RegistrationState muda para Registered. Caso contrário, execute o cmdlet Register-AzResourceProvider novamente.

Criar um cofre dos Serviços de Recuperação

O cofre dos Serviços de Recuperação é um recurso do Gerenciador de Recursos, portanto, você deve colocá-lo em um grupo de recursos. Você pode usar um grupo de recursos existente ou criar um grupo de recursos usando o cmdlet New-AzResourceGroup . Ao criar um grupo de recursos, especifique o nome e o local para ele.

Siga estas etapas para criar um cofre dos Serviços de Recuperação:

  1. Se você não tiver um grupo de recursos existente, crie um novo usando o cmdlet New-AzResourceGroup . Neste exemplo, criamos um grupo de recursos na região Oeste dos EUA:

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. Use o cmdlet New-AzRecoveryServicesVault para criar o cofre. Especifique o mesmo local para o cofre que você usou para o grupo de recursos.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
    

Ver os cofres numa subscrição

Para exibir todos os cofres na assinatura, use Get-AzRecoveryServicesVault:

Get-AzRecoveryServicesVault

A saída é semelhante à seguinte. Observe que a saída fornece o grupo de recursos associado e o local.

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

Definir o contexto do cofre

Armazene o objeto do vault em uma variável e defina o contexto do vault.

Muitos cmdlets do Backup do Azure exigem o objeto vault dos Serviços de Recuperação como entrada, por isso é conveniente armazenar o objeto vault em uma variável.

O contexto do cofre é o tipo de dados protegidos no cofre. Defina-o usando Set-AzRecoveryServicesVaultContext. Depois que o contexto é definido, ele se aplica a todos os cmdlets subsequentes.

O exemplo a seguir define o contexto do vault para testvault:

Get-AzRecoveryServicesVault -Name "testvault" | Set-AzRecoveryServicesVaultContext

Buscar o ID do cofre

Planejamos substituir a configuração de contexto do cofre de acordo com as diretrizes do Azure PowerShell. Em vez disso, você pode armazenar ou buscar o ID do cofre e passá-lo para comandos relevantes. Se você não definiu o contexto do vault ou deseja especificar o comando a ser executado para um determinado vault, passe o ID do vault para -vaultID todos os comandos relevantes da seguinte maneira:

$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultID $vaultID

Configurar uma política de backup

Uma política de backup especifica o agendamento de backups e por quanto tempo os pontos de recuperação de backup devem ser mantidos.

Uma política de backup está associada a pelo menos uma política de retenção. Uma política de retenção define por quanto tempo um ponto de recuperação é mantido antes de ser excluído. Você pode configurar backups com retenção diária, semanal, mensal ou anual. Com a política de vários backups, você também pode configurar a retenção de backups por hora.

Importante

Os seguintes cmdlets são usados para as políticas de backup:

  • Exiba a retenção da política de backup padrão usando Get-AzRecoveryServicesBackupRetentionPolicyObjecto .
  • Exiba o agendamento da política de backup padrão usando Get-AzRecoveryServicesBackupSchedulePolicyObjecto .
  • Crie uma nova política de backup usando New-AzRecoveryServicesBackupProtectionPolicyo . Forneça os objetos de agenda e política de retenção como entradas.

Para criar uma política de backup que configure vários backups por dia, siga estas etapas:

  1. Procure o objeto de política de agendamento usando o cmdlet abaixo:

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

    O resultado é semelhante a:

    ScheduleRunFrequency    : Hourly
    ScheduleRunDays         :
    ScheduleRunTimes        :
    ScheduleInterval        : 8
    ScheduleWindowStartTime : 12/22/2021 8:00:00 AM
    ScheduleWindowDuration  : 16
    ScheduleRunTimeZone     : India Standard Time
    
    
  2. Defina os diferentes parâmetros do cronograma conforme necessário.

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

    A configuração anterior ajuda você a agendar 4 backups por dia em uma janela das 8h às 20h (8h + 12 horas). Você também pode definir o fuso horário conforme mencionado no cmdlet a seguir:

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

    Para criar uma política com agenda diária, execute o seguinte cmdlet:

    $UtcTime = Get-Date -Date "2019-03-20 01:30:00Z"
    $UtcTime = $UtcTime.ToUniversalTime()
    $schpol.ScheduleRunTimes[0] = $UtcTime
    
  3. Buscar o objeto de política de retenção usando o seguinte cmdlet:

    $retPol=Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
    
  4. Defina os valores de retenção conforme necessário.

    $retPol.DailySchedule.DurationCountInDays=15
    
  5. Crie uma nova política de backup usando New-AzRecoveryServicesBackupProtectionPolicy.

    Você pode passar os objetos de agenda e política de retenção definidos anteriormente como entradas.

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

    A saída exibe a configuração da política:

    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
    
    

Habilitar o backup

Depois de definir a política de backup, você pode habilitar a proteção para o compartilhamento de arquivos do Azure usando a política.

Recuperar uma política de backup

Você busca o objeto de política relevante usando Get-AzRecoveryServicesBackupProtectionPolicy. Use este cmdlet para exibir as políticas associadas a um tipo de carga de trabalho ou para obter uma política específica.

Recuperar uma política para um tipo de carga de trabalho

O exemplo a seguir recupera políticas para o tipo de carga de trabalho AzureFiles:

Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"

O resultado é semelhante ao seguinte:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
dailyafs             AzureFiles         AzureStorage         1/10/2018 12:30:00 AM

Nota

O fuso horário do campo BackupTime no PowerShell está em UTC. Quando a hora de backup é mostrada no portal do Azure, a hora é ajustada ao seu fuso horário local.

Recuperar uma política específica

A política a seguir recupera a política de backup chamada dailyafs:

$afsPol =  Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"

Habilitar a proteção e aplicar a política

Habilite a proteção usando Enable-AzRecoveryServicesBackupProtection. Depois que a política é associada ao cofre, os backups são acionados de acordo com o cronograma da política.

O exemplo a seguir habilita a proteção para o compartilhamento de arquivos do Azure testAzureFS na conta de armazenamento testStorageAcct, com a política dailyafs:

Enable-AzRecoveryServicesBackupProtection -StorageAccountName "testStorageAcct" -Name "testAzureFS" -Policy $afsPol

O comando aguarda até que o trabalho de proteção de configuração seja concluído e fornece uma saída semelhante ao exemplo a seguir:

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

Para obter mais informações sobre como obter uma lista de compartilhamentos de arquivos para uma conta de armazenamento, consulte este artigo.

Aviso importante: Identificação do item de backup

Esta seção descreve uma alteração importante nos backups de compartilhamentos de arquivos do Azure em preparação para a disponibilidade geral.

Ao habilitar um backup para compartilhamentos de arquivos do Azure, o usuário dá ao cliente um nome de compartilhamento de arquivos como o nome da entidade e um item de backup é criado. O nome do item de backup é um identificador exclusivo que o serviço de Backup do Azure cria. Normalmente, o identificador é um nome de fácil utilização. Mas para lidar com o cenário de exclusão suave, onde um compartilhamento de arquivos pode ser excluído e outro compartilhamento de arquivos pode ser criado com o mesmo nome, a identidade exclusiva de um compartilhamento de arquivos do Azure agora é uma ID.

Para saber a ID exclusiva de cada item, execute o comando Get-AzRecoveryServicesBackupItem com os filtros relevantes para backupManagementType e WorkloadType para obter todos os itens relevantes. Em seguida, observe o campo de nome no objeto/resposta do PowerShell retornado.

Recomendamos que você liste itens e, em seguida, recupere seu nome exclusivo no campo de nome na resposta. Use esse valor para filtrar os itens com o parâmetro Name . Caso contrário, use o parâmetro FriendlyName para recuperar o item com sua ID.

Importante

Verifique se o PowerShell foi atualizado para a versão mínima (Az.RecoveryServices 2.6.0) para backups de compartilhamentos de arquivos do Azure. Com esta versão, o filtro FriendlyName está disponível para o comando Get-AzRecoveryServicesBackupItem .

Passe o nome do compartilhamento de arquivos do Azure para o parâmetro FriendlyName . Se você passar o nome do compartilhamento de arquivos para o parâmetro Name , esta versão lançará um aviso para passar o nome para o parâmetro FriendlyName .

Não instalar a versão mínima pode resultar em uma falha de scripts existentes. Instale a versão mínima do PowerShell usando o seguinte comando:

Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0

Acionar um backup sob demanda

Use Backup-AzRecoveryServicesBackupItem para executar um backup sob demanda para um compartilhamento de arquivos protegido do Azure:

  1. Recupere a conta de armazenamento do contêiner no cofre que contém seus dados de backup usando Get-AzRecoveryServicesBackupContainer.
  2. Para iniciar um trabalho de backup, obtenha informações sobre o compartilhamento de arquivos do Azure usando Get-AzRecoveryServicesBackupItem.
  3. Execute um backup sob demanda usando Backup-AzRecoveryServicesBackupItem.

Execute o backup sob demanda da seguinte maneira:

$afsContainer = Get-AzRecoveryServicesBackupContainer -FriendlyName "testStorageAcct" -ContainerType AzureStorage
$afsBkpItem = Get-AzRecoveryServicesBackupItem -Container $afsContainer -WorkloadType "AzureFiles" -FriendlyName "testAzureFS"
$job =  Backup-AzRecoveryServicesBackupItem -Item $afsBkpItem

O comando retorna um trabalho com uma ID a ser rastreada, conforme mostrado no exemplo a seguir:

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

Os instantâneos de compartilhamento de arquivos do Azure são usados enquanto os backups são feitos. Normalmente, o trabalho termina no momento em que o comando retorna essa saída.

Próximos passos