如何解释NFS的crossmnt参数?

12

我的一个客户发现他需要在NFS导出选项中包括'crossmnt'。我将把该选项写入我们的软件中,以便他无需进行任何修改,可以将crossmnt用作真正的选项。

以下是我可以在我们的文档中使用的有关crossmnt的正确解释吗?

crossmnt允许NFS客户端遍历导出根目录下面的目录。例如:etc/exports:

/exports      *(fsid=0,ro,root_squash,sync)
/exports/doc  *(ro,root_squash,bind=/usr/share/doc)
使用crossmnt,客户端可以将/exports/doc的内容视为/exports的子文件夹,而没有crossmnt,则doc会显示为空文件夹。 这个视频是一个例子: https://www.youtube.com/watch?v=-9cJciX8dB8 听起来对吗?谢谢。
1个回答

17

我认为这个解释中有一些遗漏。根据我的了解,CrossMount 允许你在导出目录中看到一个挂载点。如果导出目录的子文件夹还没有挂载任何分区,它们应该能在 NFS 的客户端中看到。

例如,如果你有一个导出到"/mnt/testing_dir"的目录,并且它包含以下内容:

/mnt/testing_dir/
                 dir1/
                           text1.txt
                           executable.bin
                 dir2/ (mount point for /dev/sda6)
                           doc1
                           doc2

即使不使用"crossmnt"选项,“dir1”也将可见。然而,作为挂载点,“dir2”将在使用“crossmnt”选项时可见,并且如果没有它(除非您使用其他选项,比如“nohide”),它将为空。

参考:

crossmnt - 此选项类似于nohide,但它使客户能够从标记为crossmnt的文件系统移到在其上挂载的导出文件系统。因此,当子文件系统"B"挂载在父文件系统"A"上时,在"A"上设置crossmnt具有与在B上设置"nohide"相同的效果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接