Implementar e gerir cópias de segurança para o Azure em servidores do Data Protection Manager (DPM) com o PowerShell
Este artigo descreve como usar o PowerShell para configurar o Backup do Azure em um servidor DPM e gerenciar o backup e a recuperação.
Configurar 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 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.
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.
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"
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"
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"
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>>.
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 : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
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 $setting
do PowerShell local e, em seguida, o objeto 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 -ProxyServer
e -ProxyPort
e -ProxyUsername
os ProxyPassword
parâmetros com o cmdlet Set-DPMCloudSubscriptionSetting . 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 -WorkHourBandwidth
e -NonWorkHourBandwidth
para um determinado conjunto de dias da semana. Neste exemplo, não estamos definindo nenhuma limitação.
Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -NoThrottle
Configurar 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 $setting
do 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 passphrase123456789
segura e atribui a cadeia de caracteres 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:
- 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.
- 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.
- 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.
- 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:
- Obtenha uma lista de todos os servidores gerenciados pelo DPM por meio do Agente do DPM.
- Escolha um servidor específico.
- Obtenha uma lista de todas as fontes de dados no servidor.
- 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.
Selecione o 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 na 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
Definir 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:
$onlineSch[0]
contém a programação diária$onlineSch[1]
contém o calendário semanal$onlineSch[2]
contém o calendário mensal$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
Quando você faz 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
Alterar 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)
Confirmar as alterações ao 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 RecoverableItem
objeto e um RecoveryOption
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
- Para obter mais informações sobre o Backup do DPM para Azure, consulte Introdução ao Backup do DPM