[FUG-BR] Fazer imagem do FreeBSD

Alex Moura alexsm em gmail.com
Quarta Outubro 4 03:23:23 BRT 2006


On 10/3/06, Thiago Gomes <thiagomespb em yahoo.com.br> wrote:
> Alex e amigos
>
> Sou iniciante no FreeBSD mas gostaria de saber como eu
> faço uma imagem de todo o meu sistema usando este
> metodo,
> olhei aqui
>
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/snapshots.html
> e nao entendi..
>
> vcs poderiam me explicar como eu faço esta imagem de
> um servidor

Talvez esta referência seja melhor pra você:

http://doc.fug.com.br/doc/pt_BR.ISO8859-1/books/handbook/snapshots.html

Agora, sobre fazer uma imagem de um host, é preciso entender que os
snapshots são imagens de um sistema de arquivos (filesystem).

Se seu sistema tiver alguns sistemas de arquivos, como o /, /usr, /var
e /home por exemplo, será preciso gerar um snapshot de cada um deles.

Um exmplo de como criar um snapshot do /var seria este:

# mkdir /var/snapshot
# mount -u -o snapshot /var/snapshot/var-snapshot /var

Pode confirmar que agora há um arquivo dentro do diretório

Este arquivo é um retrato (snapshot) do /var no momento da execução do
comando. Este arquivo pode ser gravado em CD, DVD, fita ou montado
como um outro sistema de arquivos (no exemplo abaixo, será montado no
mount point chamado /mnt), com o exato conteúdo do /var:

Gerando o snapshot:
# mount -u -o snapshot /var/snapshot/snapvar /var

Verificando o snapshot criado:
# ls -lFhao /var/snapshot/
total 2868
drwxr-xr-x   2 root  wheel  -         512B Oct  4 02:58 ./
drwxr-xr-x  25 root  wheel  -         512B Oct  4 02:58 ../
-r--------   1 root  wheel  snapshot  1.7G Oct  4 03:11 snapvar

Configurando o sistema para montar o snapshot como um filesystem:
# mdconfig -a -t vnode -f /var/snapshot/snapvar -u 4
WARNING: opening backing store: /var/snapshot/snapvar readonly

Montando o snapshot no mount point /mnt:
# mount -r /dev/md4 /mnt

Verificando o filesystem montado:
# df -kh
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/da0s1a    496M     35M    421M     8%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/da0s1e    496M     72K    456M     0%    /tmp
/dev/da0s1f    4.1G    2.0G    1.8G    52%    /usr
/dev/da1s1d    8.2G    509M    7.1G     7%    /usr/local
/dev/da0s1d    1.7G    203M    1.3G    13%    /var
/dev/md4       1.7G    201M    1.4G    13%    /mnt

Conferindo o conteúdo do /var
# ls -F /var
account/  backups/  db/       heimdal/  msgs/     preserve/ snapshot/ yp/
at/       crash/    empty/    log/      named/    run/      spool/
audit/    cron/     games/    mail/     net-snmp/ rwho/     tmp/

Conferindo o conteúdo do /mnt (filesystem montado a partir do snapshot do /var)
# ls -F /mnt
account/  backups/  db/       heimdal/  msgs/     preserve/ snapshot/ yp/
at/       crash/    empty/    log/      named/    run/      spool/
audit/    cron/     games/    mail/     net-snmp/ rwho/     tmp/

Faça um teste com um sistema de arquivos que tenha bastante espaço
livre. Detalhe: não funciona tentar gerar o snapshot de um filesystem
em outro:

# sudo mount -u -o snapshot /var/snapshot/snapvar  /tmp
mount: /var/snapshot/snap: Cross-device link
#

Faça um teste e se não conseguir, envie uma mensagem para a lista com
detalhe do seu cenário de teste, os comandos tentados e as respectivas
mensagens de erro relevantes ao problema.

Alex


Mais detalhes sobre a lista de discussão freebsd