você está aqui: Home  → Arquivo de Mensagens

Snapshot como ferramenta de Backup

Colaboração: Ali Faiez Taha

Data de Publicação: 12 de março de 2012

Diz um velho ditado que só se faz Backup quando já se perdeu o que tinha (de importante). E na Informática isso não é diferente.

As técnicas de Backup tradicionais exigem cópia de todos os dados para um dispositivo (disco, fita, pen drive, etc) e constantemente se preocupar com a atualização dos arquivos já armazenados. O Backup completo, full, é feito no início, onde tudo é copiado para o dispositivo escolhido. O processo é demorado e, dependendo da mídia que vai armazenar o Backup e a quantidade de dados, pode-se levar horas para completar o Backup.

Em seguida tem o Backup incremental, que vai armazenar os arquivos que foram alterados. É lógico que é mais rápido que o full Backup. Para conhecer melhor estas técnicas de Backup e seus diversos detalhes é recomendável uma boa leitura nos manuais e livros dedicados. A técnica de Backup com Snapshot é baseada em se ter uma cópia (analogamente a uma fotografia) instantânea do estado de uma partição ou do disco inteiro, ou da memória RAM.

Geralmente deve ser de apenas leitura. Ocupa pouco espaço em disco e é muito usado em servidores de grande porte. É rápido e não compromete o desempenho do servidor. O tempo e as operações de I/O (Input/Output) gasto para se fazer um Snapshot não aumenta de acordo com o tamanho da partição, por exemplo.

Alguns sistemas implementam o Snapshot como Backup incremental, ou seja, copiando apenas o que foi modificado. e usam o conjunto de ponteiros para referenciar o Snapshot inicial. Esta técnica usa menos disco se comparado a fazer Snapshots completos repetidamente.

Como exemplo de aplicação do Snapshot, os comandos a seguir podem ser usados no Sistema Operacional FreeBSD (5.0 ou superior)

Fazer o Snapshot da partição /var

  $>  mount -u -o snapshot /var/snapshot/Meu.Backup.var /var

Se já houver o diretório /var/.snap basta mudar o comando mount para:

  $>  mount -u -o snapshot /var/.snap/Meu.Backup.var  /var

Para montar o arquivo de snapshot criado:

  $>  mdconfig -a -t vnode -f /var/snapshot/snap -u 4

ou

  $>  mdconfig -a -t vnode -f /var/.snap/Meu.Backup.var  -u 4
  $>  mount -r /dev/md4 /mnt

Agora é só examinar os arquivos e diretórios do ponto /mnt e comparar com os originais da partição /var . Se fizer isso diariamente fica muito fácil manipular os Backups. Basta identificar os arquivos com data e horários, por exemplo, um Backup mensal:

  /var/.snap/bkp.01-01-2012
  /var/.snap/bkp.01-02-2012
  /var/.snap/bkp.01-03-2012

Para desmontar a partição /mnt:

  $>  umount /mnt
  $>  mdconfig -d -u 4

No mercado de Storage a técnica de Snapshot é amplamente utilizada. No Linux há ferramentas para se fazer Snapshots também. Uma delas é o RSNAPSHOT. Personalizando o arquivo de configuração (/etc/rsnapshot.conf) um Backup diferencial, diário, semanal, etc, pode ser facilmente implementado.

O projeto FreeNAS (www.freenas.org) é dedicado a Storage e traz o recurso de Snapshot embutido. Há recursos para criar os Snapshots, agendar e criar clones, e muitos mais.

Todos os Sistemas de arquivos possuem ferramentas baseadas em Snapshot. Máquinas Virtuais, Banco de dados também usam o Snapshot.



Veja a relação completa dos artigos de Ali Faiez Taha

 

 

Opinião dos Leitores

Alexandre
25 Jan 2016, 11:50
Então eu não posso usar um snapshot de um disco para fazer uma restauração de desastre, pois o snapshot fica no mesmo disco e utiliza apenas ponteiros para os arquivos, é isso?
Wanderson Carlos
21 Abr 2015, 02:03
Olá, o que eu nunca consegui entender é como um "snapshot" consegue fazer uma cópia exata de um disco, de maneira tão rápida e consumindo tão pouco espaço? Por favor, me explique! Agradeço! :D
Ali Faiez Taha
13 Mar 2012, 09:06
Caro Marcelo, o arquivo de snapshot tem que ficar na própria partição, é obrigatório pois ele contém ponteiros de arquivos localizados nesta partição. Os snapshots não irão conter os snapshots jé efetuados. Para maiores detalhes veja o seguinte link: http://www.freebsd.org/doc/handbook/snapshots.html
Marcelo
12 Mar 2012, 11:23
Uma duvida: no exemplo apresentado, foi feito o snapshot da partição /var dentro da própria partição, isso é obrigatório ou pelo menos recomendável? Questiono, porque desta maneira os snapshots futuros não irão conter também os passados? Obrigado e excelente dica!
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script