我工作的公司在美国有多个办事处。我们正在尝试提出一种解决方案,允许在所有办公室之间安全地共享文件。我们此刻的想法是:
在每个站点设置一个 Linux 服务器,并通过 sshfs 从其他服务器挂载共享目录。这样客户端只能直接访问他们的本地服务器。
另一种可能性是通过 rsync 在所有服务器之间进行数据复制。这将使我们还可以在发生灾难性故障时保留数据。我们担心的是损坏的数据被复制到所有服务器上,我们失去了任何恢复的机会。可以通过在服务器之间每小时进行一次 rsync 并每天将增量备份到我们办公室的外部驱动器来解决这个问题,以保存过去的数据。
我们可能会使用 LDAP 来处理用户帐户复制和访问控制。
由于缺乏更好的术语,这两种解决方案都“感觉”不正确。你会怎么做才能解决这种情况?
编辑:我们更喜欢基于 Linux 的解决方案,以避免 Windows 许可的成本和麻烦。此外,与 Windows 服务器相比,IT 团队更熟悉 Linux。还应该指出的是,我们并不反对将其外包,以便数据可以在某个地方的云中生存。假设价格合理。
如果您不是绝对致力于 Linux,我建议您使用 DFS、以前的版本和 Active Directory 沿着 Windows Server 路线走。它干净、完善且足够安全,并且可能是目前文件共享的最佳“一站式商店”。
我不会使用 sshfs。在不同位置之间设置 VPN 隧道并使用您的标准文件共享协议。如果由于带宽限制而太慢,您将不得不考虑其他事情,但这肯定也会涉及 VPN。
这里有很多变量需要考虑——包括链接速度——首选平台——数据类型——和数据大小。
我建议您考虑对数据进行区域分区,无论您使用哪种解决方案——这样
是本地数据的唯一本地(快速、权威)副本。您提到每小时 rsync,那么每个人都可以随时访问所有系统是否至关重要?实时重要吗?
如果您使用 Windows 执行此操作——我建议在每个站点、本地存储和 DFS 中使用单个 AD forrest,并在服务器之间进行同步。
如果您使用的是 Linux LDAP 或简单的权限应该可以解决问题。不过,您留下了一些解释空间——是否有某些业务案例可以用于其他设置?您是否考虑过文档管理系统?来自不同区域站点的人员是否需要协作?
诸如 Citrix 之类的东西是一种选择吗(由于集中式 IT,成本要低得多)。
取决于您的预算——大型运营商可以提供一个 MPLS 网络,该网络对您来说看起来像一个专用网络,但通过标准以太网进行路由。无需管理 VPN,无需路由器限制,无需技术维护。成本通常与标准 T1/T3 连接大致相同。
如果您不需要办公室之间的“近实时”共享,rsync 是一个非常好的方法。
在每台服务器上创建一个“本地”共享,为本地用户提供适当的 R/W 权限,以及一个“导入”目录,您可以在其中从其他服务器(每个服务器都在它自己的子目录中)提取副本(使用 rsync),并提供服务它为本地用户提供 R/O。如果您愿意,可以创建另一个目录,其中包含指向那些但“更扁平”结构的链接,并共享它。
没有理由比任何其他方案更容易传播损坏的文件。
如果您想要更实时的东西,您可以为本地用户安装和重新导出远程服务器。我认为 NFSv4 有一些缓存选项可以提供帮助。
或者,您可以使用 WebDAV,用户可以直接挂载远程服务器,并让本地 squid 代理来帮助缓存对象。
我们现在正在考虑使用的一件事是Jungle Disk。以合理的价格,这似乎是一个不错的解决方案。