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@fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br

Responder a