[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