ведення журналів та налагодження для віртуальних машин qemu


12

У мене була qemuвіртуальна машина, яка кілька разів зазнала аварії, оскільки на жорсткому диску в гіпервізорі не залишилось місця. Це змусило мене замислитися, чи є можливість налаштувати журнал / налагодження для quemuвіртуальних машин. Я намагався запустити віртуальну машину з -D /tmp/qemu-debug-logкомандою:

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

..але це навіть /tmp/qemu-debug-logфайл не створив .

Крім того, qemuсхоже, не записати в messagesбуфер кільця ядра ( dmesg). Які найкращі практики для ввімкнення журналу для qemuвіртуальних машин?


Чи намагалися ви замість цього використовувати функції libvirt?
Вілліан Пайсао

Я хотів би працювати з qemuбезпосередньо, а не через інструменти, які використовують libvirtу свою чергу libvirt qemuдрайвер.
Мартін

Відповіді:


10

qemuкоманда приймає простий -dперемикач, який створює файл журналу під назвою /tmp/qemu.log.

Ви можете отримати доступ до додаткових параметрів реєстрації / налагодження за допомогою QEMU Monitor (наприклад qemu -monitor stdio).


3

Будь-який варіант реєстрації, що надається QEMU, буде надто низьким для того, що вам потрібно: ваша проблема полягає не в тому, що віртуальна апаратура погано поводиться, а лише те, що програмне забезпечення всередині VM потребує уваги.

У цьому відношенні VM нічим не відрізняється від реальної машини, а рішення - те саме. Ваше запитання свідчить про те, що VM працює на FreeBSD, тому вам слід перевірити, використовуючи, rsyslogщоб натиснути журнали на зовнішній сервер syslog (який може бути вашим хост-машиною) через мережеве з'єднання.

(Я не дуже знайомий з BSD, тому я не впевнений на 100%, що rsyslogце правильне чи єдине рішення тут, але саме це ключове слово має розпочати роботу.)


0

Якщо ви використовуєте -d <component>параметр під час запуску QEMU, він дозволить налагоджувати цей компонент. Це корисно, якщо у вас є вихідний код QEMU і хочете переглянути детальні налагодження для даного компонента.

Наприклад, передача -d cpu_resetдозволить налагоджувати налагодження CPU_LOG_RESET, яка "покаже стан CPU до скидання процесора". Див QEMU / Util / log.c для повного списку параметрів ведення журналу.

За замовчуванням журнали записуються в /tmp/qemu.log, але ви можете вказати інший файл журналу з -D <logfile>параметром.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.