Implementar e gerir cópias de segurança para o Azure em servidores do Data Protection Manager (DPM) com o PowerShell

Este artigo mostra como usar o PowerShell para configurar o Backup do Azure em um servidor DPM e gerenciar o backup e a recuperação.

Configurando o ambiente do PowerShell

Antes de poder usar o PowerShell para gerenciar backups do Data Protection Manager para o Azure, você precisa ter o ambiente certo no PowerShell. No início da sessão do PowerShell, execute o seguinte comando para importar os módulos corretos e permitir que você faça referência correta aos cmdlets do DPM:

& "C:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\bin\DpmCliInitScript.ps1"
Welcome to the DPM Management Shell!

Full list of cmdlets: Get-Command
Only DPM cmdlets: Get-DPMCommand
Get general help: help
Get help for a cmdlet: help <cmdlet-name> or <cmdlet-name> -?
Get definition of a cmdlet: Get-Command <cmdlet-name> -Syntax
Sample DPM scripts: Get-DPMSampleScript

Configuração e Registo

Nota

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

Para começar, baixe o Azure PowerShell mais recente.

As seguintes tarefas de configuração e registro podem ser automatizadas com o PowerShell:

  • Criar um cofre dos Serviços de Recuperação
  • Instalando o agente de Backup do Azure
  • Registrando-se com o serviço de Backup do Azure
  • Configurações de rede
  • Configurações de criptografia

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

As etapas a seguir orientam você na criação de um cofre dos Serviços de Recuperação. Um cofre dos Serviços de Recuperação é diferente de um cofre de Backup.

  1. Se você estiver usando o Backup do Azure pela primeira vez, deverá usar o cmdlet Register-AzResourceProvider para registrar o provedor do Serviço de Recuperação do Azure com sua assinatura.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  2. O cofre dos Serviços de Recuperação é um recurso ARM, portanto, você precisa colocá-lo em um Grupo de Recursos. Você pode usar um grupo de recursos existente ou criar um novo. Ao criar um novo grupo de recursos, especifique o nome e o local do grupo de recursos.

    New-AzResourceGroup –Name "test-rg" –Location "West US"
    
  3. Use o cmdlet New-AzRecoveryServicesVault para criar um novo cofre. Certifique-se de especificar o mesmo local para o cofre que foi usado para o grupo de recursos.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName " test-rg" -Location "West US"
    
  4. Especifique o tipo de redundância de armazenamento a ser usado. Você pode usar o Armazenamento Localmente Redundável (LRS), o Armazenamento com Redundância Geográfica (GRS) ou o Armazenamento com Redundância de Zona (ZRS). O exemplo a seguir mostra a opção BackupStorageRedundancy para testVault definida como GeoRedundant.

    Gorjeta

    Muitos cmdlets do Azure Backup requerem o objeto do cofre dos Serviços de Recuperação como entrada. Por esse motivo, é conveniente armazenar o objeto do cofre dos Serviços de Recuperação de Backup em uma variável.

    $vault1 = Get-AzRecoveryServicesVault –Name "testVault"
    Set-AzRecoveryServicesBackupProperties  -vault $vault1 -BackupStorageRedundancy GeoRedundant
    

Ver os cofres numa subscrição

Use Get-AzRecoveryServicesVault para exibir a lista de todos os cofres na assinatura atual. Você pode usar esse comando para verificar se um novo cofre foi criado ou para ver quais cofres estão disponíveis na assinatura.

Execute o comando, Get-AzRecoveryServicesVault, e todos os cofres na assinatura são listados.

Get-AzRecoveryServicesVault
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

Instalando o agente de Backup do Azure em um Servidor DPM

Antes de instalar o agente de Backup do Azure, você precisa ter o instalador baixado e presente no Windows Server. Você pode obter a versão mais recente do instalador no Centro de Download da Microsoft ou na página Painel do cofre dos Serviços de Recuperação. Salve o instalador em um local facilmente acessível como C:\Downloads\*.

Para instalar o agente, execute o seguinte comando em um console do PowerShell com privilégios elevados no servidor DPM:

MARSAgentInstaller.exe /q

Isso instala o agente com todas as opções padrão. A instalação leva alguns minutos em segundo plano. Se você não especificar a opção /nu, a janela do Windows Update será aberta no final da instalação para verificar se há atualizações.

O agente aparece na lista de programas instalados. Para ver a lista de programas instalados, vá para Programas e Recursos do Painel de Controle>>.

Agent installed

Opções de instalação

Para ver todas as opções disponíveis através da linha de comando, use o seguinte comando:

MARSAgentInstaller.exe /?

As opções disponíveis incluem:

Opção Details Predefinido
/q Instalação silenciosa -
/p:"localização" Caminho para a pasta de instalação do agente de Backup do Azure. C:\Program Files\Microsoft Azure Recovery Services Agent
/s:"localização" Caminho para a pasta de cache do agente de Backup do Azure. C:\Arquivos de Programas\Microsoft Azure Recovery Services Agent\Scratch
/m Aderir ao Microsoft Update -
/nu Não verifique se há atualizações após a conclusão da instalação -
/d Desinstala o Agente de Serviços de Recuperação do Microsoft Azure -
/ph Endereço do host proxy -
/po Número da porta do host proxy -
/pu Nome de usuário do host proxy -
/pw Senha do proxy -

Registrando o DPM em um cofre dos Serviços de Recuperação

Depois de criar o cofre dos Serviços de Recuperação, transfira o agente mais recente e as credenciais do cofre e armazene-o numa localização conveniente como C:\Downloads.

$credspath = "C:\downloads"
$credsfilename = Get-AzRecoveryServicesVaultSettingsFile -Backup -Vault $vault1 -Path  $credspath
$credsfilename
C:\downloads\testvault\_Sun Apr 10 2016.VaultCredentials

No servidor DPM, execute o cmdlet Start-OBRegistration para registrar a máquina no cofre.

$cred = $credspath + $credsfilename
Start-OBRegistration-VaultCredentials $cred -Confirm:$false
CertThumbprint      :7a2ef2caa2e74b6ed1222a5e89288ddad438df2
SubscriptionID      : ef4ab577-c2c0-43e4-af80-af49f485f3d1
ServiceResourceName: testvault
Region              :West US
Machine registration succeeded.

Definições de configuração inicial

Depois que o Servidor DPM é registrado no cofre dos Serviços de Recuperação, ele começa com as configurações de assinatura padrão. Essas configurações de assinatura incluem Rede, Criptografia e a área de Preparo. Para alterar as configurações de assinatura, você precisa primeiro controlar as configurações existentes (padrão) usando o cmdlet Get-DPMCloudSubscriptionSetting :

$setting = Get-DPMCloudSubscriptionSetting -DPMServerName "TestingServer"

Todas as modificações são feitas nesse objeto do PowerShell local e, em seguida, o objeto $setting completo é confirmado no DPM e no Backup do Azure para salvá-los usando o cmdlet Set-DPMCloudSubscriptionSetting . Você precisa usar o –Commit sinalizador para garantir que as alterações sejam persistentes. As configurações não serão aplicadas e usadas pelo Backup do Azure, a menos que sejam confirmadas.

Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -Commit

Rede

Se a conectividade da máquina DPM com o serviço de Backup do Azure na Internet for por meio de um servidor proxy, as configurações do servidor proxy deverão ser fornecidas para backups bem-sucedidos. Isso é feito usando o e e -ProxyPortos parâmetros com o -ProxyServercmdlet Set-DPMCloudSubscriptionSetting.ProxyPassword-ProxyUsername Neste exemplo, não há servidor proxy, portanto, estamos limpando explicitamente qualquer informação relacionada ao proxy.

Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -NoProxy

O uso da largura de banda também pode ser controlado com opções de e -NonWorkHourBandwidth para um determinado conjunto de -WorkHourBandwidth dias da semana. Neste exemplo, não estamos definindo nenhuma limitação.

Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -NoThrottle

Configurando a área de preparo

O agente de Backup do Azure em execução no servidor DPM precisa de armazenamento temporário para dados restaurados da nuvem (área de preparo local). Configure a área de preparo usando o cmdlet Set-DPMCloudSubscriptionSetting e o -StagingAreaPath parâmetro.

Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -StagingAreaPath "C:\StagingArea"

No exemplo acima, a área de preparo será definida como C:\StagingArea no objeto $settingdo PowerShell. Verifique se a pasta especificada já existe, caso contrário, a confirmação final das configurações de assinatura falhará.

Configurações de criptografia

Os dados de backup enviados para o Backup do Azure são criptografados para proteger a confidencialidade dos dados. A senha de criptografia é a "senha" para descriptografar os dados no momento da restauração. É importante manter essas informações seguras e protegidas assim que estiverem definidas.

No exemplo abaixo, o primeiro comando converte a cadeia de caracteres em uma cadeia de caracteres segura e atribui a cadeia de caracteres passphrase123456789 segura à variável chamada $Passphrase. O segundo comando define a cadeia de caracteres segura como $Passphrase a senha para criptografar backups.

$Passphrase = ConvertTo-SecureString -string "passphrase123456789" -AsPlainText -Force

Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -EncryptionPassphrase $Passphrase

Importante

Mantenha as informações da frase secreta seguras depois de definidas. Você não poderá restaurar dados do Azure sem essa senha.

Neste ponto, você deve ter feito todas as alterações necessárias no $setting objeto. Lembre-se de confirmar as alterações.

Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -Commit

Proteger dados para o Backup do Azure

Nesta seção, você adicionará um servidor de produção ao DPM e, em seguida, protegerá os dados ao armazenamento local do DPM e, em seguida, ao Backup do Azure. Nos exemplos, demonstraremos como fazer backup de arquivos e pastas. A lógica pode ser facilmente estendida para fazer backup de qualquer fonte de dados suportada pelo DPM. Todos os backups do DPM são regidos por um Grupo de Proteção (PG) com quatro partes:

  1. Membros do grupo é uma lista de todos os objetos que podem ser protegidos (também conhecidos como Fontes de dados no DPM) que você deseja proteger no mesmo grupo de proteção. Por exemplo, talvez você queira proteger VMs de produção em um grupo de proteção e bancos de dados do SQL Server em outro grupo de proteção, pois elas podem ter requisitos de backup diferentes. Antes de fazer backup de qualquer fonte de dados em um servidor de produção, você precisa verificar se o Agente do DPM está instalado no servidor e é gerenciado pelo DPM. Siga as etapas para instalar o Agente do DPM e vinculá-lo ao Servidor DPM apropriado.
  2. O método de proteção de dados especifica os locais de backup de destino - fita, disco e nuvem. No nosso exemplo, protegeremos os dados para o disco local e para a nuvem.
  3. Um agendamento de backup que especifica quando os backups precisam ser feitos e com que frequência os dados devem ser sincronizados entre o Servidor DPM e o servidor de produção.
  4. Uma agenda de retenção que especifica por quanto tempo reter os pontos de recuperação no Azure.

Criar um grupo de proteção

Comece criando um novo Grupo de Proteção usando o cmdlet New-DPMProtectionGroup .

$PG = New-DPMProtectionGroup -DPMServerName " TestingServer " -Name "ProtectGroup01"

O cmdlet acima criará um Grupo de Proteção chamado ProtectGroup01. Um grupo de proteção existente também pode ser modificado posteriormente para adicionar backup à nuvem do Azure. No entanto, para fazer alterações no Grupo de Proteção - novas ou existentes - precisamos lidar com um objeto modificável usando o cmdlet Get-DPMModifiableProtectionGroup .

$MPG = Get-ModifiableProtectionGroup $PG

Adicionar membros do grupo ao Grupo de Proteção

Cada Agente do DPM conhece a lista de fontes de dados no servidor em que está instalado. Para adicionar uma fonte de dados ao Grupo de Proteção, o Agente do DPM precisa primeiro enviar uma lista das fontes de dados de volta ao servidor DPM. Uma ou mais fontes de dados são selecionadas e adicionadas ao Grupo de proteção. As etapas do PowerShell necessárias para conseguir isso são:

  1. Obtenha uma lista de todos os servidores gerenciados pelo DPM por meio do Agente do DPM.
  2. Escolha um servidor específico.
  3. Obtenha uma lista de todas as fontes de dados no servidor.
  4. Escolha uma ou mais fontes de dados e adicione-as ao Grupo de Proteção

A lista de servidores nos quais o Agente do DPM está instalado e sendo gerenciado pelo Servidor DPM é adquirida com o cmdlet Get-DPMProductionServer . Neste exemplo, filtraremos e configuraremos apenas o PowerShell com o nome productionserver01 para backup.

$server = Get-ProductionServer -DPMServerName "TestingServer" | Where-Object {($_.servername) –contains "productionserver01"}

Agora busque a lista de fontes de dados usando $server o cmdlet Get-DPMDatasource . Neste exemplo, estamos filtrando o volume D:\ que queremos configurar para backup. Essa fonte de dados é então adicionada ao Grupo de Proteção usando o cmdlet Add-DPMChildDatasource . Lembre-se de usar o objeto $MPG de grupo de proteção modificável para fazer as adições.

$DS = Get-Datasource -ProductionServer $server -Inquire | Where-Object { $_.Name -contains "D:\" }

Add-DPMChildDatasource -ProtectionGroup $MPG -ChildDatasource $DS

Repita esta etapa quantas vezes forem necessárias, até adicionar todas as fontes de dados escolhidas ao grupo de proteção. Você também pode começar com apenas uma fonte de dados e concluir o fluxo de trabalho para criar o Grupo de Proteção e, posteriormente, adicionar mais fontes de dados ao Grupo de Proteção.

Seleção do método de proteção de dados

Depois que as fontes de dados tiverem sido adicionadas ao Grupo de Proteção, a próxima etapa será especificar o método de proteção usando o cmdlet Set-DPMProtectionType . Neste exemplo, o Grupo de Proteção é configurado para backup em disco local e em nuvem. Você também precisa especificar a fonte de dados que deseja proteger na nuvem usando o cmdlet Add-DPMChildDatasource com o sinalizador -Online.

Set-DPMProtectionType -ProtectionGroup $MPG -ShortTerm Disk –LongTerm Online
Add-DPMChildDatasource -ProtectionGroup $MPG -ChildDatasource $DS –Online

Definindo o intervalo de retenção

Defina a retenção para os pontos de backup usando o cmdlet Set-DPMPolicyObjective . Embora possa parecer estranho definir a retenção antes que o agendamento de backup tenha sido definido, o uso do Set-DPMPolicyObjective cmdlet define automaticamente um agendamento de backup padrão que pode ser modificado. É sempre possível definir o agendamento de backup primeiro e a política de retenção depois.

No exemplo abaixo, o cmdlet define os parâmetros de retenção para backups de disco. Isso manterá backups por 10 dias e sincronizará dados a cada 6 horas entre o servidor de produção e o servidor DPM. O SynchronizationFrequencyMinutes não define com que frequência um ponto de backup é criado, mas com que frequência os dados são copiados para o servidor DPM. Essa configuração evita que os backups se tornem muito grandes.

Set-DPMPolicyObjective –ProtectionGroup $MPG -RetentionRangeInDays 10 -SynchronizationFrequencyMinutes 360

Para backups que vão para o Azure (o DPM se refere a eles como backups online), os intervalos de retenção podem ser configurados para retenção de longo prazo usando um esquema de avô-pai-filho (GFS). Ou seja, você pode definir uma política de retenção combinada envolvendo políticas de retenção diárias, semanais, mensais e anuais. Neste exemplo, criamos uma matriz que representa o esquema de retenção complexo que desejamos e, em seguida, configuramos o intervalo de retenção usando o cmdlet Set-DPMPolicyObjective .

$RRlist = @()
$RRList += (New-Object -TypeName Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.RetentionRange -ArgumentList 180, Days)
$RRList += (New-Object -TypeName Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.RetentionRange -ArgumentList 104, Weeks)
$RRList += (New-Object -TypeName Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.RetentionRange -ArgumentList 60, Month)
$RRList += (New-Object -TypeName Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.RetentionRange -ArgumentList 10, Years)
Set-DPMPolicyObjective –ProtectionGroup $MPG -OnlineRetentionRangeList $RRlist

Definir o agendamento de backup

O DPM define um agendamento de backup padrão automaticamente se você especificar o objetivo de proteção usando o Set-DPMPolicyObjective cmdlet. Para alterar as agendas padrão, use o cmdlet Get-DPMPolicySchedule seguido pelo cmdlet Set-DPMPolicySchedule.

$onlineSch = Get-DPMPolicySchedule -ProtectionGroup $mpg -LongTerm Online
Set-DPMPolicySchedule -ProtectionGroup $MPG -Schedule $onlineSch[0] -TimesOfDay 02:00
Set-DPMPolicySchedule -ProtectionGroup $MPG -Schedule $onlineSch[1] -TimesOfDay 02:00 -DaysOfWeek Sa,Su –Interval 1
Set-DPMPolicySchedule -ProtectionGroup $MPG -Schedule $onlineSch[2] -TimesOfDay 02:00 -RelativeIntervals First,Third –DaysOfWeek Sa
Set-DPMPolicySchedule -ProtectionGroup $MPG -Schedule $onlineSch[3] -TimesOfDay 02:00 -DaysOfMonth 2,5,8,9 -Months Jan,Jul
Set-DPMProtectionGroup -ProtectionGroup $MPG

No exemplo acima, $onlineSch é uma matriz com quatro elementos que contém o cronograma de proteção on-line existente para o Grupo de Proteção no esquema GFS:

  1. $onlineSch[0] contém a programação diária
  2. $onlineSch[1] contém o calendário semanal
  3. $onlineSch[2] contém o calendário mensal
  4. $onlineSch[3] contém o calendário anual

Então, se você precisa modificar o cronograma semanal, você precisa consultar o $onlineSch[1].

Cópia de segurança inicial

Ao fazer backup de uma fonte de dados pela primeira vez, o DPM precisa criar uma réplica inicial que cria uma cópia completa da fonte de dados a ser protegida no volume de réplica do DPM. Essa atividade pode ser agendada para um horário específico ou acionada manualmente, usando o cmdlet Set-DPMReplicaCreationMethod com o parâmetro -NOW.

Set-DPMReplicaCreationMethod -ProtectionGroup $MPG -NOW

Alterando o tamanho da réplica do DPM ou do volume do ponto de recuperação

Você também pode alterar o tamanho do volume da Réplica do DPM e do volume da Cópia de Sombra usando o cmdlet Set-DPMDatasourceDiskAllocation como no exemplo a seguir: Get-DatasourceDiskAllocation -Datasource $DS Set-DatasourceDiskAllocation -Datasource $DS -ProtectionGroup $MPG -manual -ReplicaArea (2gb) -ShadowCopyArea (2gb)

Confirmando as alterações no Grupo de Proteção

Por fim, as alterações precisam ser confirmadas antes que o DPM possa fazer o backup de acordo com a nova configuração do Grupo de Proteção. Isso pode ser feito usando o cmdlet Set-DPMProtectionGroup .

Set-DPMProtectionGroup -ProtectionGroup $MPG

Ver os pontos de backup

Você pode usar o cmdlet Get-DPMRecoveryPoint para obter uma lista de todos os pontos de recuperação para uma fonte de dados. Neste exemplo, vamos:

  • buscar todos os PGs no servidor DPM e armazená-los em uma matriz $PG
  • obter as fontes de dados correspondentes ao $PG[0]
  • Obtenha todos os pontos de recuperação para uma fonte de dados.
$PG = Get-DPMProtectionGroup –DPMServerName "TestingServer"
$DS = Get-DPMDatasource -ProtectionGroup $PG[0]
$RecoveryPoints = Get-DPMRecoverypoint -Datasource $DS[0] -Online

Restaurar dados protegidos no Azure

A restauração de dados é uma combinação de um objeto e um RecoverableItemRecoveryOption objeto. Na seção anterior, obtivemos uma lista dos pontos de backup para uma fonte de dados.

No exemplo abaixo, demonstramos como restaurar uma máquina virtual Hyper-V do Backup do Azure combinando pontos de backup com o destino para recuperação. Este exemplo inclui:

  • Criando uma opção de recuperação usando o cmdlet New-DPMRecoveryOption .
  • Obtenção da matriz de pontos de backup usando o Get-DPMRecoveryPoint cmdlet.
  • Escolher um ponto de backup a partir do qual restaurar.
$RecoveryOption = New-DPMRecoveryOption -HyperVDatasource -TargetServer "HVDCenter02" -RecoveryLocation AlternateHyperVServer -RecoveryType Recover -TargetLocation "C:\VMRecovery"

$PG = Get-DPMProtectionGroup –DPMServerName "TestingServer"
$DS = Get-DPMDatasource -ProtectionGroup $PG[0]
$RecoveryPoints = Get-DPMRecoverypoint -Datasource $DS[0] -Online

Restore-DPMRecoverableItem -RecoverableItem $RecoveryPoints[0] -RecoveryOption $RecoveryOption

Os comandos podem ser facilmente estendidos para qualquer tipo de fonte de dados.

Próximos passos