Sao lưu là một trong những phần bị bỏ qua nhiều nhất của máy tính hiện đại, cả ở nhà và trong môi trường làm việc. Và chúng thường rơi vào tình trạng bỏ bê hoặc quá tải, có rất ít hoặc không có khả năng khôi phục, 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 rất khó quản lý. Họ có thể khá chậm.
Một cách khác là gửi tệp của bạn lên đám mây và để chúng ở đó. Nhưng đó là rủi ro, đúng. Điều gì về sự riêng tư của bạn? Điều gì về việc này có thể chậm như thế nào? Có thể có một lựa chọn thứ ba? Thật vậy, có một. Sao lưu dữ liệu của bạn bằng mạng P2P.
Giới thiệu
Tôi luôn là một người tuyệt vời nếu thầm lặng đề xuất các mô hình sao lưu ngang hàng phi tập trung, không bao giờ lo lắng về ý nghĩa bảo mật của việc gửi dữ liệu của bạn ra ngoài đó, vào đám mây, v.v. Một loại con dao hai lưỡi. Nhưng có lẽ nó có thể được thực tế?
Các chương trình như BTsync và Syncthing cố gắng thực hiện lời hứa tuyệt vời này. Tóm lại, cả hai công cụ này đều là ứng dụng khách BitTorrent được tôn vinh với GUI ưa thích cộng với bảo mật bổ sung xoay quanh khái niệm khóa công khai-riêng tư, cho phép bạn tạo các tệp của mình dưới dạng torrent riêng tư, an toàn và sau đó chia sẻ chúng giữa các ứng dụng khách của bạn, phân tán dữ liệu của bạn . Điều này không khác gì bất kỳ tải xuống hoặc tải lên hình ảnh bản phân phối Linux nào, ngoại trừ bạn làm điều đó với ảnh, tài liệu của riêng bạn và những thứ khác. Hãy xem những công cụ này có thể làm gì.
BTSync
Phần mềm này có sẵn cho tất cả các nền tảng, bao gồm Windows, Linux, Mac, các hệ điều hành di động khác nhau, v.v. Trên Linux, việc thiết lập rất đơn giản. Bạn chỉ cần giải nén một kho lưu trữ ở bất cứ đâu bạn muốn và khởi chạy chương trình chính. Sau đó, bạn kết nối thông qua bảng điều khiển Web. Chỉ cần mở trình duyệt và điều hướng đến localhost:8888. Đó là tất cả.
Trong GUI, bạn sẽ thực hiện một trình hướng dẫn nhanh. Bạn sẽ cần thiết lập một tài khoản cục bộ, về cơ bản là tên người dùng và mật khẩu .htaccess, để người khác không thể truy cập vào giao diện đồng bộ hóa của bạn. Sau đó, bạn thiết lập thiết bị của mình.
Tại thời điểm này, bạn cũng sẽ được nhắc nhở hơi khó chịu rằng BTSync có phiên bản phần mềm miễn phí và phần mềm trả phí (chuyên nghiệp), bạn có thể nhận bản dùng thử 30 ngày nếu quan tâm.
Bước tiếp theo là tạo danh tính. Và sau đó thiết lập thiết bị đầu tiên của bạn. Sau này, chúng ta sẽ tìm hiểu phải làm gì khi thêm thiết bị thứ hai vào nhóm của mình. Như bạn có thể tưởng tượng, công nghệ này không có giá trị gì nếu bạn chỉ có một thiết bị duy nhất. Nó ngày càng trở nên hữu ích hơn khi số lượng các nút được kết nối với nhau tăng lên.
Bây giờ, bạn sẽ cần thêm một thư mục, đặt tên cho nó, đặt quyền, đặt thời hạn sử dụng và quyết định xem bạn có muốn phê duyệt rõ ràng các đồng nghiệp mới để họ có thể truy cập vào dữ liệu hay không. Khá đơn giản.
Khi thư mục đã được tạo, bạn có thể chia sẻ liên kết qua email, theo cách thủ công hoặc sử dụng quét mã QR. Tương tự như vậy, trên máy chủ thứ hai (hoặc bất kỳ máy chủ nào khác), bạn sẽ cần cung cấp hàm băm định danh trước khi có thể bắt đầu đồng bộ hóa và chia sẻ dữ liệu.
Ban đầu, tôi thiết lập BTSync trong Netrunner 15, sau đó thêm ứng dụng khách Kubfox 15.04 beta vào mạng của mình. Sau khi khởi động ứng dụng khách, tôi kích hoạt trình hướng dẫn Web, sau đó ở bước liên kết thiết bị, thay vì thiết lập thiết bị đầu tiên, tôi quyết định kết nối với thiết bị đã chạy BTSync. Và đó là khoảng thời gian thử nghiệm của tôi, vì đơn giản là hai thiết bị của tôi không ghép nối được. Tôi không thể đạt được bất kỳ tiến bộ nào sau thời điểm này và tôi quyết định thử công cụ thứ hai.
Vâng, xin lỗi, tôi đã thử một điều khác. Đó là thiết lập BTSync trên iPhone, hy vọng mọi thứ có thể thực sự hoạt động. Apple Store đã hỏi tôi về chi tiết thẻ tín dụng của tôi và không cho phép tôi cài đặt ứng dụng, mặc dù nó có phiên bản miễn phí và bản dùng thử. Nhưng rõ ràng, phiên bản di động đã được thiết kế theo một cách khác. Không. Không muốn.
Đồng bộ hóa
Khách hàng thứ hai theo ý của chúng tôi là hoàn toàn miễn phí. Giống như BTSync, nó có sẵn trên nhiều nền tảng. Một lần nữa, bạn lấy công cụ và chạy nó từ dòng lệnh. Sau đó, bạn kết nối với giao diện Web trong trình duyệt, cổng 8080.
Syncthing có GUI đơn giản hơn nếu hơi khó hiểu hơn. Điều đầu tiên là thêm một thư mục mới để chia sẻ. Không có nhiều tùy chọn nhưng bạn có thể xử lý hoặc bỏ qua các quyền đối với tệp hiện có, thay đổi khoảng thời gian kiểm tra đồng bộ hóa và thậm chí còn có một kiểm soát phiên bản phù hợp. Bạn cũng có thể quyết định việc đồng bộ hóa sẽ là một chiều hay hai chiều.
Hãy cẩn thận. Bạn cần thêm các thư mục và bạn không thể sử dụng các liên kết tượng trưng. Nếu bạn chọn một vị trí mà Syncthing không thể ghi vào, nó sẽ phàn nàn về các quyền, nhưng bạn có thể không biết ngay liệu điều này có thể gây ra sự cố hay không và tại sao điều này có thể gây ra sự cố.
Mọi thay đổi nhỏ đều yêu cầu máy khách khởi động lại, nhưng đó chỉ là một thao tác nhanh nếu hơi khó chịu và trong vài giây, bạn sẽ quay lại công việc. Phải mất một lúc để tất cả các nút được xác định và hiển thị trong GUI.
Để thêm các nút mới vào cụm của bạn, hãy nhấp vào bánh răng. Sau đó, bạn sẽ cần cung cấp các giá trị băm dài (ID) cho mỗi nút, trên mỗi nút. May mắn thay, nếu bạn có nhiều thiết bị trên cùng một mạng, sẽ có một yếu tố tự động phát hiện liên quan. Bạn sẽ cần phải phê duyệt các thiết bị.
Sau khi bạn định cấu hình thành công các tùy chọn chia sẻ thư mục, nó sẽ hiển thị màu xanh lục. Màu vàng hoặc đỏ có nghĩa là bạn có vấn đề. Sau đó, khi bạn khởi động lại Syncthing, thông qua giao diện, nó sẽ chạy quét mạng, tìm kiếm các máy chủ đã biết có sẵn. Bạn có thể được nhắc cho phép chia sẻ thư mục của mình với các nút từ xa.
Tôi quyết định chia sẻ một tệp "phương tiện", chỉ có giá trị 2GB bằng 0, nhưng đủ tốt để minh họa một quá trình đồng bộ hóa điển hình có thể trông như thế nào trong một số trường hợp. Bạn phải đánh giá cao tên tệp trong giây lát.
Quá trình đồng bộ hóa hoạt động tốt nhưng không thực sự nhanh. Trên thực tế, nó khá chậm, vì vậy rõ ràng có một câu hỏi rõ ràng là mạng của bạn thực sự nhanh hay tắc nghẽn như thế nào. P2P và BitTorrent không có nghĩa là phép màu như một số người có thể muốn bạn tin tưởng. Sau đó, không có tiến trình phần trăm nào trên máy chủ nguồn, nhưng nó đã hiển thị trên mục tiêu.
Các vấn đề chung
Nói chung, như tôi đã vạch ra trước đó, sức mạnh thực sự của P2P là ở các con số. Số phân quyền. Nếu bạn chỉ có một số lượng nhỏ thiết bị, bạn sẽ không thực sự tận hưởng tốc độ sao lưu cực nhanh như đã hứa. Rsync hoặc bản sao thuần túy sẽ hoạt động tốt. Hơn nữa, một hộ gia đình trung bình có bao nhiêu thiết bị máy tính? Một? Năm? Nhưng không nhiều hơn thế.
Sau đó, các thiết bị này có thể không có khả năng lưu trữ tương tự. Điện thoại thông minh của bạn chỉ có thể chứa khoảng 15-30 GB dữ liệu, trong khi máy tính để bàn có thể dễ dàng nuốt TB mà không gặp vấn đề gì. Vì vậy, bạn thực sự không thể sao lưu bất cứ thứ gì ở bất cứ đâu. Hơn nữa, torrent làm suy yếu khái niệm về nhiều đĩa cứng, vì các thiết bị được coi là các thực thể đơn lẻ, bất kể chúng có thể có bao nhiêu lớp lưu trữ nội bộ và dự phòng.
Vấn đề thứ ba là băng thông. Nếu bạn không có đường truyền nhanh với tải lên nhiều, bạn sẽ gặp phải tình trạng tốc độ chậm, tắc nghẽn và mạng của bạn sẽ bị nghẹt trong khi gieo hạt. Một số bạn cũng có thể có hạn ngạch và những hạn ngạch này có thể dễ dàng bị vượt qua khi cập nhật torrent thường xuyên.
If you're running a business with a few hundred identical servers and a very fast 10Gb internal network, this sounds like an ideal concept. But for home users, how is this any different than cloud, unless the focus is entirely on the security, and the fact your data is stored in multiple locations. Then again, most cloud providers have a much better uptime and geo-spread than you can achieve with your own tiny swarm.
Firewall! If you block torrent ports, or do not allow uPnP, then torrents won't magically make your network faster. Speed wise, TCP might be a little slower than UDP, but overall, for home users, you won't see a difference between classic HTTP requests and torrents, especially not when the number of seeds is very small, and this is going to be the typical scenario for most people.
Finally, privacy. You don't want cloud providers to see your data, but what about your family? Or friends? Are you going to share your data with their machines? Can you trust that they will know what to do, not to poke, or worse, get their hosts compromised, allowing total strangers access to your files? Because if you're going to let your personal information out of your hands, then the basic premise of the cloud not being suitable for this purpose kind of becomes pointless.
Đọc thêm
If you're interested, then perhaps:
An overview of Grsync and what it can do
A comparison and review of several Rsync frontends
Kết luận
Well, after half a day of frustration and tinkering, I must say that the concept needs a lot of work. It is ideal for large, fast, low-latency, unrestricted, unlimited networks, but not so when you are trying to sync up a bunch of highly diverse devices across the Internet. In that case, you won't really be enjoying the benefits of decentralized storage, and if you have to, the cloud is a better option. Because if you are concerned about privacy or security, then just go for local backups. Faster, more practical.
Ignoring the harsh obstacles of the reality, BTSync did not impress me at all. Syncthing is a better solution, but it might be a little clunky, and it could take a while to setup the cluster. However, there's a lot of potential here, and using encryption and public sharing might actually be a better option. Rather than worrying who you share with, just send your bits and pieces everywhere. Seems to work for all those other torrents. Anyhow, my thanks go to Floris for this recommendation. Bảo trọng.
Chúc mừng.