我是一个多用户服务器的系统管理员,我们系的学生有 shell 帐户。我们的一位用户要求我们sshfs
在其上安装。我在争论按建议安装是否明智sshfs
。
我主要担心的是 FUSE 挂载是否会降低我们的服务器的可靠性。根据我的经验,当 NFS 服务器突然变得不可用时,服务器可能会发生不好的事情——平均负载猛增,您可能无法完全卸载它,以至于可能需要硬重启。如果安装了 FUSE 的服务器突然消失,收拾残局会有多难?我应该考虑其他可能的灾难或问题吗?
至少对于 NFS,只有 root 可以挂载,我们可以选择挂载我们认为合理可靠的 NFS 服务器。
让我们假设我们的用户没有恶意,但可能会不小心做出愚蠢的事情。此外,我并不真正担心它们可能挂载的文件系统的内容,因为我们的用户已经拥有 shell 访问权限并且可以将他们想要的任何内容复制到他们的主目录。
我已经将 FUSE 与 sshfs 和 HDFS 一起使用。sshfs 似乎非常可靠,我根本没有看到 panic 或 hard crash。HDFS otoh 导致了无数次崩溃。这是经过调查调整的,只要我们没有看到大量使用 hdfs,一切都是稳定的。
我见过 sshfs 的主机系统消失而没有任何不良影响。HDFS 引起了各种各样的问题。这给我的印象是 sshfs 相当稳定。
我会建议测试大量 I/O 并查看 sshfs 如何处理它,我希望它能像冠军一样处理它。
看来(如果我错了请纠正我)您正在考虑在您的服务器上安装 FUSE-sshfs。您可能对其工作方式感到困惑:FUSE-sshfs 应安装在客户端计算机上。服务器确实需要比它已经拥有的更多的东西:SSH 服务器。
“FUSE 安装破坏 Linux 服务器稳定性的可能性”是“一些”。
了解 FUSE 的性质是值得的。FUSE 它本身并不不稳定。它是(相对成熟的)内核代码,提供了一种为各种文件系统运行用户空间“驱动程序”的方法。它用于测试或“玩具”文件系统,或那些不“属于”内核的文件系统,或那些仍在不断变化的文件系统,即它们本身可能不稳定,但是考虑到驱动程序在用户空间中运行,任何问题在用户层驱动程序代码在某种程度上与内核隔离。通过这种方式,可以说比在内核中运行不成熟的代码更稳定。
确切的稳定性更多地取决于您使用的 FUSE 模块。我使用过一些 sshfs,并且从未遇到过稳定性问题。如果我失去与 SSH 服务器的连接,文件系统将停止响应,但这显然是预料之中的。