Computer >> Hướng Dẫn Máy Tính >  >> Kết Nối Mạng >> Internet

Backup File Phi Tập Trung: BTsync & Syncthing

Backup là một trong những mảnh ghép bị bỏ qua nhất của computing hiện đại, cả ở nhà và môi trường làm việc. Và chúng thường归结为 neglect (bỏ bê) hoặc overload (quá tải), với khả năng restore (khôi phục) rất ít đến không, bất kể phương pháp và công nghệ được chọn cho nhiệm vụ. Lý do chính là chúng đau đớn để administer (quản trị). Chúng có thể khá chậm.

Một lựa chọn thay thế là gửi file của bạn lên cloud và để chúng ở đó. Nhưng đó rủi ro, đúng không. Quyền riêng tư thì sao? Độ chậm thì sao? Có thể có lựa chọn thứ ba? Thực sự có. Backup dữ liệu của bạn dùng mạng P2P.

Giới thiệu

Tôi luôn là một proponent (người ủng hộ) lớn dù im lặng của mô hình backup peer-to-peer phi tập trung, luôn e ngại về hàm ý bảo mật của việc gửi dữ liệu ra ngoài, vào cloud và thế giới. Loại kiếm hai lưỡi. Nhưng có thể nó thực tế?

Chương trình như BTsync và Syncthing cố gắng trao lời hứa vĩ đại này. Về cơ bản, cả hai công cụ này là BitTorrent client được glorified (tôn vinh) với GUI đẹp mắt cộng với bảo mật thêm xoay quanh khái niệm public-private key, cho phép bạn seed (phân phối) file của bạn như private torrent an toàn, và sau đó chia sẻ chúng giữa các client của bạn, phân tán dữ liệu. Điều này không khác gì download hay upload một image Linux distro, trừ việc bạn làm điều đó với ảnh, tài liệu của riêng bạn. Hãy xem những công cụ này có thể làm gì.

BTSync

Phần mềm có sẵn cho tất cả platform, bao gồm Windows, Linux, Mac, các mobile OS khác nhau. Trên Linux, setup (thiết lập) đơn giản. Bạn chỉ unpack (giải nén) archive ở đâu bạn muốn và launch (khởi chạy) chương trình chính. Sau đó, bạn kết nối qua Web console. Chỉ cần mở trình duyệt và điều hướng đến localhost:8888. Đó là tất cả.


Trong GUI, bạn trải qua một wizard nhanh. Bạn sẽ cần thiết lập tài khoản local, về cơ bản là username và password .htaccess, để người khác không thể truy cập giao diện sync của bạn. Sau đó, bạn thiết lập thiết bị của bạn.

Lúc này, bạn cũng sẽ bị nhắc nhở hơi phiền toái rằng BTSync có phiên bản free và payware (pro), mà bạn có thể lấy dùng thử 30 ngày, nếu bạn quan tâm.

Bước tiếp theo là tạo identity (danh tính). Và sau đó thiết lập thiết bị đầu tiên. Sau này, chúng ta sẽ học làm gì khi thêm thiết bị thứ hai vào pool (hồ bơi) của chúng ta. Như bạn tưởng tượng, công nghệ này không có giá trị nếu bạn chỉ có một thiết bị. Nó trở nên hữu ích hơn khi số lượng node (nút) kết nối với nhau tăng lên.

Bây giờ, bạn sẽ cần thêm folder, đặt tên, đặt permission (quyền), đặt expiry (hết hạn), và quyết định xem bạn có muốn explicitly approve (phê duyệt rõ ràng) peer mới không, để họ có thể truy cập dữ liệu. Rất straightforward (thẳng thắn).

Khi folder đã được tạo, bạn có thể chia sẻ link qua email, thủ công hoặc dùng quét QR code. Tương tự, trên host thứ hai (hoặc bất kỳ host nào khác), bạn sẽ cần cung cấp identifier hash trước khi có thể bắt đầu sync và chia sẻ dữ liệu.

Ban đầu, tôi cài BTSync trên Netrunner 15, và sau đó thêm client Kubuntu 15.04 beta vào mạng của tôi. Sau khi khởi động client, tôi chạy Web wizard, sau đó ở bước link devices, thay vì thiết lập thiết bị đầu tiên, tôi quyết định kết nối đến thiết bị đã chạy BTSync. Và đó là xa nhất testing của tôi đi được, vì hai thiết bị của tôi đơn giản failed to pair (không thể ghép cặp). Tôi không thể tiến thêm chút nào, và quyết định thử công cụ thứ hai.

Vâng, xin lỗi, tôi đã thử một điều khác. Đó là cài BTSync trên iPhone, hy vọng mọi thứ có thể thực sự hoạt động. Apple Store hỏi tôi chi tiết thẻ tín dụng, và không cho tôi cài app, mặc dù nó có free version và trial. Nhưng rõ ràng, phiên bản mobile được thiết kế theo cách khác. Nope. Không muốn.

Syncthing

Client thứ hai ở nostra disposizione (có sẵn cho chúng ta) hoàn toàn free. Giống BTSync, nó có sẵn trên nhiều platform. Một lần nữa, bạn lấy công cụ và chạy nó từ command line. Sau đó, bạn kết nối đến Web interface trong trình duyệt, port 8080.

Syncthing có GUI đơn giản hơn nếu hơi confusing ( gây nhầm lẫn) hơn. Điều đầu tiên là thêm folder mới để chia sẻ. Không có nhiều tùy chọn lắm, nhưng bạn có thể handle (xử lý) hoặc ignore (bỏ qua) existing file permission (quyền file hiện có), thay đổi sync check interval (khoảng thời gian kiểm tra sync), và thậm chí có version control (kiểm soát phiên bản) khá decent. Bạn cũng có thể quyết định syncing nên uni- hay bi-directional (một chiều hay hai chiều).

Cẩn thận. Bạn cần thêm folder, và bạn không thể dùng symbolic link. Nếu bạn chọn vị trí Syncthing không thể write (ghi), nó sẽ complain (phàn nàn) về permission, nhưng bạn có thể không ngay lập tức tìm ra nếu và tại sao điều này có thể gây vấn đề.

Mọi thay đổi nhỏ đều yêu cầu restart client, nhưng chỉ là operation (thao tác) nhanh nếu hơi phiền toái, và trong vài giây, bạn sẽ quay lại business. Nó mất vài khoảnh khắc để tất cả node được identified (nhận dạng), và hiện lên trong GUI.

Để thêm node mới vào cluster (cụm) của bạn, click vào cogwheel (bánh răng). Sau đó, bạn sẽ cần cung cấp long hash (ID) cho mỗi node, trên mỗi node. May mắn thay, nếu bạn có nhiều thiết bị trên cùng mạng, sẽ có yếu tố auto-discovery (tự động khám phá) involved. Bạn sẽ cần approve (phê duyệt) thiết bị.

Sau khi bạn cấu hình thành công các tùy chọn chia sẻ folder, nó sẽ hiện lên màu xanh lá. Vàng hoặc đỏ nghĩa là bạn có vấn đề. Sau đó, khi bạn restart Syncthing, qua giao diện, nó sẽ chạy network scan (quét mạng), tìm kiếm known host (host đã biết) có sẵn. Bạn có thể được prompted (nhắc nhở) để cho phép chia sẻ folder của bạn với remote node (nút từ xa).

Tôi quyết định chia sẻ một file "media", chỉ là 2GB giá trị zeros, nhưng đủ tốt để minh họa một sync điển hình có thể trông như thế nào trong một số trường hợp. Bạn phải trân trọng tên file một hoặc hai phút.

Sync hoạt động tốt, nhưng không thực sự nhanh. Thực tế khá chậm, vậy nên có câu hỏi rõ ràng về network của bạn nhanh hoặc congested (tắc nghẽn) đến đâu. P2P và BitTorrent không nghĩa là miracle (kỳ tích) như một số người muốn bạn tin. Sau đó, không có percentage progress (tiến độ phần trăm) trên host nguồn, nhưng nó hiển thị trên host đích.

Vấn đề chung

Nói chung, như tôi đã phác thảo trước đó, sức mạnh thực sự của P2P nằm ở numbers (số lượng). Decentralized numbers (số lượng phi tập trung). Nếu bạn xảy ra chỉ có một số lượng thiết bị nhỏ, bạn không thực sự sẽ tận hưởng tốc độ backup siêu nhanh được hứa hẹn. Rsync hoặc plain copy (sao chép đơn thuần) sẽ làm tốt như nhau. Hơn nữa, một gia đình trung bình có bao nhiêu thiết bị computing? Một? Năm? Nhưng không nhiều hơn đó.

Sau đó, các thiết bị này có thể không có storage capabilities (khả năng lưu trữ) tương tự. Smartphone của bạn có thể chỉ chứa khoảng 15-30GB dữ liệu, trong khi desktop có thể nuốt TBs dễ dàng không vấn đề. Vì vậy bạn không thể thực sự backup bất cứ thứ gì ở bất cứ đâu. Hơn nữa, torrent undermine (đào mòn) khái niệm multiple hard disks (nhiều ổ cứng), vì thiết bị được xử lý như các thực thể đơn lẻ, bất kể chúng có bao nhiêu lớp lưu trữ nội bộ và redundancy (sự dư thừa).

Vấn đề thứ ba là bandwidth (băng thông). Nếu bạn không có đường truyền nhanh với upload to lớn, bạn sẽ chịu đựng tốc độ chậm, congestion, và network của bạn sẽ nghẹn khi seeding. Một số bạn cũng có thể có quota (hạn mức), và những thứ này dễ dàng bị overrun (vượt quá) với cập nhật torrent thường xuyên.

Nếu bạn chạy business với vài trăm server giống hệt nhau và internal network 10Gb rất nhanh, điều này nghe như một khái niệm lý tưởng. Nhưng đối với home user, điều này khác cloud như thế nào, trừ khi focus hoàn toàn trên bảo mật, và thực tế dữ liệu của bạn được lưu ở nhiều vị trí. Rồi lại, hầu hết cloud provider có uptime và geo-spread (phân bố địa lý) tốt hơn nhiều so với những gì bạn có thể đạt được với swarm (đ đàn) nhỏ của riêng bạn.

Firewall! Nếu bạn chặn port torrent, hoặc không cho phép uPnP, thì torrent sẽ không magically (phép thuật) làm network của bạn nhanh hơn. Về mặt tốc độ, TCP có thể chậm hơn UDP một chút, nhưng tổng thể, đối với home user, bạn sẽ không thấy sự khác biệt giữa classic HTTP request và torrent, đặc biệt không khi số lượng seed rất nhỏ, và đây sẽ là kịch bản điển hình cho hầu hết mọi người.

Cuối cùng, privacy (quyền riêng tư). Bạn không muốn cloud provider thấy dữ liệu của bạn, nhưng gia đình? Hay bạn bè? Bạn sẽ chia sẻ dữ liệu của bạn với máy của họ? Bạn có thể tin rằng họ sẽ biết làm gì, không mò mẫm, hoặc tệ hơn, bị compromise (xâm phạm) host, cho phép người lạ hoàn toàn truy cập file của bạn? Vì nếu bạn định để thông tin cá nhân ra khỏi tay bạn, thì tiền đề cơ bản cloud không phù hợp cho mục đích này trở nên vô nghĩa.

Đọc thêm

Nếu bạn quan tâm, có lẽ:

Tổng quan về Grsync và những gì nó có thể làm

So sánh và review một vài Rsync frontend

Kết luận

Vâng, sau nửa ngày frustration (chán nản) và tinkering (tinh chỉnh), tôi phải nói khái niệm cần rất nhiều công việc. Nó lý tưởng cho mạng lớn, nhanh, low-latency (độ trễ thấp), unrestricted (không giới hạn), unlimited, nhưng không khi bạn cố gắng sync một đống thiết bị highly diverse (rất đa dạng) qua Internet. Trong trường hợp đó, bạn không thực sự sẽ tận hưởng lợi ích của decentralized storage, và nếu bạn phải, cloud là lựa chọn tốt hơn. Vì nếu bạn quan tâm về privacy hoặc security, chỉ việc đi local backup. Nhanh hơn, thực tế hơn.

Bỏ qua rào cản khắc nghiệt của thực tế, BTSync không gây ấn tượng với tôi chút nào. Syncthing là giải pháp tốt hơn, nhưng nó có thể hơi clunky (cồng kềnh), và có thể mất một lúc để setup cluster. Tuy nhiên, có rất nhiều potential (tiềm năng) ở đây, và dùng encryption (mã hóa) và public sharing (chia sẻ công khai) có thể thực sự là lựa chọn tốt hơn. Thay vì lo lắng chia sẻ với ai, chỉ việc gửi bits and pieces (mảnh vụn) khắp nơi. Có vẻ như hoạt động cho tất cả torrent khác. Bất kỳ cách nào, cảm ơn Floris vì gợi ý này. Take care.

Chúc vui.