0

我在一个目录中安装了 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 点并将其安装在其他客户端上?我试过了,我可以在客户端看到所有的hdd1, hdd2, etc 目录,但是当我在其中创建文件时,它们不会显示在主机上,所以我想我可能遇到了某种限制?

4

1 回答 1

0

让我们假设它/all-hdds本身是从/dev/sde1.

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

但是当您/all-hdds/hdd1通过 NFS 导出时,它仅限于/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 只有一个根。

于 2019-11-10T04:16:11.540 回答