【问题标题】:Mounting a directory containing multiple hard drive mount points using NFS使用 NFS 挂载包含多个硬盘驱动器挂载点的目录
【发布时间】:2019-10-07 16:16:33
【问题描述】:

我在一个目录中安装了 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 等目录,但是当我在其中创建文件时,它们不会出现在主机上,所以我想也许我遇到了某种问题限制?

【问题讨论】:

    标签: linux nfs network-share nfsclient


    【解决方案1】:

    假设/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 选项。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 2020-03-13
      • 1970-01-01
      相关资源
      最近更新 更多