通过 WAN 为多个小集群提供 DFS

通过 WAN 为多个小集群提供 DFS

我和我朋友的系统上都有 TB 的数据。但是,我们都没有地理分布的完整备份,因为对于如此大的数据量,Dropbox、S3 等解决方案对我们来说成本过高。但是,我们每个人都有多余的本地存储空间。实际上,每个人都有 TB 的数据未使用。

我们开始思考:如果我们可以将主机联网到某种形式的分布式文件系统中,那么我们每个人都可以获得完整数据集的地理分布备份,同时实现更高的存储容量利用率。我们认为这是完美的解决方案。

  1. 我们至少有 3 个人。如果项目取得成果,肯定会有 6 个人或更多。
  2. 我们每个人都有1-2TB的数据,并且至少还有这么多的剩余。
  3. 我们都分布在广域网中。
  4. 我们需要让任何主机都能够任意进入和离开云服务。
  5. 实时同步。否则我们只能每周聚一次,喝啤酒,交换一堆外部硬盘。
  6. F/OSS 是必需的,但我们也有足够的努力。
  7. 如果我们可以在此过程中使用/学习/利用分布式计算平台,那就更好了。

我们最初考虑在 OpenStack 或 Hadoop 上构建一个类似 Dropbox 的界面,但我想知道是否有其他我们忽略的替代方案。也许对于我们的情况,有一个更简单的解决方案?考虑到每个集群的节点数量较少,这样的方案是否可行?

注意:当然,初始同步/平衡/传输/等至少需要几天时间,但这是可以接受的。

答案1

它不是 FOSS,但 crashplan 对此来说是一个非常好的选择。设置和运行非常简单,但它可以完美处理 3、4 和 5。设置也非常简单 - 安装客户端,设置可用空间,并添加您想要允许使用该空间的人。

答案2

我在 Ubuntu 服务器上使用了 sshfs,并通过 cron 使用了一个简单的 rsync 脚本。每台主机都保留了自己的自主权(尽管我在 3 台主机上的配置中拥有 root 访问权限),并且跨节点复制的频率和复制到哪些节点也是完全可控的。存储量可以通过分区或配额来控制,我选择分区只是因为我控制着所有 3 台主机。缺点是缺乏复制频率(同步)控制。如果主机频繁同步,它可能会过度利用带宽,尤其是在 WAN 上使用快照的情况下。与其他主机友好协作并在 rsync 命令上使用 kbps 限制是必要的。

相关内容