如何以分散而又有弹性的方式利用大型网络上未使用的空间?

如何以分散而又有弹性的方式利用大型网络上未使用的空间?

我管理一个大型的 Windows 网络,我想利用工作站上未使用的空间,有没有免费的方法来做到这一点?

假设我们有:

  • 200 个 Windows 工作站,每个工作站配备 500GB 硬盘,驱动器上消耗的空间始终少于 50GB。
  • 该网络的用户将他们的文件存储在专用的文件服务器上,没有用户数据本地存储在工作站上。
  • 200 个硬盘,每个有 450GB 可用空间 = 87.89 TB 的未使用磁盘空间分布在网络上。

我正在寻找一种可靠的方式利用这些空闲磁盘空间,首先选择数据完整性而不是访问速度。

我之前听说过互联网上使用类似 P2P 网络的分布式存储,其中用户选择将一定比例的磁盘空间委托给网络,以换取他们将数据存储在世界各地的其他驱动器上,以分布式方式复制数据以在某些客户端离线时仍提供访问。

显然,在互联网上匿名进行此类操作会导致其他潜在问题,但我希望在受控环境中的本地网络上进行此类操作,不是为了日常用户使用,而是为了更多的档案、长期存储。

几乎就像一个分布式文件系统,当工作站离线时,可以自我管理、加密、复制数据以实现冗余。

基于 Windows 的服务可能最适合我的需求,它在后台静默运行,能够设置为工作站负载方面的低优先级。显然,数据存储应该加密,甚至可能是 P2P 的,以便其他客户端协同工作以传输数据进行复制?

如果有人知道可以实现这一点的软件,请告诉我,如果它是免费的,那就更好了!感谢您的时间和帮助。

答案1

太浩湖。它是用 Python 编写的,并且是跨平台的。目前还没有 Windows 安装程序,但它可以在 Windows 上运行。您需要构建它(c:\python27\python.exe c:\your_tahoe_unzip_path\tahoe build在第一次使用之前运行命令),但之后您可以将构建的文件复制到任何地方。

在 Windows 上,你希望它作为服务运行。我使用过国家安全监测中心来完成这项任务。

您需要运行一个可供每台机器访问的引入者节点。

然后,您需要将要参与“网格”的每台机器设置为存储节点(使用来自introducer.furl引入者节点的)。在这里,您可以指定冗余参数,即您希望它在多少台机器上尝试“分割”文件。

然后,您可以转到运行 Tahoe 的任何机器上的 Web 界面,并将文件下载/上传到整个网格。Tahoe 可以配置为冗余上传,因此如果机器出现故障或不可用,它可以尝试从其他机器中获取。您需要定期刷新文件以确保它们“在网格上正常”。

Tahoe 有一个内置的“功能”安全模型,其中 URL 是文件的访问密钥,并且还决定了您可以对文件执行的操作的权限(当您上传文件时,基本上可以提供一个“只读”URL。)您还可以禁用 Web 界面并使用“SSH”前端(使用 WinSCP 获取和存储文件)。

它很复杂而且很奇怪,需要花一些时间来理解一些概念,但效果很好。

相关内容