我们有几个 linux 文件服务器,我们的系统管理员拒绝进行任何 NFS 交叉安装,通过交叉安装我的意思是从服务器 B 上的服务器 A 上安装 nfs 共享,在 A 上安装来自服务器 B 的共享。
有人知道这种交叉安装是否有任何问题吗?
订购两台服务器的启动可能具有挑战性。
理想情况下,您希望您的服务器在没有操作员干预的情况下从电源故障中恢复。但是,当然,有些服务器需要先于其他服务器启动——例如,在尝试启动与外部连接的服务器之前,您可能需要启动防火墙。或者,您需要在它们的客户端之前启动 NFS 服务器。
一种方法是获得一个智能电源板(例如,APC 管理的 PDU),然后您可以为每个插座配置开机延迟。因此,您可以确保首先打开防火墙和交换机,然后打开 DNS 服务器,然后打开 NFS 服务器等。即使您手动关闭检查表(“打开 A,等待它启动,打开 B 和C,等待它们启动,......”)你仍然想要简单。
但是如果 A 依赖于 B,而 B 依赖于 A,你就不能这样做。在简单的情况下,它很容易解决——A 和 B 只需要在之前启动他们自己的 NFS 服务器(并导出他们的本地文件系统)尝试挂载任何 NFS 共享(尽管这与默认顺序相反)。当然,除非您最终使用嵌套路径,例如,本地文件系统安装在 NFS 安装下。或者您添加第三台服务器,然后可能将来自 A 的共享安装在 C 上来自 B 的共享下。
当然,手动处理这类事情并不太难,但是您不想在断电后这样做。您可能有计划外的问题需要解决(例如,由于意外断电或您不知道的依赖关系而中断的问题),而每个人都在抱怨它已关闭,因此最好不要设置已知的、可避免的问题那会占用你的时间。
此外,挂载然后重新导出 NFS 共享可能是不明智的,如果除了两次发送所有数据的网络开销之外没有其他原因。不像客户端不能只挂载两台服务器。
编辑:还有一个原因——当 NFS 服务器出现故障时,试图访问该服务器的客户端上的任何进程都会进入磁盘(“不可中断”)睡眠状态。这可能会导致从一台 NFS 服务器故障到另一台故障的“传染”(从基本进程进入磁盘睡眠,或因 cron 作业产生而未完成等导致资源耗尽等)。(如果你想知道的话,这显示了一个D
in ps
)