我正在管理许多 libvirt 虚拟机管理程序,其中虚拟机数据存储在 NFS 服务器上。
我在虚拟机管理程序的 CPU 上遇到了高 I/O 等待的情况,因此决定进行更深入的研究。的输出iotop
显示进程的 io 速度非常慢:
我决定看一下nfsiostat
:
192.168.20.6:/vms/vmsfs mounted on /mnt/vms:
ops/s rpc bklog
185.786 0.000
read: ops/s kB/s kB/op retrans avg RTT (ms) avg exe (ms)
13.158 2806.170 213.268 0 (0.0%) 7.583 23.431
write: ops/s kB/s kB/op retrans avg RTT (ms) avg exe (ms)
150.745 2750.688 18.247 31 (0.0%) 35.196 828.924
正如您所看到的,系统报告了非常高的avg RTT
和avg exe
。
nfsiostat -a
报告如下:
192.168.20.6:/vms/vmsfs mounted on /mnt/vms:
ops/s rpc bklog
185.786 0.000
getattr: ops/s kB/s kB/op retrans avg RTT (ms) avg exe (ms)
5.631 2.326 0.413 0 (0.0%) 4.644 10.792
access: ops/s kB/s kB/op retrans avg RTT (ms) avg exe (ms)
0.001 0.000 0.344 0 (0.0%) 7.873 9.911
186771 VFS opens
15897283 inoderevalidates (forced GETATTRs)
9734677 page cache invalidations
159935979 attribute cache invalidations
安装选项如下:
192.168.20.6:/vms/vmsfs on /mnt/vms type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.20.4,local_lock=none,addr=192.168.20.6)
虚拟机管理程序和 NFS 服务器均通过单独 VLAN 中的 SFP+ 直接连接到单个交换机。连接的系统均未显示 CPU 或 RAM 使用率过高。
我目前不知道从这里到哪里去,并且需要帮助采取正确的后续步骤来调试此问题。我很高兴收到您的意见。