我已经在 OpenBSD 4.9 上设置了 NFS 服务器。客户端是 Arch Linux x86-64。该挂载对于小文件没有问题,但当尝试读取大文件(在示例中为 7.4G iso 文件)时,它会冻结。任何试图从中读取数据的程序似乎都会被卡住。例如我尝试过
hexdump -n 100 big.iso
它最终什么也没做。我最终不得不杀死 hexdump 并且总是必须在 NFS 挂载上强制卸载。
我在 Linux 上安装它:
sudo mount -t nfs -o noatime,intr,vers=3 192.168.1.50:/home/shared /mnt
OpenBSD /etc/exports 文件如下:
/home/shared -alldirs -ro -mapall=remote -network=192.168.1.0 -mask=255.255.255.0
我已经检查过并在共享目录中制作一个小文本文件可以从 Linux 读取。并且小文本文件和大iso文件具有相同的权限和所有者。
有没有其他人有这个问题?根据手册页,OpenBSD 的 nfs 服务器应该实现 NFSv3。
答案1
我强迫 Linux 使用 UDP 而不是 TCP 来安装它,现在一切似乎都工作正常。
答案2
通常,当您在 Linux 上安装 BSD 的导出时,您必须调整以下内容:
mount -f nfs **-o rsize=1024,wsize=1024** bsdserver:/share /my/linux/directory
不然就慢得像猪一样...