【问题标题】:NFS mount timeoutNFS 挂载超时
【发布时间】:2018-07-17 03:03:03
【问题描述】:

像这样,我的服务器端配置是/etc/exports 中的/lenge/gnu/aarch64_sysroot_nfs 192.168.137.8(rw,sync,no_subtree_check)

[4.995341] 根 NFS:nfsroot=/lenge/gnu/aarch64_sysroot_nfs
[4.999167] NFS:nfs mount opts='vers=2,udp,rsize=4096,wsize=4096,nolock,addr=192.168.137.188'
[5.001094] NFS:解析 nfs 挂载选项“vers=2”
[5.002329] NFS:解析 nfs 挂载选项“udp”
[5.002843] NFS:解析 nfs 挂载选项“rsize=4096”
[5.004294] NFS:解析 nfs 挂载选项“wsize=4096”
[5.004996] NFS:解析 nfs 挂载选项“nolock”
[5.005533] NFS:解析 nfs 挂载选项“addr=192.168.137.188”
[5.008949] NFS:MNTPATH:'/lenge/gnu/aarch64_sysroot_nfs'
[5.010838] NFS:为 192.168.137.188:/lenge/gnu/aarch64_sysroot_nfs 发送 MNT 请求
[5.138789] NFS:MNT 请求成功
[5.139382] NFS:伪造 auth_flavs 列表
[5.144674] NFS:尝试使用身份验证风格 1
[10.357008] NFS:nfs mount opts='vers=2,udp,rsize=4096,wsize=4096,nolock,addr=192.168.137.188'
[10.357996] NFS:解析 nfs 挂载选项“vers=2”
[10.358620] NFS:解析 nfs 挂载选项“udp”
[10.359131] NFS:解析 nfs 挂载选项“rsize=4096”
[10.359734] NFS:解析 nfs 挂载选项“wsize=4096”
[10.360856] NFS:解析 nfs 挂载选项“nolock”
[10.361537] NFS:解析 nfs 挂载选项“addr=192.168.137.188”
[10.362440] NFS:MNTPATH:'/lenge/gnu/aarch64_sysroot_nfs'
[10.363178] NFS:为 192.168.137.188:/lenge/gnu/aarch64_sysroot_nfs 发送 MNT 请求
[10.377199] NFS:MNT 请求成功
[10.377666] NFS:伪造 auth_flavs 列表
[10.378161] NFS:尝试使用身份验证风格 1

那么,问题出在哪里?

【问题讨论】:

  • 尝试将nfsvers=3 传递给内核命令行中的 NFS 参数,我遇到了类似的问题,它帮助了我。我使用了next U-Boot commands,对我来说效果很好。除此之外,问题很可能与您的主机设置或命令行有关,因此此问题不属于 SO,请尝试询问 ServerFault 或 SuperUser。此外,您应该提供更多输入,例如内核 cmdline、您的引导加载程序启动过程/环境(启用 NFS)、主机上的配置文件、来自 /var/log/...dmesg 的一些相关信息等。

标签: linux-kernel nfs


【解决方案1】:

我也有这个问题。我的 /etc/exports 看起来像你的,但我的问题在于我的 uEnv.txt,特别是我如何告诉内核通过 NFS 挂载 rootfs。请看我总结问题和解决方案的图片。

nfsroot.txt 的第 2 节中 BeagleBoneBlack 的内核文档指出 NFS 设备及其定位需要通过以下方式传递给内核:

root=/dev/nfs

这是启用伪 NFS 设备所必需的。请注意,它不是 真实设备,但只是告诉内核使用 NFS 而不是 一个真正的设备。

nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]

如果在命令行中没有给出 `nfsroot' 参数, 将使用默认的“/tftpboot/%s”。

指定 NFS 服务器的 IP 地址。 默认地址由 `ip' 参数确定 (见下文)。该参数允许使用不同的 用于 IP 自动配置和 NFS 的服务器。

服务器上要以 root 身份挂载的目录的名称。 如果字符串中有“%s”标记,它将是 替换为客户端的 ASCII 表示 IP 地址。

标准 NFS 选项。所有选项都用逗号分隔。 使用以下默认值: 端口 = 由服务器端口映射守护程序给出 rsize = 4096 wsize = 4096 时间 = 7 重传 = 3 acregmin = 3 英亩最大 = 60 acdirmin = 30 acdirmax = 60 flags = hard, nointr, noposix, cto, ac

根据@Sam Protsenko 的建议,我确实将 nfsvers=3 添加到我的 nfs-options 中,但我不确定是仅此一项还是与上述更改相结合是导致内核挂载 rootfs 的原因。

在我原来的 uEnv.txt 中,'rootwait' & 'rootdelay=5' 似乎已被弃用。 NFS 报告在尝试解析时无法识别这些参数,因此我在更新的 uEnv.txt 中删除了它们。

如果以上方法对您没有帮助,您可以使用以下方法收集更多信息:

找到here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-29
    • 1970-01-01
    • 2022-07-28
    • 2017-08-06
    • 2021-03-31
    • 1970-01-01
    • 2016-07-01
    • 2019-06-09
    相关资源
    最近更新 更多