我在一个目录中挂载了 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
等目录,但是当我在其中创建文件时,它们不会显示在主机上,所以我想也许我遇到了某种限制?
假设/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 只有一个根。