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