16.04 中的 NFS 客户端有什么问题

16.04 中的 NFS 客户端有什么问题

我在 16.04 中遇到了 NFS 的奇怪问题。

我正在尝试将我的服务器(通过重新安装)从 14.04 升级到 16.04。这些服务器访问托管在具有 ZFS 存储的 OmniOS 服务器上的一些 NFS 共享。所有内容都虚拟化在同一个 ESXi 主机上并连接到同一个 vSwitch,从而为它们提供 10Gb 内部网络(这里的限制因素应该是驱动器)。

在 14.04 上,NFS 读取速度还可以 (> 100 MB/s),但在 16.06 上,NFS 读取在几秒内就会停止 (500 kB - 3 MB/s)。等待 IO (最高) 增加到 99.9 %。

共享是相同的,服务器的设置也“完全相同”,包括磁盘、存储和网络。NFS 共享使用默认选项安装。两种情况下的写入速度似乎都还不错。

是什么赋予了?

从 16.04 开始运行的示例 rsync,先读取,然后写入(一段时间后必须 ^C ):

lch@ub-test:~$ rsync --progress /mnt/multimedia/ubuntu-16.04.1-desktop-amd64.iso .
ubuntu-16.04.1-桌面-amd64.iso
    374,374,400 24% 456.86kB/秒 0:41:32 ^C
rsync 错误:在 rsync.c(632) [sender=3.1.1] 处收到 SIGINT、SIGTERM 或 SIGHUP (代码 20)
rsync:[发送方] 写入错误:管道损坏(32)

lch@ub-test:~$ rsync --progress ubuntu-16.04.1-desktop-amd64.iso /mnt/multimedia/ubuntu-16.04.1-desktop-amd64.iso.ub-test
ubuntu-16.04.1-桌面-amd64.iso
  1,513,308,160 100% 178.83MB/s 0:00:08(xfr#1,to-chk=0/1)
lch@ub-test:~$

从 14.04 开始运行示例 rsync,先读取,然后写入:

    lch @ utility:~$ rsync --progress /mnt/multimedia/ubuntu-16.04.1-desktop-amd64.iso 。
ubuntu-16.04.1-桌面-amd64.iso
  1,513,308,160 100% 127.14MB/s 0:00:11(xfr#1,to-chk=0/1)

lch@utility:~$ rsync --progress ubuntu-16.04.1-desktop-amd64.iso /mnt/multimedia/ubuntu-16.04.1-desktop-amd64.iso.utility
ubuntu-16.04.1-桌面-amd64.iso
  1,513,308,160 100% 244.77MB/s 0:00:05(xfr#1,to-chk=0/1)

问候,Lch

答案1

啊,问题在于没有设置 rsize=32768,wsize=32768。

我使用默认值进行挂载,并假设这没有改变。但事实确实如此,并且 14.04 不会像 16.04 那样在挂载列表中显示默认值。这就是我没有早点发现它的原因。

NFS 挂载的 rsize/wsize 默认值在 16.04 中更改为 1048576。

相关内容