Técnicas de backup de máquinas virtuais Marcelo Giovani dos Santos Furtado1 1 Faculdade de Tecnologia Senac Pelotas (FATEC) Caixa Postal 96015560 – Pelotas – RS – Brazil {furtado.senac}@gmail.com Abstract. The article aims avaaliar Performance Virtual Machine support techniques in virtualizadores Commercial . Resumo. O artigo tem como objetivo avaliar o desempenho de técnicas de backup de máquinas virtuais em virtualizadores comerciais. 1. Introdução Com o lançamento de processadores cada vez mais rápidos, o uso de grandes volumes de memória e de armazenamento, e a maioria das máquinas utilizam somente de 5 a 15 porcento de seu processamento de CPU [Morimoto 2006] passou cada vez mais fazer sentido agrupar diversos servidores em uma única máquina, usando algum sistema de virtualização para unificação. Com o uso de virtualização obtém-se vários benefı́cios e otimização de recursos, tais como: diminuição do uso de energia, diminuição do custo de climatização, eliminação de máquinas antigas e agilidade na administração dos servidores entre outros. A proposta do artigo é comparar os recursos de backups das ferramentas nativas dos virtualizadores e de software de terceiros. Quanto menor o tamanho dos arquivos salvos e melhor desempenho das ferramentas ajudará na rotina cotidiana de sua utilização por ocupar menor espaço, assim, com o mesmo local de armazenamento pode-se manter e aumentar por mais tempo os backups. 2. Técnicas de backup para VMs As técnicas de backups são procedimentos ou recursos utilizadas para manter uma cópia do arquivo original ou modificada para uma futura restauração em caso de uma falha ou desastre. No caso das aplicações utilizadas essas possuem o recurso próprio de snapshots que faz um salvamento do estado da máquina, este recurso será melhor abordado posteriormente e as ferramentas de terceiros serão explorados os seus recursos. É importante ressaltar que snapshot não é propriamente um backup, porque o mesmo guarda os arquivos dentro do repositório onde está a máquina virtual. Para que se tenha dados salvos com segurança é necessário realizar mais um etapa com estes arquivos, que é de salvar em outra estrutura fora da máquina local. 2.1. Backups É uma cópia dos dados de produção, criada e retirada para o próposito de recuperar dados deletados ou corrompidos. Os backups e restore em TI (Tecnologia da Informação) são parte de um processo para garantir e manter a infraestrutura em funcionamento. Alguns motivos da necessidade de realizar backups, das quais destaca-se: requisitos de negócio, requisitos legais, proteção contra falhas de hardware, proteção contra falha de aplicação, proteção contra erro de usuário, recuperação de desastres e outros [Veras 2009]. Deve-se definir a forma de backup com os dados a serem salvos e também uma estratégia para recuperação. É muito importante realizar testes dos arquivos salvos antes da necessidade real. Os backups podem ser a quente (hot) quando a aplicação está em uso ou a frio (cold) quando não está ativa [Veras 2009]. 2.2. Tipos de backups A estratégia de backups e restore definida para prioridade do negócio deve definir o tipo de backup a ser realizado que pode ser: • Backup Completo - onde se faz o salvamento de todos os dados em certo ponto no tempo. • Backup Diferencial - realizado com todos os dados desde o último backup completo. • Backup Incremental- faz o backup de todos os dados deste o último backup completo ou deste o último backup incremental, o que acontece mais recente. 2.3. Backups off-site Comentado anteriormente, quando usado os recursos próprios dos hipervisores que gera os snapshots, estes ficam armazenados dentro dos diretórios da estrutura, há necessidade de realizar um cópia dos arquivos para fora da estrutura para aumentar a segurança em casos de falhas ou desastres. A restauração se fará do arquivo salvo de outro lugar com os dados integros de uma mı́dia de DVD, HD externo, cloud ou de uma storage. 2.4. Replicação Algumas ferramentas possuem o recursos de replicar a VM para outro ambiente, não importando os sistemas operacionais usado por elas. Com uma estrutura montada a parte da principal é possı́vel restart do sistema que foi feita a replicação, ou seja, uma duplicação da VM. 2.5. Backup inteligentes de arquivos Tem a possibilidade de restaurar não apenas a máquina virtual completa, mas também arquivos como caixas de e-mails e arquivos de usuários e outros. A aplicação abre o arquivo salvo no backup e como um menu explore, percorre-se os diretórios selecionando o arquivo em especı́fico que se quer restaurar conforme Figura 1. Esse recurso é disponibilizado na ferramenta Veeam e no Trilead, mas não faz restauração por motivo de serem uma aplicação para avaliação e ter restrições nesta versão utilizada. Mas, deixa abrir o arquivo de backup e ver os arquivos salvos. Um recurso muito útil na hora de realizar uma restauração de um arquivo especı́fico, sem a necessidade de fazer toda restauração da VM. Figura 1. Explore para restaurar 2.6. Snapshots São instantâneos de máquina virtual que preserva o estado e os dados em um determinado momento, como fosse tirada uma foto do estado atual da virtualização, este processo pode ser realizado com as máquinas em execução. Este processo incluem o estado de energia da máquina se está ligada, desligada ou suspensa. E, todos os arquivos que compõem a VM como disco, memória e outros dispositivos. Muito usado em ambientes de testes ou para homologação de aplicações, aonde pode-se fazer e refazer estados anteriores do sistema usado. A correta utilização do snapshot, precisa-se salientar que não é um backup, é recomendado sua utilização para um teste de uma nova instalação de função, recursos, aplicar Service Pack, atualização de segurança ou solução, caso não de certo, retorna o snapshot, após este procedimento, dando certo ou não, o importante é deletar esse snapshot [Microsoft 2016a]. 3. Hipervisores Um sistema de computadores virtual é chamado de máquina virtual (VM) formando um contênier de software rigidamente isolado da máquina real que contém um sistema operacional e aplicativos [VMware 2016]. E neste artigo será abreviada a referência de máquina virtual com a designação (VM). O hipervisor é uma camada de software que desassocia as VMs do hospedeiro (máquina real) e aloca dinamicamente os recursos de computação para cada umas dessa máquinas, conforme o necessário. Também conhecido por Virtual Machine Monitor (VMM) habilita a execução de vários sistemas operacionais na mesma máquina real. Foram escolhidas as duas aplicações de virtualização Hyper-V da Microsoft e VMware ESXi da VMware por serem as mais utilizadas entre as aplicações nas empresas [Veras 2009] e ao pesquisar ferramentas para realizar os testes, a maioria disponibilizam versões para ambas as aplicações escolhidas. 3.1. Tipos de Hipervisores Os hipervisores utilizados para realização dos testes são do tipo 1 e do tipo 2 demonstrados na Figura 2. O hipervisor de tipo 1, VMware ESXi é instalado diretamente no hardware e as máquinas virtuais são instalados sobre ele, sendo atribuido a função de gerenciar as máquinas criadas e o hipervisor tipo 2, Hyper-V, é preciso que tenha um sistema operacional para que seja instalado. Figura 2. Tipos de Hipervisores 3.2. Hyper-V A função do Hyper-V permite criar e gerenciar um ambiente virtualzado, usando a tecnologia de virtualização interna do Windows Server. É instalado como um recurso do Windows e acessado como um programa, onde cria-se as máquinas virtuais com multiplos sistema operacionais compartilhando uma única plataforma de hardware [Microsoft 2016b]. O sistema operacional torna-se a partição pai de onde são gerados as partições filhos, que não tem acesso direto aos recursos de hardware e sim uma visão virtual dos dispositivos. 3.3. VMware ESXi O VMware é um software que permite a instalação e utilização de um sistema operacional dentro de outro dando suporte real a software de outros sistemas operacionais. Pode-se executar mais de um sistema operacional simultaneamente em ambiente isolado, criando computadores completos com sistemas distintos. Quando uma VM está em execução sem snapshots, é executada e as alterações são gravadas no disco base virtual (flat.vmdk). Quando uma snapshot é gerado, todas as alterações são gravadas no arquivo delta do snapshot (delta.vmdk). Se outro snapshot for gerado, um segundo arquivo delta será criado e assim por diante. Estes arquivos são demonstrados na Figura 3, que contém os arquivos de uma VM criada dentro do VMware e com a execução de snapshot dentro do diretório como ilustrado, onde foram suprimido arquivos de logs para melhor visualização dos arquivos. 3.4. Recursos próprio dos hipervisores (snapshot) Na Tabela 1 é demonstrado os arquivos do VMware com descrição de suas funções. Estes arquivos se localizam dentro do diretório vm virtual em /vmfs/volumes/número gerado sistema/nome VM, sendo criados com o recursos do snapshot. Ao utilizar o Hyper-V são gerados arquivos salvos por padrão em em três diretórios diferentes, demonstrado na Figura 4, onde são salvo os arquivos .XML, o .SVS, o .AVD, .BIN e o VDH que são descridos suas funcionalidades na Tabela 2. Tabela 1. Arquivos VMware Arquivos do snapshot (v) (number).vmk e (number)-delta.vmdk (vm).vmsd (vm)snapshot(number).vmsn Descrição Para cada disco conectado na VM. Chamados de discos filhos,logs de restauração ou links delta. Estes discos filhos podem posteriormente considerados discos pais de futuros discos filhos. No disco pai original, cada filho corresponde um log de restauração que aponta de volta ao original É um banco de dados de informações de snapshots da VM e a principal fonte de snapshots manager, o arquivo contém entradas de linha que definem as relações entre snapshots, bem como entre discos filhos para cada snapshots Inclui a configuração atual e o estado ativo da VM. Captura o estado de memória e permite reverter para um estado ligado, com snapshot que não de memória apenas é possı́vel reverter para um estado VM desligada. Tabela 2. Arquivos Hyper-V .avhd .vdh .xml .bin .vsv Arquivos do disco de diferenciação utilizadospara snapshot da VM. Sempre quando se cria snapshot e criado um novo arquivo AVHDS contendo apenas os dados relacionados para este snapshot criado arquivos de disco rı́gido da VM Arquivos de configurações da VM. Existe um deste para cada VM criada e para cada snapshotde um VM. Arquivo que contém a memória de uma VM ou snapshot que está em estado salvo Arquivos que contém o estado salvo à partir dos dispositivos associados com a VM. Figura 3. Arquivos VM - VMware ESXi. Figura 4. Diretórios dos arquivos 4. Ferramentas Para a escolha das ferramentas usadas nos testes, levou-se em conta a disponibilidade das mesmas possuı́ssem versão para ambas os hipervisores VMware e Hyper-V e versões de avaliações com mais de 30 dias para realização dos testes. 4.1. Veeam É uma ferramenta que funciona com o Hyper-V e também com o VMware ESXi, esta versão de teste é gratuita, sem limitação de hosts ou VMs e sem data de expiração, mas tem a versão paga que disponibiliza mais recursos para a aplicação. A ferramenta está disponı́vel para Windows, Linux, Unix BSD, Mac, Solaris e Novell [veeam ]. A ferramenta foi projetada para trabalhar especificamente para ambientes virtuais, operando na camada de virtualização e usa abordagem baseada em imagem para backup VM. Para recuperar dados da VM não é necessário a instalação de nenhum software agente no sistema operacional convidado . Ele utiliza recursos do snapshot da aplicação de virtualização. Os arquivos resultantes comprimidos e dados da VM desduplicados. Todos os arquivos de backups criados pela tarefa estão localizados em uma pasta de trabalho dedicado em um repositório de backup com os seguintes arquivos criados: backup completo (.vbk) para armazenar cópias de imagens de VMs, incremento de backup (.vib ou vrb) para armazenar mudanças incrementais para imagens de VM e os metadados de backups (.vbm) com informações sobre trabalho de backup que incluem as informações de VMs no backup, o número e a estrutura dos arquivos de backup, pontos de restauração. Independente do método usado, a primeira execução de um trabalho cria um backup completo imagem da VM, com tarefas subsequentes serão incrementais. A instalação é feita realizando o download do arquivo do site da desenvolvedora do softhware []. Importante lembrar quanto ao seu uso no sistema local e remoto deve-se fazer a desativação ou cofiguração do firewall e ambas máquinas para usá-la. 4.2. Trilead Desenvolvida pela HP (Hewlett Packard), esta versão de avaliação da Trilead VM Explore tem algumas restrições no seus recursos, usada para backups de máquinas virtuais dos hipervisores VMware e Hyper-V, assim como outra ferramenta utilizada. O seu acesso é feito através do navegador com endereço de IP (Internet Protocol- identificação da máquina) da máquina na qual foi instalada, para o funcionamento correto deve estar rodando o serviço Trilead VM Explore Service no Windows. 5. Estrutura Montada A estrutura montada identificada na Figura 5, utilizando os hipervisores Hyper-V e Vmware com as máquinas virtuais usando sistemas operacionais Windows 8 e o Linux CentOS 6.4. As máquinas com o sistema operacional Windows foram criada com 1 processador, 1024 MB de mémoria e 50 Gigabyte de disco e populado um sistema de correios de e-mails com tamanho de 2,5 Gigabyte e programa para acesso ao ERP (Enterprise Resource Planning) que é um sistema de informação de dados de organização. As VMs criadas com sistemas Linux CentOS foram criadas com 1 processador, 1024 MB de memória, 25 Gigabyte de disco e disponibilizado sistema de compartilhamento de arquivos na rede para os usuários com 3 Gigabytes. Os discos das VMs do Windows e Linux CentOS foram criados com tamanhos diferentes propositalmente, para que nos testes possa-se notar alguma diferença nos resultados obtidos. Após a atualização do Windows Server 2012 realizada a instalação do Hyper-V no painel de recursos do Windows e adicionamos a aplicação do Hyper-V é instalado como um recurso do Windows. 5.1. Metodologia dos testes Utilizando os próprios recursos das ferramentas VMware ESXi e Hyper-V que usam o snapshot, será realizado os testes com as duas VMs (Windows e Linux) montadas, realizando primeiro uma snapshot como base para a realização dos testes e posteriormente excluindo arquivos e retornando a uma salvamento anterior, previamente realizado para restauração dos arquivos. Com as ferramentas escolhidas, serão realizados os mesmos testes, mas explorando suas funcionalidades de realizar backup das mesmas VMs, capturando os valores de uso de memória, CPU, e o tempo para realizar esta ação do sistema dos hipervisores e das máquinas virtuais criadas, sendo usadas as configurações default das ferramentas. Figura 5. Estrutura Montada. Nos testes realizados foram recuperados os arquivos deletados propositalmente do compartilhamento da VM do Linux CentOS e assim, foram realizados testes com a máquina Windows com a exclusão de caixa de e-mail que também foi recuperada. 6. Resultados Utilizando o VMware e o Hyper-V com seus próprios recursos para realizar os testes, obteve-se os resultados mostrado na Figura 6. Analisando os resultados nota-se que a aplicação dos hipervisores se tem mı́nima variação dos recursos alocados, CPU e memória. Ocorrendo, pequena variação nos recursos disponivéis para as VMs durante a execução da tarefa de snapshot. O VMware teve variações na mémoria das VMs, enquanto o Hyper-v manteve-se com muito pouca variação de seu desempenho e dos recursos das suas VMs. Com o hipervisor da VMware pode-se contastar, assim como o Hyper-V houve pouca variação dos recursos de CPU e memória. E apresentou tempo superior de snapshot comparado com o realizado pela sistema operacional Windows Hyper-V. A diferença de uso de memória da VM do Linux Centos que passou de 5 % para 11 % foi por periodo curto de tempo, logo voltando para faixa de 6% a 7% durante a execução da tarefa de snapshot. Na Figura 7 mostra a captura dos resultados obtidos usando as ferramentas escolhidas para a realização dos testes. O hipervisor VMware quando da ação do teste de backup aumenta o uso de processamento de CPU, tanto no uso do Veeam como no Trilead e mantendo quase que estável o uso da memória do sistema. Os resultados referentes aos backups realizados de ambas aplicações, nota-se que a ferramenta Veeam mostra-se mais rápida para essa função e sendo um diferencial para os arquivos salvos a compactação destes num arquivo .vbk. Enquanto que a ferramenta Trilead somente faz o salvamento de todos os arquivos de dentro do diretório padrão da máquina virtual, sem nenhuma compactação. Figura 6. Resultados dos Snapshot Não podemos comparar o tempo de restore, porque o Trilead não disponibiliza (desabilitada) essa função na sua aplicação de avaliação, mostrando os dados coletados somente da ferramenta da Veeam. Também o salvamento em rede da aplicação não ocorreu, pós apresentou um erro quando da realização do backup na storage, sendo feitos todos na máquina monitoramento. Figura 7. Resultados no VMware com as ferramentas terceiros Na Figura 8, usando o hipervisor Hyper-V na tarefa de restore ocorreu erro neste etapa usando a VM do Windows, não houve a possibilidade de coletar esse dado, mesmo realizando vários procedimentos para tentar a solução deste problema. Assim como o teste anterior, houve um aumento do uso de CPU do Hyper-V durante a execução da tarefa de backup e resultando na mı́nima variação de memória. Nas VMs, não se notou variações que pode-se destacar.,Tanto o tempo de backup e restore a ferramenta Veeam obteve os menores valores. 7. Conclusões Os hipervisores usados, tanto o VMware quanto o Hyper-V são pobres de recursos de backups de suas máquinas virtuais criadas na suas estruturas. As ferramentas usadas Veeam e Trilead são opções para mantermos uma estrutura segura realizando salvamento dos dados necessários para um fatura restauração. Com os Figura 8. Resultados no Hyper-V com as ferramentas terceiros testes realizados, dentro do ambiente criado, com as condições e recursos que foram empregados a ferramenta Veeam obteve um bom resultado com valores menores no tempo de backup, restore e tamanho dos arquivos salvos, por compactar os arquivos das máquinas virtuais tornando-os arquivos menores para seu armazenamento. Tendo como referência os resultados obtidos pode-se afirmar que o uso do Veeam é uma opção para armazenamento de máquinas virtuais. 7.1. Dificuldades encontradas A ideia inicial era usar um VMplayer que é um software para virtualizar toda a estrutura, usando somente a storage para armazenamentos dos testes de backups. Mas ao instalar o Hyper-V da Microsoft que é um recurso do Windows Server 2012 ocorreram erros na instalação, porque o sistema detectava que já tinha um sistema de virtualização rodando e não completava a instalação. A solução neste caso foi realizar toda a instalação em uma máquina fı́sica, instalando sistema operacional Windows Server 2012 64 bits com mais de 160 atualizações no update, após acrescentar o recurso do Hyper-V. Outra dificuldade encontrada foi para a configuração de rede, porque a máquina fı́sica tinha somente uma plada de rede fı́sica, houve a necessidade da adição de uma segunda placa para uso das VMs criadas dentro do Hyper-V para realizar o acesso aos compartilhamentos externos e copiar os arquivos para popular a máquina. Também não é nativo do Hyper-V o uso da USB pelo sistema e se tem que lançar mão de outro métodos para acesso ao armazenamento externo. Ao realizar a tarefa de adicionar o servidor, no qual será usado como origem dos backups, a ferramenta Veeam apresenta erro de conexão com Hyper-V para a realizar backup da VMs com a informação (The network path was not found), mesmo passando as credenciais com usuário e senha corretos. A solução para este problema foi a instalação de pacote de correções para a aplicação, disponivel no site da desenvolvedora. Para sua instalação deve-se parar todos os serviços da aplicação que rodam no Windows. 7.2. Trabalhos Futuros Com o conhecimento e a experiência adquirida na realização deste artigo fazer para um próximo trabalho uma montagem de ambiente que englobe algumas destas aplicações usadas para comparar com ambiente real que esteja em produção e ver as diferenças que possa ocorre entre elas. Referências Microsoft (2016a). Sobre snapshots de máquina virtual. https://technet.microsoft.com/pt-br/library/dd85184328vws1129.aspx. Accessed: 2016-05-06. Microsoft (2016b). Visao geral do hyper-v. br/library/hh831531.aspx. Accessed: 2016-05-05. https://technet.microsoft.com/pt- Morimoto, C. E. (2006). Rede e servidores linux: guia prático. Sul Editores. veeam. Visao geral do hyper-v. Veras, M. (2009). Datacenter: componente central da infraestrutura de ti. Rio de Janeiro: Brasport. VMware (2016). Virtualizacao maquina virtual. http://www.vmware.com/br/virtualization/how-it-works.html. Accessed: 201604-07.