Linux 使用NFS装载包含多个硬盘驱动器装载点的目录

Linux 使用NFS装载包含多个硬盘驱动器装载点的目录,linux,nfs,network-share,nfsclient,Linux,Nfs,Network Share,Nfsclient,我在一个目录中安装了4个硬驱动程序: /dev/sda1 11T 62M 11T 1% /all-hdds/hdd1 │ 36 #MpiParams=ports=#-# /dev/sdb1 11T 62M 11T 1% /all-hdds/hdd2

我在一个目录中安装了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

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

让我们假设
/所有hdd
本身都是从
/dev/sde1
装载的

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

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

当然,您看不到该文件,因为它被sda1上的文件系统隐藏,安装在
/all-hdd/hdd1

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

这需要在导出树的根上设置
fsid=0
mount选项,并在子导出上设置
nohide
选项

完整的指南是(安装部分是特定于Ubuntu的,导出部分不是)

请注意,这将意味着客户端挂载
yourserver://
而不是
yourserver:/all hdd
-NFSv4只有一个根目录