Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> อินเทอร์เน็ต

การสำรองข้อมูลแบบกระจายศูนย์: BTsync และ Syncthing

การสำรองข้อมูลเป็นหนึ่งในชิ้นส่วนที่ถูกมองข้ามมากที่สุดของคอมพิวติ้งสมัยใหม่ ทั้งที่บ้านและในสภาพแวดล้อมงาน และพวกเขามัก归结为 neglect 或 overload ด้วย restore ability น้อยหรือไม่มีเลย ไม่ว่าจะเลือก method และ technology สำหรับงาน เหตุผลหลักคือพวกเขาเป็น a pain to administer พวกเขาสามารถค่อนข้างช้า

ทางเลือกหนึ่งคือส่งไฟล์ของคุณขึ้น cloud และปล่อยให้มันเป็นอย่างนั้น แต่นั้น risky สิทธิ์ ความเป็นส่วนตัวของคุณอย่างไร? ความช้าอย่างไร? อาจจะมี third option? แน่นอน มีหนึ่ง Backing up your data using P2P networks

บทนำ

ผมเป็น great if silent proponent ของ decentralized peer-to-peer backup models ทุกเวลา leery ของ security implications ของการส่งข้อมูลของคุณออกไป นั่น cloud และ那些 有點 double-edged sword แต่也許它可以 practical?

โปรแกรมอย่าง BTsync และ Syncthing พยายามส่งมอบ great promise นี้ ใน a nutshell ทั้งสองเครื่องมือนี้คือ glorified BitTorrent clients พร้อม fancy GUI บวก added security รอบ public-private key concept อนุญาตให้คุณ seed ไฟล์ของคุณเป็น secure, private torrents และแชร์พวกเขาใน clients ของคุณ dispersing your data นี่ไม่แตกต่างจาก download หรือ upload Linux distro image ใดๆ ยกเว้นคุณทำกับ รูปภาพ เอกสาร และ那些 ของคุณเอง มาดูว่เครื่องมือเหล่านี้ทำอะไรได้บ้าง

BTSync

ซอฟต์แวร์มีให้ทุกแพลตฟอร์ม รวมถึง Windows, Linux, Mac, various mobile operating systems และ那些 บน Linux setup trivial คุณแค่ unpack archive ที่ไหนก็ได้ และ launch main program แล้วคุณ connect ผ่าน Web console แค่เปิดเบราว์เซอร์และไปที่ localhost:8888 นั่นเป็นทั้งหมด

ใน GUI คุณผ่าน quick wizard สั้นๆ คุณจะต้อง setup local account ซึ่งก็คือ .htaccess username และ password เพื่อให้คนอื่นไม่สามารถเข้าถึง sync interface ของคุณได้ แล้วคุณ setup devices ของคุณ

ในจุดนี้ คุณจะถูก mildly annoyingly reminded ว่า BTSync มี free และ payware (pro) version ซึ่งคุณสามารถได้รับ 30 day trial หากคุณสนใจ

ขั้นตอนต่อไปคือสร้าง identity และตั้งค่า device แรก ต่อไปเราจะเรียนรู้ว่าทำอะไรเมื่อเราเพิ่ม device ที่สองเข้า pool ของเรา 如你想像 这 技术 如果 你 只有 单个 设备 没有 价值 它 变得 越来越 有用 随著 互连 节点 的 增长

ตอนนี้ คุณจะต้องเพิ่มโฟลเดอร์ ตั้งชื่อ ตั้ง permissions ตั้ง expiry และตัดสินใจว่าคุณต้องการ explicitly approve new peers ให้พวกเขาเข้าถึงข้อมูลได้ ไม่ซับซ้อน

เมื่อโฟลเดอร์ถูกสร้างแล้ว คุณสามารถแชร์ลิงก์ผ่าน email, manually หรือ ใช้ QR code scans เช่นเดียวกัน บน host ที่สอง (หรืออะไรก็ตาม) คุณจะต้อง提供 identifier hash ก่อนที่คุณจะเริ่ม syncing และ sharing data ได้

เริ่มต้น ผม setup BTSync ใน Netrunner 15 และเพิ่ม Kubuntu 15.04 beta client เข้า network ของผม หลังจากเริ่ม client ผมยิง Web wizard แล้วใน link devices step แทนที่จะตั้งค่า first device ผมตัดสินใจ connect to a device already running BTSync และนั่นคือประมาณเท่าที่การทดสอบของผมไป เพราะสอง devices ของผม simply failed to pair ผมไม่สามารถทำ progress ไปมากกว่านี้ และตัดสินใจลอง tool ที่สอง

ขอโทษ ผมลองอีกอย่างหนึ่ง นั่นคือ setup BTSync บน iPhone หวังว่าสิ่งต่างๆ อาจจะทำงาน Apple Store ขอ credit card details ของผม และไม่ปล่อยให้ผมติดตั้งแอป แม้ว่ามันจะมี free version และ trial แต่显然 mobile version 被设计 得 不同 不要

Syncthing

second client ที่เรามีคือ entirely free เหมือน BTSync มันมีให้บน multiple platforms อีกครั้ง คุณ grab tool และ run จาก command line แล้วคุณ connect to Web interface ใน browser port 8080

Syncthing มี GUI simpler if somewhat more confusing อันแรกคือเพิ่ม new folder สำหรับ sharing ไม่มี options มากนัก แต่คุณสามารถ handle หรือ ignore existing file permissions เปลี่ยน sync check interval และมี decent version control อยู่ คุณยังสามารถตัดสินใจได้ว่า syncing ควรเป็น uni- หรือ bi-directional

ระวัง คุณต้องเพิ่มโฟลเดอร์ และไม่สามารถใช้ symbolic links ได้ หากคุณเลือก location ที่ Syncthing เขียนไม่ได้ มันจะ complain เกี่ยวกับ permissions แต่คุณอาจไม่ทันที figure out ว่า if และ why นี่อาจเป็นปัญหา

Every small change ต้องการ client restart แต่เป็นแค่ quick if somewhat annoying operation และภายในไม่กี่วินาที คุณจะกลับมาทำงานอีกครั้ง ใช้ไม่กี่ minutes สำหรับ all nodes ที่จะ identified และ show up ใน GUI

เพื่อเพิ่ม nodes ใหม่เข้า cluster คลิกที่ cogwheel แล้วคุณจะต้อง提供 long hashes (ID) สำหรับแต่ละ node บนแต่ละ node โชคดี หากคุณมี multiple devices บน same network จะมี element of auto-discovery involved คุณจะต้อง approve devices

หลังจากที่คุณ configure folder sharing options สำเร็จ มันจะแสดงเป็นสีเขียว เหลืองหรือแดงหมายความว่าคุณมีปัญหา แล้วเมื่อคุณ restart Syncthing ผ่าน interface มันจะ run network scan ค้นหา known hosts ที่พร้อมใช้งาน คุณอาจถูก prompt ให้อนุญาต share โฟลเดอร์ของคุณกับ remote nodes

ผมตัดสินใจ share "media" file ซึ่งเป็นแค่ 2GB zeros แต่พอที่จะ illustrate typical sync อาจจะเป็นอย่างไรในบางกรณี คุณต้อง appreciate file name สำหรับหนึ่งสอง moment

The sync worked fine แต่ไม่ได้ really fast มันค่อนข้าง slow จริงๆ ดังนั้นมี obvious question ของว่าที่ network ของคุณจริงๆ เร็วหรือ congested แค่ไหน P2P และ BitTorrent ไม่หมายถึง miracles ตามที่บางคนอยากให้คุณเชื่อ แล้วไม่มี percentage progress บน source host แต่แสดงบน target

General problems

โดยทั่วไป ตามที่ผม outline ไว้ก่อนหน้า real power of P2P อยู่ใน numbers Decentralized numbers หากคุณมีเพียง small number of devices คุณจะไม่ really enjoy promised ultra-fast backup speeds Rsync หรือ plain copy จะทำได้ just as fine นอกจากนี้ average household มี computing devices กี่ตัว? หนึ่ง? ห้า? แต่ไม่มากกว่านั้นมาก

แล้ว devices เหล่านี้อาจไม่มี storage capabilities คล้ายกัน smartphone ของคุณอาจจัดเก็บได้แค่ 15-30GB ในขณะที่ desktops สามารถกลืน TBs ได้ง่ายโดยไม่มีปัญหา ดังนั้นคุณไม่สามารถ backup อะไรก็ตามไปไหนได้ 此外 torrents undermine 概念 multiple hard disks 以来 devices 被 视为 单一 实体 无论 他们 有 多少 internal storage layers 和 redundancy

第三个 问题是 带宽 如果 你 没有 快速 线路 和 大量 upload 你 将 遭受 慢速 拥塞 和 你的 network 将 噎住 而 seeding 那些 你 可能 也 有 quotas 和 那些 可以 easily 被 overrun 频繁 torrent updates

如果 你 正在 运行 一个 business 几百 个 identical servers 和 非常 快的 10Gb internal network 这 聽起來 像 ideal concept 但 对于 home users 这 有什么 不同 于 cloud 除非 focus 完全 在 security 和 fact 你的 data stored 在 multiple locations 然后 again 大多数 cloud providers 有 better uptime 和 geo-spread 那些 你 能 达到 的 with 你的 tiny swarm

Firewall! 如果 你 block torrent ports 或 不 允许 uPnP 那么 torrents 不会 magically 使 你的 network 更快 Speed wise TCP 可能 稍微 比 UDP 慢 但 overall 对于 home users 你 不会 看到 差异 在 classic HTTP requests 和 torrents 之间 特别是 当 number of seeds 非常 小 并且 这 将 是 typical scenario 对于 大多数 人

最后 隐私 你 不想 让 cloud providers 看到 你的 数据 但 你的 家人? 或 朋友? 你 将 共享 你的 数据 与 他们的 机器? 你能 相信 他们 会 知道 做 什么 不 戳 或 更糟 让 他们的 hosts compromised 允许 total strangers 访问 你的 文件? 因为 如果 你 打算 让 你的 个人 信息 出 你的 手 基本 前提 cloud 不 适合 此 目的 有点 变得 pointless

อ่านเพิ่มเติม

如果 你 感兴趣 那些 或許:

An overview of Grsync and what it can do

A comparison and review of several Rsync frontends

สรุป

好 在 半天 的 frustration 和 tinkering 后 我必须 说 concept 需要 很多 工作 它 是 ideal 对于 large, fast, low-latency, unrestricted, unlimited networks 但 不 当 你 试图 sync up 一堆 highly diverse devices across the Internet 在 那种 情况下 你 不会 really enjoy benefits of decentralized storage 和 如果 你 必须 cloud 是 better option 因为 如果 你 concerned 关于 privacy 或 security 那些 就去 local backups 更快 更实用

无视 reality 的 harsh obstacles BTSync 没有 impress 我 所有 Syncthing 是 better solution 但它 可能 有点 clunky 并且 可能 采取 一段时间 来 setup cluster 然而 有 很多 potential 在这里 和 使用 encryption 和 public sharing 可能 实际上 是 better option 而不是 担心 谁 你 分享 只需 发送 你的 bits 和 pieces 到处 似乎 为 所有 那些 其他 torrents 工作 无论如何 我的 感谢 去 Floris 为 这 推荐 照顾 好 自己

ขอแสดงความนับถือ