Нещодавно я змінив checksum
властивість однієї з моїх недублірованних файлових систем zfs на sha256
з on
(fletcher4), щоб краще підтримувати надсилання дублюваних пар реплікації, як у цій команді zfs send -DR -I _starting-snaphot_ _ending-snapshot_
.
Однак, на сторінці zfs має бути сказане про send -D
:
Цей прапор можна використовувати незалежно від властивості виведення набору даних, але продуктивність буде набагато кращою, якщо файлова система використовує контрольну суму, здатну до депонування (наприклад, sha256).
На сторінці zfs також зазначено про checksum
властивість:
Зміна цього властивості впливає лише на щойно написані дані.
У мене немає бажання довіряти fletcher4. Компроміс полягає в тому, що на відміну від SHA256, fletcher4 не є псевдовипадковою хеш-функцією, і тому не можна довіряти не стикатися. Таким чином, він підходить лише для дедупування у поєднанні з опцією 'verify', яка виявляє і вирішує хеш-колізії.
Як я можу оновити контрольні суми файлової системи, бажано, не виходячи за межі системи?
zfs receive
оновлює метадані файлової системи. Мені здається, що це було б набагато швидше, якби просто взяли метадані такими, які є. Однак це може бути неможливим із-за рівня блоку контрольної суми, а не файлу. У такому випадкуzfs send | zfs receive
формується прийнятна основа для рішення.