registrazione e debug per macchine virtuali qemu


12

Avevo una qemumacchina virtuale che si è schiantata più volte perché l'HDD nell'hypervisor non aveva più spazio. Questo mi ha fatto meravigliare che esista la possibilità di impostare una registrazione / debug per quemumacchine virtuali. Ho provato ad avviare la macchina virtuale con il -D /tmp/qemu-debug-logcomando:

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

..ma questo non ha nemmeno creato un /tmp/qemu-debug-logfile.

Inoltre, qemunon sembra scrivere nel messageskernel ring buffer ( dmesg). Quali sono le migliori pratiche per abilitare la registrazione per qemule macchine virtuali?


Hai mai provato a usare le funzioni di libvirt?
Willian Paixao,

Preferirei lavorare qemudirettamente e non attraverso strumenti che utilizzano libvirta loro volta libvirt qemudriver.
Martin,

Risposte:


10

qemuIl comando accetta una semplice -dopzione che crea un file di registro chiamato /tmp/qemu.log.

Puoi accedere a più opzioni di registrazione / debug tramite QEMU Monitor (ad es qemu -monitor stdio.).


3

Qualsiasi opzione di registrazione fornita da QEMU sarà di livello troppo basso per ciò di cui hai bisogno: il tuo problema non è che l'hardware virtuale si sta comportando male, ma solo che il software all'interno della VM ha bisogno di attenzione.

A questo proposito, una macchina virtuale non è diversa da una macchina reale e la soluzione è la stessa. La tua domanda suggerisce che la VM stia eseguendo FreeBSD, quindi dovresti fare il checkout usando rsyslogper inviare i log a un server syslog esterno (che potrebbe essere il tuo computer host) tramite la connessione di rete.

(Non ho molta familiarità con i BSD, quindi non sono sicuro al 100% che rsyslogsia la soluzione giusta o unica qui, ma quella parola chiave dovrebbe iniziare.)


0

Se si utilizza il -d <component>parametro all'avvio di QEMU, abiliterà il debug per quel componente. Ciò è utile se si dispone del codice sorgente QEMU e si desidera visualizzare debug dettagliati per un determinato componente.

Ad esempio, il passaggio -d cpu_resetabiliterà il debug CPU_LOG_RESET che "mostrerà lo stato della CPU prima del ripristino della CPU". Vedere qemu / util / log.c per un elenco completo delle opzioni di registrazione.

Per impostazione predefinita, i registri sono scritti in /tmp/qemu.log, ma è possibile specificare un file di registro diverso con il -D <logfile>parametro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.