Recentemente, alterei a checksum
propriedade em um dos meus sistemas de arquivos zfs não duplicados para sha256
de on
(fletcher4) para suportar melhor o envio de steams de replicação duplicados, como neste comando zfs send -DR -I _starting-snaphot_ _ending-snapshot_
.
No entanto, a página de manual do zfs tem a dizer sobre send -D
:
Esse sinalizador pode ser usado independentemente da propriedade de deduplicação do conjunto de dados, mas o desempenho será muito melhor se o sistema de arquivos usar uma soma de verificação com capacidade para deduplicação (por exemplo, sha256).
A página de manual do zfs também afirma isso sobre a checksum
propriedade:
A alteração dessa propriedade afeta apenas os dados recém-gravados.
Não desejo confiar em fletcher4. A desvantagem é que, diferentemente do SHA256, o fletcher4 não é uma função de hash pseudo-aleatória e, portanto, não se pode confiar que não colidam. Portanto, é adequado apenas para desduplicação quando combinado com a opção 'verificar', que detecta e resolve colisões de hash.
Como posso atualizar as somas de verificação do sistema de arquivos, de preferência sem desligar o sistema?
zfs receive
atualize os metadados de um sistema de arquivos. Parece-me que seria muito mais rápido se simplesmente pegasse os metadados como estão. No entanto, isso pode ser impossível devido à natureza do nível do bloco de soma de verificação, e não do arquivo. Nesse casozfs send | zfs receive
, formaria uma base aceitável para uma solução.