Tôi đang tìm kiếm một giải pháp hệ thống tập tin sao chép-sao chép trùng lặp cho dữ liệu người dùng chung như /home
và các bản sao lưu của nó. Nó nên sử dụng sự trùng lặp trực tuyến / nội tuyến / đồng bộ ở cấp độ khối bằng cách sử dụng băm an toàn (cho khả năng va chạm không đáng kể) như SHA256 hoặc TTH . Các khối trùng lặp thậm chí không cần chạm vào đĩa.
Ý tưởng là tôi có thể chỉ cần sao chép /home/<user>
vào một ổ cứng gắn ngoài có cùng hệ thống tập tin như vậy để thực hiện sao lưu. Đơn giản. Không phải loay hoay với các bản sao lưu gia tăng trong đó tham nhũng cho bất kỳ ảnh chụp nhanh nào sẽ luôn luôn phá vỡ tất cả các ảnh chụp nhanh sau đó và không cần sử dụng một công cụ cụ thể để xóa hoặc 'kiểm tra' một ảnh chụp nhanh. Tất cả mọi thứ chỉ cần được thực hiện từ trình duyệt tập tin mà không phải lo lắng. Bạn có thể tưởng tượng điều này sẽ dễ dàng như thế nào? Tôi sẽ không bao giờ phải suy nghĩ hai lần về việc sao lưu lại!
Tôi không bận tâm đến hiệu suất, độ tin cậy là mối quan tâm chính. Mặc dù, với việc triển khai cụ thể của cp
, mv
và scp
, và một plugin trình duyệt tập tin, các hoạt động này sẽ rất nhanh, đặc biệt là khi có rất nhiều sự trùng lặp như họ sẽ chỉ cần phải chuyển các khối vắng mặt. Vô tình sử dụng các công cụ sao chép thông thường không tích hợp với FS sẽ chỉ mất nhiều thời gian hơn, lãng phí một số băng thông khi sao chép từ xa và lãng phí một số CPU, vì dữ liệu trùng lặp sẽ được đọc lại, chuyển lại và băm lại (mặc dù sẽ không có gì viết lại), nhưng tuyệt đối sẽ không làm hỏng bất cứ điều gì. (Một số phần mềm chia sẻ tệp cũng có thể có lợi bằng cách tích hợp với FS.)
Vì vậy, cách tốt nhất để làm điều này là gì?
Tôi đã xem xét một số tùy chọn:
- lessfs - Trông không rõ ràng. Có tốt không
- Opendsup / SDFS - Java? Tôi có thể sử dụng cái này trên Android không?! SDFS có nghĩa là gì?
- Btrfs - Một số bản vá nổi xung quanh trên kho lưu trữ danh sách gửi thư, nhưng không có hỗ trợ thực sự.
- ZFS - Hy vọng rằng một ngày nào đó họ sẽ được cấp lại theo giấy phép tương thích GPL miễn phí / nguồn mở tương ứng.
Ngoài ra, cách đây 2 năm, tôi đã thử dùng Python với Fuse ở cấp độ tệp để sử dụng trên đỉnh của một FS rắn điển hình như EXT4, nhưng tôi thấy Fuse cho Python bị thiếu và không quản lý để thực hiện tất cả các cuộc gọi hệ thống.