Di recente ho modificato la checksum
proprietà su uno dei miei filesystem zfs non duplicati su sha256
da on
(fletcher4) per supportare meglio l'invio di flussi di replica duplicati, come in questo comando zfs send -DR -I _starting-snaphot_ _ending-snapshot_
.
Tuttavia, la manpage di zfs ha questo da dire su send -D
:
Questo flag può essere utilizzato indipendentemente dalla proprietà di dedup del set di dati, ma le prestazioni saranno molto migliori se il filesystem utilizza un checksum abilitato al dedup (ad es. Sha256).
La manpage zfs afferma anche questo sulla checksum
proprietà:
La modifica di questa proprietà influisce solo sui dati appena scritti.
Non desidero fidarmi di fletcher4. Il compromesso è che a differenza di SHA256, fletcher4 non è una funzione hash pseudo-casuale, e quindi non ci si può fidare di non scontrarsi. È quindi adatto solo per il dedup quando combinato con l'opzione 'verifica', che rileva e risolve le collisioni di hash.
Come posso aggiornare i checksum del filesystem, preferibilmente senza delineare il sistema?
zfs receive
aggiorni i metadati di un filesystem. Mi sembra che sarebbe molto più veloce se prendesse semplicemente i metadati così come sono. Tuttavia, ciò potrebbe essere impossibile a causa del blocco del checksum, piuttosto che della natura del livello del file. In tal casozfs send | zfs receive
costituirebbe una base accettabile per una soluzione.