У меня три гостевых системы 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, чтобы у разработчиков была возможность исправить его?
решение1
Лучший способ отладки этого — удалить все, кроме необходимых аргументов, и добавлять удаленные аргументы, пока это снова не сломается. Это единственный способ, которым я смог найти свою проблему в прошлый раз (на uec 10.10).
решение2
Каковы шансы, что проблема возникает всякий раз, когда гостевая система Windows пытается перезапуститься (например, после автоматического обновления)? Я всегда сталкивался с поведением зависания при перезапуске гостевых систем Windows под libvirt+kvm на Ubuntu Jaunty; теперь, когда на моем хосте запущен Debian Squeeze, этого больше не происходит.