使用 fio 连续向 NFS 共享发送 IO 并偶尔获取"Input/output error"



我正在使用的脚本如下:

for n in {1..70}; do
fio --name=randrw$( printf %09d "$n" ) --ioengine=libaio --iodepth=128 --rw=randrw --bs=128k --direct=1 --size=50M --numjobs=300 --runtime=2400 --time_based --group_reporting >> ./fio.log
done

错误如下所示,它几乎发生在不同的文件或同一文件中一百次多次。我在谷歌上搜索了类似的问题,但大多数问题只是在他们运行 fio 命令后立即发生的,但不是我的情况。我的错误发生在一段时间的中间。

fio: io_u error on file randrw000000042.234.0: Input/output error
write offset=41549824, buflen=131072
fio: io_u error on file randrw000000042.108.0: Input/output error
write offset=11927552, buflen=131072
fio: io_u error on file randrw000000042.108.0: Input/output error
write offset=34865152, buflen=131072

我和 NFS 服务器端交谈,他们发现当时服务器很忙,写入不成功,所以服务器返回"写入大小 = 0"。似乎 fio 没有处理此返回,或者它实际上是 NFS 服务器错误?

顺便说一句,fio 版本是 fio-2.1.3。

谢谢!

看起来这个问题是在 fio 的 github 问题跟踪器上被问到的(我会说邮件列表本来是更好的地方),并且证据表明 NFS 服务器被 I/O 过载,以至于它决定告诉客户端它没有尝试完成一些 I/O。

最新更新