NFS客户端有时会挂起15秒

NFS服务器:CentOS7.1(内核3.10.0-229,nfs-utils 1.3.0)

一些客户端使用NFSv3的Ubuntu Precise(12.04)…他们工作正常。

有问题的客户端使用NFSv4.1(或NFSv4.0)运行CentOS7.1。 他们大多数时间,事情工作正常。 但是有时候,写一个文件会导致15秒的超时。 这些是小文件(<10KiB)。

15秒后,写入完成,文件具有正确的内容。

最明显的时间是用vi保存文件。 它只发生在大约5%的时间(但是因为它非常令人沮丧,感觉比实际情况更频繁)。

今天发生在数百个文件(每个2KiB – 5KiB)上运行rsync时。 我能够在rsync过程中运行strace,并且发现它正在发生超过50%的时间。

# sudo strace -ttt -T -p 14186 Process 14186 attached 1452694932.030892 select(9, [8], [], NULL, {55, 59875}) = 1 (in [8], left {44, 963900}) <10.096109> 1452694942.127262 read(8, "\4\0\0k\10\3\0\0", 8184) = 8 <0.000038> 1452694942.127378 select(9, [8], [], NULL, {60, 0}) = 1 (in [8], left {59, 997018}) <0.003029> 1452694942.130529 read(8, "\4\0\0k\t\3\0\0", 8184) = 8 <0.000040> 1452694942.130715 select(9, [8], [], NULL, {60, 0}) = 1 (in [8], left {44, 963694}) <15.036348> 1452694957.167236 read(8, "\4\0\0k\n\3\0\0", 8184) = 8 <0.000071> 1452694957.167419 select(9, [8], [], NULL, {60, 0}) = 1 (in [8], left {59, 996528}) <0.003572> 1452694957.171122 read(8, "\4\0\0k\v\3\0\0", 8184) = 8 <0.000112> 1452694957.171340 select(9, [8], [], NULL, {60, 0}) = 1 (in [8], left {44, 964372}) <15.035715> 1452694972.207210 read(8, "\4\0\0k\f\3\0\0", 8184) = 8 <0.000026> 1452694972.207303 select(9, [8], [], NULL, {60, 0}) = 1 (in [8], left {44, 960236}) <15.039908> 1452694987.247375 read(8, "\4\0\0k\r\3\0\0", 8184) = 8 <0.000111> 1452694987.247616 select(9, [8], [], NULL, {60, 0}) = 1 (in [8], left {44, 960455}) <15.039628> 1452695002.287486 read(8, "\4\0\0k\16\3\0\0", 8184) = 8 <0.000100> 1452695002.287665 select(9, [8], [], NULL, {60, 0}) = 1 (in [8], left {59, 996177}) <0.004000> 1452695002.291819 read(8, "\4\0\0k\17\3\0\0", 8184) = 8 <0.000089> 1452695002.292014 select(9, [8], [], NULL, {60, 0}) = 1 (in [8], left {44, 964982}) <15.035132> 1452695017.327303 read(8, "\4\0\0k\20\3\0\0", 8184) = 8 <0.000082> 1452695017.327491 select(9, [8], [], NULL, {60, 0}) = 1 (in [8], left {59, 995793}) <0.004300> 1452695017.331931 read(8, "\4\0\0k\21\3\0\0", 8184) = 8 <0.000052> 

我还没有看到有人问这个问题。 我是一个人吗?

编辑:

安装选项:

 nfs:/storage on /space type nfs4 (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=14,retrans=2,sec=sys,clientaddr=10.12.32.4,local_lock=none,addr=10.12.32.31) 

/ etc / exports的内容:

 /storage 10.0.0.0/8(rw,async,no_root_squash,no_subtree_check,mp=/storage) 

在另一个rsyncsubprocess上运行strace,显示它在rename()调用期间挂起。 这导致我发现这是这个错误:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799838

我已经通过设置noatime挂载选项来解决它。