12.11. Snapshots de sistemas de arquivos

Contribuição de Tom Rhodes.

O FreeBSD 5.0 oferece uma nova funcionalidade em conjunto com o Soft Updates: snapshots de sistemas de arquivos.

O snapshots permitem ao usuário criar imagens de um sistema de arquivos especificado. Os arquivos de snapshot devem ser criados no sistema de arquivos em que foi executada a ação, e um usuário não pode criar mais de 20 snapshots por sistema de arquivos. Snapshots ativos são gravados em superbloco, tornando-os persistentes sobre as operações de desmontar e remontar que ocorrem nas reinicializações do sistema. Quando um snapshot não é mais necessário ele pode ser removido com o comando padrão rm(1). Os snapshots podem ser removidos em qualquer ordem, entretanto, nem todo o espaço deles será adquirido pois outros snapshots possivelmente utilizarão parte dos blocos que seriam liberados.

Durante a criação inicial, a opção schg (veja a página de manual do chflags(1)) é configurada para assegurar que não será permitido escrever no snapshot, nem mesmo para o root. O comando unlink(1) faz uma exceção para arquivos de snapshots desde que eles permitam ser removidos com a opção schg sendo utilizada, portanto não é necessário limpar a opção schg antes de remover um arquivo de snapshot.

Os snapshots são criados com o comando mount(8). Para colocar um snapshot do /var no arquivo /var/snapshot/snap utilize o seguinte comando:

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

Uma vez que um snapshot foi criado, este possui diversas utilidades:

Você agora pode caminhar pela hierarquia de arquivos do seu sistema de arquivos /var montado no seu /mnt. Tudo estará no mesmo estado de quando o snapshot foi criado. A única exceção é que alguns snapshots aparecerão com arquivos com tamanho zero. Quando o uso de um snapshot foi encerrado, voc pode desmontá-lo com:

# umount /mnt
# mdconfig -d -u 4

Para mais informações sobre a opção softupdates e sistemas de arquivos em snapshots, incluindo artigos técnicos, você pode visitar o website de Marshall Kirk McKusick's em http://www.mckusick.com.

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.