Gần đây tôi đã thay đổi thuộc checksum
tính trên một trong các hệ thống tập tin zfs không trùng lặp của tôi thành sha256
từ on
(fletcher4) để hỗ trợ tốt hơn việc gửi các bản sao nhân bản, như trong lệnh này zfs send -DR -I _starting-snaphot_ _ending-snapshot_
.
Tuy nhiên, trang web zfs có điều này để nói về send -D
:
Cờ này có thể được sử dụng bất kể thuộc tính khấu trừ của tập dữ liệu, nhưng hiệu suất sẽ tốt hơn nhiều nếu hệ thống tệp sử dụng tổng kiểm tra có khả năng khấu trừ (ví dụ: sha256).
Trang web zfs cũng nói điều này về checksum
tài sản:
Thay đổi thuộc tính này chỉ ảnh hưởng đến dữ liệu mới được viết.
Tôi không muốn tin tưởng fletcher4. Sự đánh đổi là không giống như SHA256, fletcher4 không phải là hàm băm giả ngẫu nhiên, và do đó không thể tin tưởng để không va chạm. Do đó, nó chỉ phù hợp để khấu trừ khi kết hợp với tùy chọn 'xác minh', giúp phát hiện và giải quyết các va chạm băm.
Làm thế nào tôi có thể cập nhật tổng kiểm tra của hệ thống tập tin, tốt nhất là không làm lệch hệ thống?
zfs receive
cập nhật siêu dữ liệu của hệ thống tập tin. Dường như với tôi rằng nó sẽ nhanh hơn nhiều nếu chỉ đơn giản là lấy siêu dữ liệu. Tuy nhiên, làm như vậy có thể là không thể do khối tổng kiểm tra, thay vì tệp, tính chất cấp độ. Trong trường hợpzfs send | zfs receive
đó sẽ tạo thành một cơ sở chấp nhận được cho một giải pháp.