최근 업그레이드된 64비트 Ubuntu 10.04 시스템에서 Windows XP 게스트 3개가 실행되고 있습니다. 가끔(며칠에 한 번씩) 게스트 중 하나가 응답하지 않게 되고 해당 게스트를 실행 중인 호스트의 kvm 프로세스가 CPU를 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 게스트가 다시 시작하려고 할 때마다(예: 자동 업데이트 후) 문제가 발생할 가능성은 얼마나 됩니까? Ubuntu Jaunty의 libvirt+kvm에서 Windows 게스트로부터 항상 재시작 시 정지 동작이 발생했습니다. 이제 내 호스트가 Debian Squeeze를 실행하고 있으므로 그런 일은 더 이상 발생하지 않습니다.