У меня есть три гостя Windows XP, работающих в недавно обновленной 64-битной системе Ubuntu 10.04. Иногда (примерно раз в несколько дней) один из гостей перестает отвечать, и процесс kvm на хосте, на котором запущен этот гость, начинает использовать 100% ЦП. Он будет продолжать это делать, пока не будет убит. При перезапуске какое-то время все будет в порядке, а затем проблема повторится.
Командная строка kvm, используемая для запуска всех трех гостей, следующая:
/usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 1024 -smp 1 -name bigdog21vmxp1 \
-uuid ea47ff84-125b-16f7-9a4d-a6d0d8bab46a \
-chardev socket,id=monitor,path=/var/lib/libvirt/qemu/bigdog21vmxp1.monitor,server,nowait \
-monitor chardev:monitor \
-localtime \
-boot c \
-drive file=/var/lib/libvirt/images/windowsxp-1.qcow2,if=ide,index=0,boot=on,format=qcow2 \
-net nic,macaddr=54:52:00:02:06:0e,vlan=0,name=nic.0 \
-net tap,fd=58,vlan=0,name=tap.0 \
-chardev pty,id=serial0 \
-serial chardev:serial0 \
-parallel none \
-usb \
-usbdevice tablet \
-vnc 127.0.0.1:1 \
-k en-us \
-vga cirrus \
-soundhw es1370
Почему иногда системы так плохо себя ведут? И какую конфигурацию я могу изменить, чтобы это исправить? Или, если проблема связана с ошибкой в kvm, каков процесс выявления сбоя kvm, чтобы разработчики имели возможность исправить его?
Лучший способ отладить это - удалить все, кроме необходимых аргументов, и добавить удаленные аргументы, пока он снова не сломается. Это единственный способ найти свою проблему в прошлый раз (на uec 10.10).
Какова вероятность того, что проблема возникает всякий раз, когда гость Windows пытается перезагрузить (например, после автоматического обновления)? Я всегда получал зависания при перезапуске от гостей Windows в libvirt + kvm на Ubuntu Jaunty; теперь, когда мой хост работает под управлением Debian Squeeze, этого больше не происходит.