Veeam Backup Free Edition: agora com PowerShell!

Vladimir EreminEsta é uma postagem do convidado Vladimir Eremin, gerente de produtos da Veeam. Vladimir é muito ativo nos fóruns da Veeam, no Twitter e no Spiceworks. Uma das habilidades de Vladimir é o PowerShell; nesta postagem, ele vai orientar você neste processo. Se tiver alguma dúvida sobre as partes do PowerShell mencionadas nesta postagem, use os fóruns da Veeam para discutí-la. Você também pode fazer o download do script de amostra para VMware e para Hyper-V, e discutir no tópico correspondente nos fóruns da Veeam.

Nosso Veeam Backup Free Edition tem sido a ferramenta gratuita mais popular da Veeam, principalmente graças à funcionalidade do VeeamZIP: realizar backup completos interativos de uma quantidade ilimitada de VMs. Mas o VeeamZIP sempre teve uma limitação pequena, mas irritante: a incapacidade de agendar backups regulares. Realmente, como só é possível ativar o VeeamZIP de forma interativa, não há uma maneira simples de agendá-lo com tarefas de backup regulares na interface. Se você já se deparou com esse problema, pode se alegrar em saber que, a partir do Update 2, não é mais assim. Graças aos fóruns da Veeam e nosso envolvimento no Veeam e em outras áreas, reconhecemos o problema e decidimos resolvê-lo ao disponibilizar o cmdlet do PowerShell Start-VBRZip disponível na Free Edition.

Como funciona

Como dissemos antes, a funcionalidade principal do Veeam Backup Free Edition é poder realizar backups VeeamZIP de suas VMs (e, é claro, recuperar VMs, arquivos guest e itens de aplicação desses backups). O VeeamZIP sempre gera um arquivo de backup completo (.vbk) que funciona como um ponto de restauração independente. A Free Edition permite armazenar esse arquivo em um repositório de backup, em uma pasta local ou em um compartilhamento de rede.

Quando você realiza um backup com o VeeamZIP, pode iniciar o processo de backup para a VM selecionada imediatamente. Esse tipo de backup requer um mínimo de configuração; portanto, é extremamente fácil ativá-lo manualmente.

image

Com o Update 2, agora você pode escrever um script simples de PowerShell (confira a amostra para VMware e para Hyper-V), que inicia a atividade do VeeamZIP para uma VM selecionada, e definir a programação que quiser para ele por meio do Agendador do Windows. Até criamos o script de exemplo a seguir que, além de ativar backups do VeeamZIP para as VMs selecionadas, manda por e-mail um relatório bem formatado com os resultados dos backups!

Parâmetros do script

O script pode realizar backups ad hoc das VMs selecionadas que estejam tanto em um host ou cluster independente quanto em um servidor vCenter. Antes de executar o script, você precisa fornecer três parâmetros obrigatórios: nomes das VMs para os backups, o host onde as VMs estão e a pasta onde os arquivos de backup devem ser armazenados. Observação: este script foi atualizado em 18/5 graças aos feedbacks.

 

##################################################################

# Variáveis definidas pelo usuário

##################################################################

# Nomes das VMs que passarão por backup, separados por vírgula (obrigatório). Por exemplo, $VMNames = “VM1”,”VM2”

$VMNames = ""

# Nome do host vCenter ou ESXi independente nos quais as VMs estão (obrigatório).

$HostName = ""

# Pasta para a qual os backups das VMs devem ir (obrigatório; por exemplo, C:\Backup)

$Directory = ""

 

Opcionalmente, você pode alterar o nível de compactação e retenção desejado, desativar o quiescence do VMware, ativar a criptografia ou até mesmo configurar notificações:

# Nível de compactação desejado (opcional; valores possíveis: 0 - nenhum, 4 - amigável à deduplicação, 5 - ideal, 6 - alto, 9 - extremo)

$CompressionLevel = "5"

# Quiesce VM ao fazer snapshot (opcional; para usar o recurso, é preciso ter o VMware Tools ou os Componentes de Integração do Hyper-V no SO guest; valores possíveis: $True/$False)

$EnableQuiescence = $True

# Proteger o backup resultante com chave de criptografia (opcional; $True/$False)

$EnableEncryption = $False

# Chave de criptografia (opcional; caminho para uma string segura)

$EncryptionKey = ""

# Configurações de retenção (opcional; por padrão, os arquivos do VeeamZIP não são removidos, sendo mantidos no local especificado por tempo indeterminado.

# Valores possíveis: Never, Tonight, TomorrowNight, In3days, In1Week, In2Weeks, In1Month)

$Retention = "Never"

 

Se quiser receber um relatório por e-mail quando o backup terminar, você também deve preencher as configurações de notificação a seguir.

##################################################################

# Configurações de notificação

##################################################################

# Ativar notificação (opcional)

$EnableNotification = $True

# Servidor de e-mail SMTP

$SMTPServer = ""

# Remetente do e-mail

$EmailFrom = ""

# Destinatário do e-mail

$EmailTo = ""

# Assunto do e-mail

$EmailSubject = ""
O relatório de e-mail resultante ficará parecido com o seguinte:

Name Start Time End Time Result Details
CentOS-tiny_2015-03-26T180459 3/26/2015 6:04:59 PM 3/26/2015 6:07:17 PM Warning Processing finished with warnings at 3/26/2015 6:07:13 PM Cannot use VMware Tools quiescence because VMware Tools are not found.
CentOS-tiny_replica_2015-03-26T180720 3/26/2015 6:07:20 PM 3/26/2015 6:11:20 PM Success Processing finished at 3/26/2015 6:11:18 PM

Todas as configurações mencionadas acima, podem ser configuradas ao ajustar certas variáveis com os valores correspondentes. Por exemplo, para ativar a criptografia, você deve definir o valor $True (booleano) para a variável $EnableEncryption e fornecer a chave de criptografia (consulte o próximo capítulo). Além disso, se quiser que os arquivos de backup sejam excluídos depois de duas semanas, você deve definir o valor “In2Weeks” (string) para a variável $Retention, etc. Não é preciso lembrar o que cada variável faz e quais valores são aceitáveis; para sua conveniência, o script de exemplo inclui uma descrição curta para cada variável.

Criptografia

Vamos voltar a falar da criptografia. A segurança dos dados é fundamental na estratégia de backup. Os dados de backup devem ser protegidos do acesso não autorizado, especialmente quando o backup de uma VM confidencial é levado para um local externo ou arquivado em fitas. Para manter seus dados seguros, você pode criptografar seus backups do VeeamZIP. Como notamos acima, isso exige a escolha de um arquivo que contenha a senha de criptografia.

É claro que você poderia fornecer a senha ao script como uma string de texto puro. Mas strings comuns são, no mínimo, inseguras, já que são armazenadas na memória como texto puro. Como resultado, a maioria dos cmdlets PowerShell simplesmente não aceita senhas nesse formato.

Uma string segura é a melhor opção. Esse tipo de dado é parecido com a string comum, mas o conteúdo é criptografado na memória. Ele usa uma criptografia reversível para que a senha possa ser descriptografada quando for necessário, mas somente pela entidade de segurança que a criptografou. Para criar uma string segura, você precisa abrir o console do PowerShell e digitar as duas linhas abaixo. Quando esse código for executado, ele pedirá que você digite uma senha e, então, a salvará como uma string segura em um arquivo:

$SecurePassword = Read-Host -Prompt "Enter password" -AsSecureString

$SecurePassword | ConvertFrom-SecureString > > “Directory where secure string should be stored; C:\SecureString.txt, for instance”

Depois disso, especifique o caminho para o arquivo recém-criado no script principal:
# Proteger o backup resultante com chave de criptografia (opcional; $True/$False)

$EnableEncryption = $True

# Chave de criptografia (opcional; caminho para uma string segura)

$EncryptionKey = "C:\SecureString.txt"

Agendando o script

Antes de agendar o script, não deixe de iniciá-lo manualmente para garantir que ele funcione conforme o esperado.

A maneira mais fácil de agendar o script para realizar backups periódicos automaticamente é usar o Agendador de Tarefas do Windows. Basta acessar a ferramenta Agendador de Tarefas e criar uma tarefa básica nova:

image

Atribua um nome e uma descrição a ela para que você se lembre facilmente do que a tarefa faz.

A próxima página é o Disparador de Tarefa. Ele é bem básico e autoexplicativo. As opções disponíveis são bem flexíveis (é possível executar os backups várias vezes ao dia ou uma vez por mês), então ajuste os melhores valores para seus requisitos de RPO. A maioria das pessoas usa backups diários:

image

Ajuste a hora de início da tarefa fora do expediente. Neste exemplo, a tarefa é executada toda noite, às 22h, a partir de 22 de abril de 2015.

image

Na página seguinte, Ação, especifique que a tarefa agendada deve iniciar um programa e clique em Avançar.

clip_image002

No painel Iniciar um Programa, você vai inserir o seguinte comando no campo Programa/script:

Powershell –file “caminho para o arquivo Veeamzip.ps1”

clip_image004

Pronto! Mas talvez você queira abrir a tarefa depois de criada para fazer mais mudanças. Para isso, ative a opção Abrir a caixa de diálogo Propriedades desta tarefa ao clicar em Concluir:

clip_image006

Como a tarefa deve ser executada em um servidor no qual talvez não haja um usuário conectado quando a tarefa acontecer, é bom permitir que a tarefa seja executada independentemente do usuário estar conectado ou não, associando as credenciais do usuário à tarefa.

clip_image008

Quando terminar, clique com o botão direito na tarefa e escolha “Executar” para garantir que a tarefa seja concluída adequadamente:

clip_image009

O PowerShell oferece aos usuários o que eles sempre quiseram fazer com o Veeam Backup Free Edition!

Agora, com essa capacidade nova e incrível, você deve ser capaz de atingir aquele objetivo tão aguardado: fazer backups agendados com o Veeam Backup Free Edition, que oferece muito mais recursos de backup e recuperação do que as outras soluções gratuitas de backup baseadas em scripts.

Article language
Stay up to date on the latest tips and news
By subscribing, you are agreeing to have your personal information managed in accordance with the terms of Veeam’s Privacy Policy
You're all set!
Watch your inbox for our weekly blog updates.
OK