【问题标题】:Distributed filesystem in UbuntuUbuntu中的分布式文件系统
【发布时间】:2012-06-23 05:33:31
【问题描述】:

我将解释我想要实现的目标。我想要的可能没有被正确地描述为分布式文件系统。

我们有 5 个人在运行 Ubuntu 12.04。我们每个人都有大约 200-500GB 的文件要不时共享。每个工作站都拥有文件的所有权。有时我们想共享文件。我还希望一个工作站能够在另一个工作站上编辑文件。

我想做的是拥有一个统一的分布式文件系统,这样如果我们转到统一的文件系统路径,它将列出来自每个工作站的所有文件。

我知道可以创建网络共享来实现类似的结果。这有一个问题,它要求用户检查每个共享是否有适当的文件。

我宁愿创建一个显示所有共享文件的统一共享,然后重定向到相应的计算机。

例如 cd /统一共享 ls 会将用户带到最高级别的目录并显示来自 5 台不同计算机的所有共享文件

cd /unifiedshare/comp1 ls 将列出 comp1 共享的所有文件

我查看了一些分布式文件系统,例如 Chirp,但它似乎并不是我想要的。我不希望跨服务器/计算机保存文件。我宁愿让 comp1 拥有的文件留在 comp1 上。

我不太担心访问控制或限制。我们都在同一栋楼里。 有什么建议吗?

我确实通过类似的问题找到了这一点,但没有机会阅读它。 http://www.openafs.org/main.html

【问题讨论】:

  • 那么,您希望所有 3000 多个文件看起来都在一个目录中吗?如果机器 1 和机器 2 都有一个名为 README 的文件会怎样?
  • 我不希望所有文件都位于一个目录中,而是每个工作站都位于目录或某种结构中。在阅读了有关 Chirp 的更多信息后,似乎可以做到这一点。
  • 我想我很困惑/unifiedshare/ 的用途。

标签: file ubuntu system distributed


【解决方案1】:

还有Unionfs。每个人都会提供他们文件的 NFS 导出。然后你可以使用 Unionfs 加入它们,然后像​​任何 other filesystem 一样挂载它:

mount -t unionfs -o dirs=/Mine:/His:/Yours:/Theirs none /mnt/everyones

在前面提到的多个 README 的情况下,/Mine/README 将是存在的,因为 /Mine 列在第一位。

【讨论】:

    【解决方案2】:

    如果最大的问题是知道五个工作站中的哪一个拥有您有兴趣编辑的文件,那么解决该问题的最简单方法可能是巧妙地使用locate(1)updatedb(8) 程序。

    让每台机器在自己的一组导出文件上运行updatedb(8);使用-U 选项构建仅包含导出文件的数据库,使用-o 将数据库输出到顶级导出目录。例如,通过cron/etc/cron.daily/ 重建这些。

    让每台机器上的每个用户在其 shell 中设置 LOCATE_PATH 环境变量以引用所有五台机器导出的每个数据库。然后每个用户只需运行locate README 即可在所有五台机器上找到每个名为README 的文件。

    【讨论】:

    • 感谢大家的建议。这很有帮助。我将不得不做更多的阅读。
    【解决方案3】:

    我建议寻找其中一台机器的 NFS 共享。

    或者,使用unison 之类的软件,您可以设置一个类似于 Dropbox 的客户端-服务器系统,其中每个文件都有共享文件的副本同步到一个中心位置并返回到每个客户端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-20
      • 1970-01-01
      • 2019-02-28
      • 1970-01-01
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      相关资源
      最近更新 更多