通过Internet挂载文件系统


11

我为一个客户构建了一个在虚拟服务器上运行的Web应用程序。它包括供他们上传文件的工具,但现在他们希望将这些文件存储在办公室中的服务器上。

最简单的方法是通过Internet将其文件系统直接安装到虚拟服务器上。我有在内部网络上安装NFS的经验,但是我不清楚在这种情况下它是否可以工作。

有什么想法吗?我总是可以编写新的软件来传输文件,但这很容易解决!

注意:办公室中的服务器是在Windows hyper-v环境中的虚拟服务器上运行的Ubuntu 12服务器。带有Web应用程序的VPS是Ubuntu 11.04


这些文件的安全性吗?
Adrian Cornish 2012年

通过cron作业进行rsync。
伊格纳西奥·巴斯克斯

@AdrianCornish-并非如此,尽管首选安全解决方案。

Answers:


12

尚无人提及sshfs。如果您使用的是现代Linux发行版,并且可以通过ssh访问远程主机,则操作非常简单:

sshfs user@hostname:/remote/directory /local/directory

性能是完全可以接受的(但如果需要整个目录,则其速度不如rsync的流式同步快)。


到目前为止,这似乎是最好的解决方案,FAQ甚至说:“资源可以通过慢速且不可靠的(远程)连接进行装载。” 另一个网页告诉我,如果连接断开,“ sshfs -o重新连接服务器:/ path / to / mount”将使其自动重新连接。

3

NFS本质上是不安全的。通过Internet连接将是一个非常糟糕的选择。

我喜欢提到rsync的帖子。我希望不要使用cron来启动传输,而是希望您可以仅从处理文件上传的代码中运行rsync作业。

上传完成后,将文件同步到其服务器,完成。

我希望您需要与他们的服务器建立安全连接以进行传输。

如果需要,可以将传入文件放入列表进行传输,在成功复制后删除名称,并为自己提供一些故障转移功能,以防连接发生问题。

正如其他人已经指出的那样,rsync被设计为处理文件组或层次结构(感谢,拼写检查),因此这并不难实现。


1
rsync使用SSH作为传输没有问题。
伊格纳西奥·巴斯克斯

该Web应用程序已经将文件保存在本地服务器上,并在其中引用它们。本地服务器上将没有空间,因此一旦传输它们将必须被删除,这意味着编写新代码,因此,如果可能的话,我首先要寻找一个已安装的解决方案。

1

NFS可能本质上是不安全的,但这不是服务的错误。Telnet和FTP本质上也不安全,但是在开放Internet上已经使用了数十年。如果建立了加密的VPN隧道,则缺少NFS加密是无关紧要的。

同样,如果将防火墙配置为仅允许特定的远程主机地址连接到NFS挂载点,则裸NFS连接几乎可以防止黑客入侵,但可以嗅探Internet流量且可以访问强大解密功能的三封信机构除外。无论如何都要破解您的加密远程连接。

我看到默认情况下,某些版本的NFS使用UDP,这很可能来自Internet可靠性问题。如果连接拥塞,UDP数据包可能会丢失,并且不会自动尝试重新传输。如果需要可靠的连接,请确保您的NFS通过Internet使用(或被迫仅使用)TCP数据包。


1
> Telnet和FTP本质上也是不安全的,但是在开放Internet上已经使用了数十年,尽管确实如此,但是我认为这不是一个好主意,因为通常在Internet上使用它们是(非常)不好的做法现在。Mozilla甚至建议弃用未加密的http
伊恩·斯科特

0

NFS可以通过防火墙来完成。如果您进行搜索,则会发现其他尝试过并成功完成此过程的人,但是,它不像打开端口那样简单,并且似乎取决于正在运行的NFS版本。

rsync是一个很好的建议,并且具有很大的灵活性。但是,这将是一个在您的应用程序外部运行的过程。rsync可以处理本地文件更新的同步,并保持整个目录与其他文件夹同步。

ssh将是另一个安全选项,并且只需要打开一个端口即可。我过去曾在Windows和Linux系统之间使用过此功能,并且在应用程序内部以及计划进程方面都取得了不错的成绩。

我敢肯定还有其他方法可以完成您要寻找的内容,但是我们需要有关这些文件类型的更多信息,以及将它们链接到页面中还是以更复杂的方式将它们流式传输的信息。


我了解替代方案,挂载文件系统将是最简单的解决方案,我只是不知道NFS在Internet上而不是在内部网络上的稳定性如何。如果连接断开等情况发生,或者如果有一种新的设计对此具有较强的健壮性,将会发生什么。

0

NFS挂载可以使用自动挂载来完成,自动挂载会在失败时继续尝试挂载,但是我考虑在管道上使用挂载的唯一方法是使用vpn或其他一些安全连接(实际上,我不考虑这样做,但是您听起来很固执)。

即使使用自动挂载,如果出现网络问题,并且您将其上载放在NFS挂载上,则上载可能会失败或被破坏,除非您将文件存储在本地,然后在上载成功后进行复制。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.