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:
Alguns administradores utilizarão arquivos de snapshot com o propósito de backup devido a um snapshot poder ser transferido através de CD ou fita.
A integridade do arquivo, o fsck(8) pode ser executado para um snapshot. Assumindo que aquele sistema de arquivos foi limpo ao ser montado, você sempre deveria ter resultados limpos e não modificados. Isto é essenciamente o que o processo do fsck(8) faz em background.
Execute o utilitário dump(8) no snapshot. Será gerada uma cópia que será consistente ao sistema de arquivos e tendo os arquivos no mesmo horário dos do snapshot. O dump(8) também pode pegar um snapshot, criar uma cópia em uma imagem e então remover o snapshot em um comando, utilizando a opção -L.
Execute o mount(8) no snapshot como se fosse uma imagem de um sistema de arquivos. Para executar o mount(8) no snapshot /var/snapshot/snap faça:
# mdconfig -a -t vnode -f /var/snapshot/snap -u 4
# mount -r /dev/md4 /mnt
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.
Anterior | Principal | Próxima |
Rede, Memória, e Sistemas de Arquivos em Imagens | Acima | Cotas de uso para sistemas de arquivos |
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>.