使用 NFS 挂载包含多个硬盘挂载点的目录



我在一个目录中挂载了 4 个硬驱动程序:

/dev/sda1        11T   62M   11T   1% /all-hdds/hdd1                                                    │ 36 #MpiParams=ports=#-#
/dev/sdb1        11T   62M   11T   1% /all-hdds/hdd2                                                    │ 37 #PluginDir=
/dev/sdc1        11T   62M   11T   1% /all-hdds/hdd3                                                    │ 38 #PlugStackConfig=
/dev/sdd1        11T   62M   11T   1% /all-hdds/hdd4

是否可以将all-hdds导出为单个 NFS 点并将其挂载到其他客户端上?我试过了,我可以在客户端看到所有hdd1hdd2等目录,但是当我在其中创建文件时,它们不会显示在主机上,所以我想也许我遇到了某种限制?

假设/all-hdds本身是从/dev/sde1挂载的。

/all-hdds/hdd1未挂载时,/all-hdds(在 sde1 上(仍然有一个目录/hdd1,该目录为空。挂载 sda1 时,您将 sda1 中文件系统的根目录挂载到/all-hdds/hdd1上。

但是,当您通过 NFS 导出/all-hdds/hdd1时,它仅限于/dev/sde1上的文件系统。因此,如果您在客户端上挂载了/all-hdds例如/client-mountpoint然后创建了一个文件/client-mountpoint/hdd1/test,实际发生的是文件/hdd1/test是在文件系统/all-hdds上创建的,存储在/dev/sde1上。

当然,您看不到该文件,因为它被sda1上的文件系统隐藏,挂载到/all-hdds/hdd1上。

这意味着您需要导出所有文件系统,并明确告诉服务器您要将它们导出为树。

这需要在导出树的根目录上设置fsid=0挂载选项,并在子导出上设置nohide选项。

完整的指南在这里(安装部分是特定于 Ubuntu 的,导出部分不是(。

请注意,这意味着客户端挂载yoursever:/而不是yourserver:/all-hdds- NFSv4 只有一个根。

相关内容

  • 没有找到相关文章

最新更新