访问位于 NFS 挂载点底层文件系统上的文件

eww*_*ite 8 linux failover nfs mount

也许这是一个奇怪的要求,但它与以下详细说明的问题相反:

是否可以在不卸载 NFS 内容的情况下查看底层 NFS 挂载的内容?

我有一个安排,其中多个远程站点的 Linux 服务器从中央服务器(所有 CentOS 5.x)安装 NFS 共享。想想:/opt/software或类似的东西。

如果一切顺利,客户端系统将从主服务器挂载 NFS 导出并正常运行。共享中包含的数据不会频繁更改(可能每周更改一次)。

我担心与主 NFS 服务器的连接丢失的情况(NFS 服务器中断、光纤切断等)。由于共享数据不会经常更改,我希望这些系统在丢失 NFS 挂载时能够独立运行。

假设挂载消失了,我想使用/opt/software位于同一位置的 NFS 挂载下方的本地文件。此外,我会保持这些文件的每日同步。

NFS 装载是读/写的,因为需要可以从任何客户端站点更改装载的卷。

这可能吗?如何访问(或覆盖)底层目录中的文件?会不会有超时问题?是否有任何安装选项/提示可以帮助解决这个问题?

Set*_*son 16

mount -o bind / /mnt
Run Code Online (Sandbox Code Playgroud)

当您查看 /mnt/opt/software 时,您会在 /opt/software 中找到挂载下方的文件(如果有)。


eww*_*ite 8

这可以通过使用该mount --bind选项来实现。

Since Linux 2.4.0 it is possible to remount part of the file hierarchy somewhere else. The call is
   mount --bind olddir newdir
After this call the same contents is accessible in two places.
Run Code Online (Sandbox Code Playgroud)

所以我能够 mount --bind /opt/software /foo

然后应用 NFS 挂载/opt/software,保留查看/foo.