No mundo CoW (BTRFS e ZFS, basicamente), a remoção de um snapshot / subvolume requer muitas operações de metadados "pesados", o que implica muitas buscas na cabeça. Isso ocorre porque o sistema de arquivos analisa suas próprias estruturas para determinar o bloco usado exclusivamente pelo instantâneo incorreto. Isso, por sua vez, pode trazer um sistema de joelhos.
Para confirmar que este é o problema, faça isso:
- abre dois terminais com
screen
- no primeiro terminal, execute
iostat -x -k 1
- no segundo terminal, remova o instantâneo
- durante a remoção, verifique o primeiro terminal: você provavelmente encontrará seus discos com ocupação de 100%, lendo muitos, muitos pequenos blocos de dados.
Se o problema for confirmado, você pode tentar primeiro excluir o conteúdo do instantâneo (com um simples rm
), e remover o próprio instantâneo.
Como uma nota lateral: enquanto os sistemas de arquivos CoW são extremamente flexíveis, eles não são arquitetados para puro desempenho. E enquanto o ZFS permanece bastante rápido, a mesma coisa não pode ser dita para o BTRFS.
De qualquer forma, a remoção de subvolumes grandes também foi problemática para o ZFS (até que foi implementado um processo de exclusão de execução em segundo plano ...)