qemu-kvm VM 在 vi​​rtio 驱动器的 iowait 处挂起

qemu-kvm VM 在 vi​​rtio 驱动器的 iowait 处挂起

我们发现虚拟机挂起的情况有以下症状:

  • 平均负载 800,进程卡住,CPU 处于 iowait 状态 100%
  • 读取文件有效,写入文件挂起系统
  • RAM 利用率较高,但系统正常运行时这是正常现象
  • /var/log/messages 没有显示任何可疑内容:没有内核崩溃,没有 OOM 终止,但我们有一些内核堆栈跟踪,例如被阻止超过 120 秒的任务以及与存储相关的堆栈跟踪。
  • 虚拟机管理程序显示虚拟机的 CPU 利用率几乎处于空闲状态。重新启动系统是使其重新运行的唯一方法。
  • dmesg 上的堆栈跟踪显示内核任务在 io_write / sync 系统调用中挂起超过 120 秒

虚拟机管理程序是 Oracle Enterprise Linux 7.2,VM 是 CentOS 6.6。它正在运行 jboss 设备。块设备类型为 virtio。qcow 驱动器本地托管在虚拟机管理程序的 SSD 中。我们怀疑文件系统 -> 块设备 -> virtio 层出了问题。

相关内容