我已经在一台机器上安装了 Ubuntu 22.04,我正在尝试挂载一个 NFS 共享,它在其他 Linux Ubuntu 机器(21.04、20.04、18.04 等)的阵列上挂载没有问题。
我们使用的命令是:
sudo apt install nfs-common # Only required once for installation
sudo mount -t nfs 10.234.123.11:/bfx_share1 /bfx_share1
如果我这样做:
sudo showmount -e 10.234.123.11
它显示了可能的坐骑列表,因此在这方面一切都是犹太教。
它只是卡在那里,什么也没做。有任何想法吗?我可以做些什么或添加什么来调试情况?没有其他客户nfs-common
吗?
我已经安装nfstrace
并在尝试挂载 nfs 文件夹时,我在另一个终端中启动了它,以获得以下提示:
## On one terminal
(base) user@LS6-MS-7D04:~$ ping 10.234.123.11
PING 10.234.123.11 (10.234.123.11) 56(84) bytes of data.
64 bytes from 10.234.123.11: icmp_seq=1 ttl=64 time=0.202 ms
64 bytes from 10.234.123.11: icmp_seq=2 ttl=64 time=0.122 ms
64 bytes from 10.234.123.11: icmp_seq=3 ttl=64 time=0.172 ms
^C
--- 10.234.123.11 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2027ms
rtt min/avg/max/mdev = 0.122/0.165/0.202/0.033 ms
(base) user@LS6-MS-7D04:~$ sudo mount 10.234.123.11:/bfx_share1 /bfx_share1
## In the other terminal with nfstrace running
root@LS6-MS-7D04:/home/user# nfstrace -Z user
Log file: nfstrace.log
Read from interface: enp111s0
BPF filter : port 2049 or port 445
snapshot len: 65535 bytes
read timeout: 100 ms
buffer size : 20971520 bytes
promiscuous mode: on
capture traffic : inout
Processing packets. Press CTRL-C to quit and view results.
Detect session 10.234.123.8:902 --> 10.234.123.11:2049 [TCP]
Detect session 10.234.123.8:772 --> 10.234.123.11:2049 [TCP]
10.234.123.8:772 --> 10.234.123.11:2049 [TCP]NULL
CALL []
REPLY []
Detect session 10.234.123.8:947 --> 10.234.123.11:2049 [TCP]
10.234.123.8:947 --> 10.234.123.11:2049 [TCP]NULL
CALL []
REPLY []
查看 Ubuntu 22.04 的发行说明(Jammy Jellyfish 发行说明): https ://discourse.ubuntu.com/t/jammy-jellyfish-release-notes/24668?_ga=2.137381111.630065420.1651222708-2033241278.1650531954
有一段:
UDP disabled for NFS mounts
Since Ubuntu 20.10 (“Groovy Gorilla”), the kernel option CONFIG_NFS_DISABLE_UDP_SUPPORT=y is set and this disables using UDP as the transport for NFS mounts, regardless of NFS version.
In practice, if you try to use udp, you will get this error:
$ sudo mount f1:/storage /mnt -o udp
mount.nfs: an incorrect mount option was specified
###
NFS server
The NFS server and client packages have finally been updated to the latest upstream version.
All NFS services now read their configuration from /etc/nfs.conf and /etc/nfs.conf.d/*.conf, which is an INI-style configuration file, where each section is about one daemon or aspect of the NFS service. The old /etc/defaults/nfs-* configuration files are still left around, but are unused.
During upgrade, a conversion script is run if the package detects that the /etc/default/nfs-* files have been changed. This script is /usr/share/nfs-common/nfsconvert.py and it will read the options from /etc/defaults/nfs-* and generate /etc/nfs.conf.d/local.conf, which overrides the defaults in /etc/nfs.conf.
If the conversion script fails for some reason, the package installation or upgrade will fail, and the issue will have to be resolved. Please file a bug against nfs-utils in Launchpad 2 if you encounter such a scenario.
A new tool called nfsconf(8) can be used to query the configuration settings of /etc/nfs.conf and /etc/nfs.conf.d/*.conf.
##
the CTDB package was adjusted to work with the new NFS server version shipped in this Ubuntu 22.04
我已经提交了一份错误报告: https ://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/1970898
虽然我不完全确定原因,但我发现添加
mountvers=3
到挂载选项可以解决挂起问题。所以
导致正确的安装。
我的解释是,如果 NFS 服务器的多个版本(例如 3 和 4)在同一台服务器上运行,这
mountvers
将有助于使用正确的版本。有同样的问题,使用这个解决方案让 fstab 工作......
mountvers=4.0 也适用于我
根据https://ubuntuforums.org/showthread.php?t=2474184 ,显然问题在于它默认为4.2
对于初学者来说,Ubuntu 22.04 的 nfs-common 似乎将“nfsvers”选项更改为“mountvers”
注意:两者都
mountvers=3
适用mountvers=4
于我的 QNAP NAS 服务器。我还可以确认其他人已经发布的内容。在 Ubuntu 22.04 上,该
nfsvers
选项需要替换为mountvers
.但是在我从 20.04 LTS 迁移到 22.04 LTS 以及我的 QNAP v4.3.6.1965 之后,这仍然不起作用,之前它在 NFS4 上运行良好。
我检查了多个 stackoverflow/askubuntu/等。线程和Ubuntu升级后没有任何工作。但这是对我真正有用的东西(还没有找出根本原因):
mountvers=4.0
而不是nfsvers
作为 in/etc/fstab
或您的mount
呼叫的选项mountvers=4.0
仅使用 NFS3 最终在挂载期间使用并且唯一真正起作用的东西。所以(不幸的是)确保在 QNAP 的 NFS 设置中也启用 NFS3。mount.nfs: mount(2): Permission denied
QNAP 的回复,请将 QNAP 的 NFS 主机访问设置中的任何主机名调整为 IP 地址!尤其是关于主机名与 IP 地址的最后一点是这里最大的障碍!我不知道为什么现在需要这样做,因为它在 Ubuntu 22.04 上可以正常使用主机名,并且机器仍然具有正确配置的相同主机名。
希望这对其他人也有帮助。