Tenía una qemu
máquina virtual que se bloqueó varias veces porque HDD en el hipervisor no tenía espacio libre. Esto me hizo preguntarme si existe la posibilidad de configurar un registro / depuración para quemu
máquinas virtuales. Traté de iniciar la máquina virtual con el -D /tmp/qemu-debug-log
comando:
qemu-system-i386 -D /tmp/qemu-debug-log -monitor pty -device e1000,netdev=tap0 -netdev tap,id=tap0 -m 512M -display vnc=:1 -drive file=FreeBSD10.2
..pero esto ni siquiera creó un /tmp/qemu-debug-log
archivo.
Además, qemu
no parece escribir en el messages
kernel ring buffer ( dmesg
). ¿Cuáles son las mejores prácticas para habilitar el registro para qemu
máquinas virtuales?
qemu
directamente y no a través de herramientas que usan,libvirt
que a su vez deberían usar ellibvirt
qemu
controlador.Respuestas:
qemu
El comando acepta un-d
interruptor simple que crea un archivo de registro llamado/tmp/qemu.log
.Puede acceder a más opciones de registro / depuración a través de QEMU Monitor (por ejemplo
qemu -monitor stdio
).fuente
Cualquier opción de registro proporcionada por QEMU tendrá un nivel demasiado bajo para lo que necesita: su problema no es que el hardware virtual se esté portando mal, solo que el software dentro de la VM necesita atención.
A este respecto, una máquina virtual no es diferente a una máquina real, y la solución es la misma. Su pregunta sugiere que la máquina virtual está ejecutando FreeBSD, por lo que debe verificar el uso
rsyslog
para enviar los registros a un servidor syslog externo (que podría ser su máquina host) a través de la conexión de red.(No estoy muy familiarizado con los BSD, por lo que no estoy 100% seguro de que
rsyslog
sea la solución correcta o única aquí, pero esa palabra clave debería ayudarlo a comenzar).fuente
Si utiliza el
-d <component>
parámetro al iniciar QEMU, habilitará la depuración para ese componente. Esto es útil si tiene el código fuente QEMU y desea ver los debugs detallados para un componente dado.Por ejemplo, pasar
-d cpu_reset
habilitará la depuración CPU_LOG_RESET que "mostrará el estado de la CPU antes de que se reinicie la CPU". Consulte qemu / util / log.c para obtener una lista completa de las opciones de registro.De forma predeterminada, los registros se escriben en /tmp/qemu.log, pero puede especificar un archivo de registro diferente con el
-D <logfile>
parámetro.fuente