このコマンドのように、最近、checksum
複製されていないzfsファイルシステムの1つのプロパティをsha256
from on
(fletcher4)に変更して、複製された複製ストリームの送信をサポートしましたzfs send -DR -I _starting-snaphot_ _ending-snapshot_
。
ただし、zfsのマンページには次のように記載されていsend -D
ます:
このフラグは、データセットのdedupプロパティに関係なく使用できますが、ファイルシステムがdedup対応のチェックサム(sha256など)を使用している場合、パフォーマンスは大幅に向上します。
zfsのマンページには、checksum
プロパティについて次のように記載されています。
このプロパティの変更は、新しく書き込まれたデータにのみ影響します。
fletcher4を信頼したくない。トレードオフは、SHA256とは異なり、fletcher4は擬似ランダムハッシュ関数ではないため、衝突しないと信頼できないことです。したがって、ハッシュの衝突を検出して解決する「検証」オプションと組み合わせた場合、重複除去にのみ適しています。
できればシステムをオフラインにせずに、ファイルシステムのチェックサムを更新するにはどうすればよいですか?
zfs receive
ファイルシステムのメタデータを更新することは、私にはまったくわかりません。メタデータをそのまま使用した方がはるかに速くなるように思えます。ただし、ファイルのレベルではなく、チェックサムのブロックの性質により、そうすることは不可能な場合があります。その場合zfs send | zfs receive
、ソリューションの許容可能なベースを形成します。