Está bem documentado como fazer instantâneos de volumes LVM, mas como posso fazer um instantâneo de, digamos, uma partição de disco rígido? Muitas vezes desejo poder fazer isso quando preciso acessar um disco somente leitura, mas pode haver motivos para ter acesso de gravação com gravações sendo descartadas após a sessão:
- O aplicativo que eu quero executar no conteúdo do disco precisa escrever nele para dar acesso aos dados, por exemplo, o
dovecot
servidor IMAP atualiza arquivos de índice e sinalizadores (mensagens marcadas como "lidas" ou "importantes"). - Quero reproduzir o diário do sistema de arquivos, pois sei que houve um desligamento não limpo, mas também quero manter o conteúdo inalterado caso precise explorar outras opções de recuperação de dados.
Relacionado:
- https://stackoverflow.com/questions/7582019/lvm-like-snapshot-on-a-normal-block-device (pergunta removida; relação com base no título da pergunta na URL; não consigo visualizar o corpo da pergunta devido à reputação insuficiente)
A interface de baixo nível para o mapeador de dispositivos pode fazer isso:
Explicação dos parâmetros da tabela:
Estado da consulta:
dmsetup status $NAME
Remover instantâneo:
dmsetup remove $NAME
Referências:
Resposta copiada de https://gist.github.com/jowagner/b36024636140ddf453c12eaf6e590b5d com permissão.