Eu tinha uma qemu
máquina virtual que travou várias vezes porque o HDD no hipervisor não tinha mais espaço. Isso me fez pensar que existe a possibilidade de configurar um registro / depuração para quemu
máquinas virtuais. Eu tentei iniciar a máquina virtual com o -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
..mas isso nem sequer criou um /tmp/qemu-debug-log
arquivo.
Além disso, qemu
não parece gravar no messages
buffer de anel do kernel ( dmesg
). Quais são as práticas recomendadas para habilitar o log para qemu
máquinas virtuais?
qemu
diretamente e não através de ferramentas que usam aslibvirt
quais, por sua vez, devem usar olibvirt
qemu
driver.Respostas:
qemu
O comando aceita uma-d
opção simples que cria um arquivo de log chamado/tmp/qemu.log
.Você pode acessar mais opções de registro / depuração via QEMU Monitor (por exemplo
qemu -monitor stdio
).fonte
Qualquer opção de registro fornecida pelo QEMU terá um nível muito baixo para o que você precisa: seu problema não é que o hardware virtual esteja se comportando mal, apenas que o software dentro da VM precisa de atenção.
Nesse aspecto, uma VM não é diferente de uma máquina real e a solução é a mesma. Sua pergunta sugere que a VM está executando o FreeBSD; portanto, você deve
rsyslog
fazer o checkout usando para enviar os logs para um servidor syslog externo (que pode ser sua máquina host) por meio da conexão de rede.(Eu não estou muito familiarizado com os BSDs, então não tenho 100% de certeza de que
rsyslog
é a solução certa ou única aqui, mas essa palavra-chave deve ajudá-lo a começar.)fonte
Se você usar o
-d <component>
parâmetro ao iniciar o QEMU, ele habilitará a depuração para esse componente. Isso é útil se você tiver o código fonte QEMU e desejar ver depurações detalhadas para um determinado componente.Por exemplo, a passagem
-d cpu_reset
habilitará a depuração CPU_LOG_RESET, que "mostrará o estado da CPU antes da redefinição da CPU". Veja qemu / util / log.c para obter uma lista completa das opções de log.Por padrão, os logs são gravados em /tmp/qemu.log, mas você pode especificar um arquivo de log diferente com o
-D <logfile>
parâmetrofonte