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

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

我在服务器上有一个共享目录 - 我们称之为 /home/shared - 它通过 nfs 安装来自另一台服务器的内容。

卸载后 /home/shared 为应该为空 - 但是,运行目录上的 表示它不为空。

我无法卸载 NFS 内容来检查挂载点,因为它已被其他人使用。

有没有什么方法可以让我查看/编辑实际挂载点的内容(而不是 NFS 内容),同时保留 NFS 内容以供其他人使用?

答案1

以下做法可能会更简单:

$ sudo mount --bind /directory_above_the_mount_point /some_temporary_directory

然后,/directory_above_the_mount_point/mount_point剩下的就是显示已挂载的文件系统,同时您可以访问底层文件系统(挂载点)/some_temporary_directory/mount_point

答案2

如果您想要获取底层目录的句柄,您可以使用mount --move将共享移开,将 cd 移到挂载点,然后使用mount --move将其移回原位。不应该破坏任何东西。

如果您只是想查看,更好的选择是使用 debugfs (或其他等效方法)针对文件系统设备本身来检查该目录:

challenger:/home/michael # mount
/dev/mapper/system-opensuse on / type ext3 (rw,noatime)
/dev/mapper/system-home on /home type xfs (rw,noatime)
challenger:/home/michael # debugfs /dev/system/opensuse 
debugfs 1.41.9 (22-Aug-2009)
debugfs:  ls /home
 11751  (12) .    2  (4084) ..
debugfs:  quit

答案3

你可以移动在 Linux 中使用 进行挂载mount --move。因此,如果您可以使用很短可能无法访问的窗口,您可以这样做:

  1. 创建一个新的临时目录:mkdir /home/shared-tmp
  2. 做这个举动:mount --move /home/shared /home/shared-tmp && mv /home/shared /home/shared-old && mkdir /home/shared && mount --move /home/shared-tmp /home/shared
  3. 删除临时目录:rmdir /home/shared-tmp

这应该保留/home/shared为挂载目录,/home/shared-old作为旧的(怀疑是非空的)目录。

答案4

您可以将原始文件所在的设备挂载到另一个目录,然后深入挖掘该目录的内容。

相关内容