[FUG-BR] Artigo: Backup e Restore com DUMP

Joao Paulo Marques Mattos jpmmattos em terra.com.br
Ter Set 6 14:36:16 BRT 2005


OBJETIVO

O Objetivo deste documento é informar passo a passo como é feito a geração 
de backup através do recurso DUMP, e depois como restaurar um sistema 
inteiro através dos arquivos gerados. Pode-se também usar este processo para 
modificar parâmetros das partições como tamanho ou block-size.



Eu já usei este método para restaurar servidores em um novo HD porque o 
original estava queimado, ou apresentando defeito ou ate mesmo para 
redimensionar partições, eu sempre gero dumps em horários de pouco uso e 
quando há algum problema consigo restabelecer os serviços em um tempo 
razoável (tudo depende do tamanho da massa de dados e da velocidade do 
equipamento utilizado)





SISTEMA DE BACKUP

Devemos identificar as partições, deve-se iniciar o acesso digitando o 
usuário root e a senha.



network:~# /bin/df -h

Filesystem        Size  Used  Avail Capacity    Mounted on

/dev/ad0s1a       124M  60M   54M   52%         /

devfs             1.0K  1.0K  0B    100%        /dev

/dev/ad0s1e       248M  8.0K  228M  0%          /tmp

/dev/ad0s1f       6.9G  1.5G  4.8G  24%         /usr

/dev/ad0s1d       248M  44M   184M  19%         /var

/dev/ad1s1        3.8G  1.0K  0B    0%          /backup



Depois de identificado iniciaremos o backup, a opção "-0" significa backup 
completo, a opção "-L" serve para avisar o dump que ele vai trabalhar com 
uma partição montada (live filesystem), então ele vai gerar um .snapshot 
dela e trabalhar encima dele, o arquivo "barra.dump" será gravado em uma 
outra partição chamada de "/backup" como indica a opção "-f" e a opção "-a" 
indica que a partição é "/dev/ad0s1a"



network:~# /sbin/dump -0 -L -f /backup/barra.dump -a /dev/ad0s1a

  DUMP: Date of this level 0 dump: Sun Sep  4 20:16:32 2005

  DUMP: Date of last level 0 dump: the epoch

  DUMP: Dumping snapshot of /dev/ad0s1a (/) to /backup/barra.dump

  DUMP: mapping (Pass I) [regular files]

  DUMP: mapping (Pass II) [directories]

  DUMP: estimated 60996 tape blocks.

  DUMP: dumping (Pass III) [directories]

  DUMP: dumping (Pass IV) [regular files]

  DUMP: DUMP: 61810 tape blocks on 1 volume

  DUMP: finished in 64 seconds, throughput 965 KBytes/sec

  DUMP: Closing /backup/barra.dump

  DUMP: DUMP IS DONE



network:~# ls -lah /backup/barra.dump

-rw-------  1 root  wheel    60M Sep  4 20:17 /backup/barra.dump



Fazemos o mesmo com as outras partições...



network:~# /sbin/dump -0 -L -f /backup/tmp.dump -a /dev/ad0s1e

network:~# /sbin/dump -0 -L -f /backup/usr.dump -a /dev/ad0s1f

network:~# /sbin/dump -0 -L -f /backup/var.dump -a /dev/ad0s1d



EFETUAR A INSTALAÇÃO MÍNIMA DO FREEBSD

Ver manual de instalação do FreeBSD e seguir a criacao das particoes 
conforme próximo tópico.



VERIFICANDO O TAMANHO DAS PARTIÇÕES E LABELS

Para que voce não precise editar o arquivo /etc/fstab apos a restauração 
siga a criação das partições conforme instalação anterior.



Não é necessário que a partição tenha o mesmo tamanho, ela deve conter um 
tamanho suficiente, ou seja, deve ser maior que o arquivo de dump que será 
restaurado nela.



No exemplo abaixo eu criei as partições conforme instalação anterior porem 
acrescentei mais uma partição "/samba", pois eu tinha bastante espaço 
disponível no /usr, eu poderia ter aumentado a swap ou qualquer outra 
partição...



Filesystem Size  Label

/dev/ad0s1a 128M  /

/dev/ad0s1e 256M  /tmp

/dev/ad0s1f 3.0G  /usr

/dev/ad0s1d 256M  /var

/dev/ad0s1g 4.0G  /samba



INICIANDO O SISTEMA EM MODO MONO-USUÁRIO

Siga os passos abaixo para iniciar o sistema em modo mono-usuário apos a 
instalação mínima.



1 - Ligue o computador

2 - Aguarde a tela inicial



Selecione a opção "Boot FreeBSD in single user mode", é o numero 4. (é o 
mesmo que digitar  "boot -s" no prompt do loader)



Aguardar o término dos processos até que seja exibido conforme abaixo e 
tecle ENTER



# Enter full pathname of shell or RETURN for /bin/sh:

#



RESTAURANDO O BACKUP

Primeiro montamos todas as partições UFS cadastradas no /etc/fstab



# mount -t ufs -a



Agora montamos a nossa partição de backup que contem os arquivos de dump e 
esta em outro hd, os arquivos podem estar em qualquer lugar que voce 
consegue montar em single user mode. Por exemplo voce poderia subir a placa 
de rede e buscar em um outro servidor da rede.



# mkdir /backup

# mount /dev/ad1s1 /backup



Entrar no diretório que será feito o restore, e digitar no prompt o seguinte 
comando:



# cd /

# restore -x -u -f /backup/barra.dump

You have not read any tapes yet.

If you are extracting just a few files, start with the last volume

and work towards the first; restore can quickly skip tapes that

have no further files to extract. Otherwise, begin with volume 1.

Specify next volume #: 1

set owner/mode for '.'? [yn] n



# cd /usr

# restore -x -u -f /backup/usr.dump



# cd /var

# restore -x -u -f /backup/var.dump



# cd /tmp

# restore -x -u -f /backup/tmp.dump



Reinicie o sistema após o restore de todas as partições, é bom tambem voltar 
ao modo single e passar um fsck antes de iniciar o servidor restaurado.

# reboot



DICAS

network:~# man -a dump

network:~# man -a restore



Sempre que eu tenho que fazer algo desse tipo, depois, quando as coisas 
estão mais calmas, eu realizo um portupgrade -rf em todos os pacotes 
instalados e um bulidworld, só pra garantir.



Eu uso muito o "restore -i -f /backup/arquivo.dump" para restaurar arquivos 
de usuários, voce consegue navegar no arquivo em modo interativo, como se 
fosse um cliente ftp, é só digitar help dentro dele, hehehe... e, dependendo 
do cliente, o dump do HD vai pra fita ou NAS logo em seguida.



Realize testes e mais testes, verifique se os serviços rodados no servidor 
conseguirão ser restaurados do jeito que estavam na hora do dump, eu já 
tinha feito muitos testes antes de ter que fazer isso pela primeira vez em 
um servidor de producao (na epoca FreeBSD 4.9 com samba) e ja fiz mais um 
monte depois dessa. Seria muito bom que os servicos estivessem parados na 
hora do backup porem existem alguns clientes que exigem 24/7 online.



FONTE

www.google.com



E como disse uma vez o "irado furioso com tudo"



"(notar que eu sou um completo irresponsável em atos e palavras, 
completamente sem-noção e bom senso, portanto, MINHA OPINIÃO não deve ser 
compartilhada por ninguém sob pena de eu me julgar, no mínimo, errado.)"



[]'s



JP-Ux



'eius simius in cuius ramus'


_______________________________________________
Freebsd mailing list
Freebsd em fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br




Mais detalhes sobre a lista de discussão freebsd